diff --git a/.ci-mgmt.yaml b/.ci-mgmt.yaml index d57756d4..bc4ddd04 100644 --- a/.ci-mgmt.yaml +++ b/.ci-mgmt.yaml @@ -13,3 +13,6 @@ plugins: - name: gcp version: "5.0.0" team: ecosystem +license: + ignore: + - github.com/mongodb/terraform-provider-mongodbatlas/shim diff --git a/.github/workflows/license.yml b/.github/workflows/license.yml index e0f776d3..980c16a6 100644 --- a/.github/workflows/license.yml +++ b/.github/workflows/license.yml @@ -59,6 +59,7 @@ jobs: with: module-path: provider ignore-modules: >- + github.com/mongodb/terraform-provider-mongodbatlas/shim, github.com/aead/chacha20, github.com/apache/arrow/go/v12, github.com/apache/thrift/lib/go/thrift, diff --git a/provider/cmd/pulumi-resource-mongodbatlas/bridge-metadata.json b/provider/cmd/pulumi-resource-mongodbatlas/bridge-metadata.json index 7e2ae417..5661ca3b 100644 --- a/provider/cmd/pulumi-resource-mongodbatlas/bridge-metadata.json +++ b/provider/cmd/pulumi-resource-mongodbatlas/bridge-metadata.json @@ -3268,6 +3268,8 @@ }, "mongodbatlas:index/backupCompliancePolicy:BackupCompliancePolicy": { "authorizedEmail": "authorized_email", + "authorizedUserFirstName": "authorized_user_first_name", + "authorizedUserLastName": "authorized_user_last_name", "copyProtectionEnabled": "copy_protection_enabled", "encryptionAtRestEnabled": "encryption_at_rest_enabled", "onDemandPolicyItem": "on_demand_policy_item", @@ -3890,6 +3892,8 @@ }, "mongodbatlas:index/getBackupCompliancePolicy:getBackupCompliancePolicy": { "authorizedEmail": "authorized_email", + "authorizedUserFirstName": "authorized_user_first_name", + "authorizedUserLastName": "authorized_user_last_name", "copyProtectionEnabled": "copy_protection_enabled", "encryptionAtRestEnabled": "encryption_at_rest_enabled", "onDemandPolicyItem": "on_demand_policy_item", diff --git a/provider/cmd/pulumi-resource-mongodbatlas/schema.json b/provider/cmd/pulumi-resource-mongodbatlas/schema.json index 4f9be0f5..6a853e5b 100644 --- a/provider/cmd/pulumi-resource-mongodbatlas/schema.json +++ b/provider/cmd/pulumi-resource-mongodbatlas/schema.json @@ -25,7 +25,7 @@ "generateExtraInputTypes": true }, "nodejs": { - "packageDescription": "A Pulumi package for creating and managing mongodbatlas cloud resources.. Based on terraform-provider-mongodbatlas: version vdevel", + "packageDescription": "A Pulumi package for creating and managing mongodbatlas cloud resources.", "readme": "\u003e This provider is a derived work of the [Terraform Provider](https://github.com/mongodb/terraform-provider-mongodbatlas)\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-mongodbatlas` repo](https://github.com/pulumi/pulumi-mongodbatlas/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-mongodbatlas` repo](https://github.com/mongodb/terraform-provider-mongodbatlas/issues).", "dependencies": { "@pulumi/pulumi": "^3.0.0" @@ -10872,14 +10872,14 @@ "properties": { "projectId": { "type": "string", - "description": "Project ID to assign to Access Key\n" + "description": "The unique ID for the project.\n" }, "roleNames": { "type": "array", "items": { "type": "string" }, - "description": "List of Project roles that the Programmatic API key needs to have. Ensure you provide: at least one role and ensure all roles are valid for the Project. You must specify an array even if you are only associating a single role with the Programmatic API key. The [MongoDB Documentation](https://www.mongodb.com/docs/atlas/reference/user-roles/#project-roles) describes the valid roles that can be assigned.\n\n\nSee [MongoDB Atlas API - API Keys](https://www.mongodb.com/docs/atlas/reference/api/projectApiKeys/get-all-apiKeys-in-one-project/) - Documentation for more information.\n" + "description": "List of Project roles that the Programmatic API key needs to have. Ensure you provide: at least one role and ensure all roles are valid for the Project. You must specify an array even if you are only associating a single role with the Programmatic API key. The [MongoDB Documentation](https://www.mongodb.com/docs/atlas/reference/user-roles/#project-roles) describes the valid roles that can be assigned.\n" } }, "type": "object", @@ -12486,6 +12486,14 @@ "type": "string", "description": "Email address of a security or legal representative for the Backup Compliance Policy who is authorized to update the Backup Compliance Policy settings.\n" }, + "authorizedUserFirstName": { + "type": "string", + "description": "First name of the user who authorized to update the Backup Compliance Policy settings.\n" + }, + "authorizedUserLastName": { + "type": "string", + "description": "Last name of the user who authorized to update the Backup Compliance Policy settings.\n" + }, "copyProtectionEnabled": { "type": "boolean", "description": "Flag that indicates whether to enable additional backup copies for the cluster. If unspecified, this value defaults to false.\n" @@ -12542,6 +12550,8 @@ }, "required": [ "authorizedEmail", + "authorizedUserFirstName", + "authorizedUserLastName", "copyProtectionEnabled", "encryptionAtRestEnabled", "onDemandPolicyItem", @@ -12557,6 +12567,14 @@ "type": "string", "description": "Email address of a security or legal representative for the Backup Compliance Policy who is authorized to update the Backup Compliance Policy settings.\n" }, + "authorizedUserFirstName": { + "type": "string", + "description": "First name of the user who authorized to update the Backup Compliance Policy settings.\n" + }, + "authorizedUserLastName": { + "type": "string", + "description": "Last name of the user who authorized to update the Backup Compliance Policy settings.\n" + }, "copyProtectionEnabled": { "type": "boolean", "description": "Flag that indicates whether to enable additional backup copies for the cluster. If unspecified, this value defaults to false.\n" @@ -12601,6 +12619,8 @@ }, "requiredInputs": [ "authorizedEmail", + "authorizedUserFirstName", + "authorizedUserLastName", "copyProtectionEnabled", "encryptionAtRestEnabled", "onDemandPolicyItem", @@ -12614,6 +12634,14 @@ "type": "string", "description": "Email address of a security or legal representative for the Backup Compliance Policy who is authorized to update the Backup Compliance Policy settings.\n" }, + "authorizedUserFirstName": { + "type": "string", + "description": "First name of the user who authorized to update the Backup Compliance Policy settings.\n" + }, + "authorizedUserLastName": { + "type": "string", + "description": "Last name of the user who authorized to update the Backup Compliance Policy settings.\n" + }, "copyProtectionEnabled": { "type": "boolean", "description": "Flag that indicates whether to enable additional backup copies for the cluster. If unspecified, this value defaults to false.\n" @@ -13607,6 +13635,7 @@ "authorizedDate", "createdDate", "featureUsages", + "iamAssumedRoleArn", "projectId", "providerName", "roleId" @@ -14047,6 +14076,7 @@ "backingProviderName", "backupEnabled", "biConnectorConfig", + "cloudBackup", "clusterId", "clusterType", "connectionStrings", @@ -16562,6 +16592,7 @@ "provisioned", "region", "regionName", + "regions", "vnetName", "vpcId" ], @@ -16663,7 +16694,7 @@ } }, "mongodbatlas:index/networkPeering:NetworkPeering": { - "description": "`mongodbatlas.NetworkPeering` provides a Network Peering Connection resource. The resource lets you create, edit and delete network peering connections. The resource requires your Project ID. \n\nEnsure you have first created a network container if it is required for your configuration. See the network_container resource documentation to determine if you need a network container first. Examples for creating both container and peering resource are shown below as well as examples for creating the peering connection only.\n\n\u003e **GCP AND AZURE ONLY:** Connect via Peering Only mode is deprecated, so no longer needed. See disable Peering Only mode to disable.\n\n\u003e **AZURE ONLY:** To create the peering request with an Azure VNET, you must grant Atlas the following permissions on the virtual network.\n Microsoft.Network/virtualNetworks/virtualNetworkPeerings/read\n Microsoft.Network/virtualNetworks/virtualNetworkPeerings/write\n Microsoft.Network/virtualNetworks/virtualNetworkPeerings/delete\n Microsoft.Network/virtualNetworks/peer/action\nFor more information see https://docs.atlas.mongodb.com/security-vpc-peering/ and https://docs.atlas.mongodb.com/reference/api/vpc-create-peering-connection/\n\n\u003e **Create a Whitelist:** Ensure you whitelist the private IP ranges of the subnets in which your application is hosted in order to connect to your Atlas cluster. See the project_ip_whitelist resource.\n\n\u003e **NOTE:** Groups and projects are synonymous terms. You may find **group_id** in the official documentation.\n\n\n{{% examples %}}\n## Example Usage\n\n### Container \u0026 Peering Connection\n{{% example %}}\n### Example with AWS\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\n// Container example provided but not always required, \n// see network_container documentation for details. \nconst testNetworkContainer = new mongodbatlas.NetworkContainer(\"testNetworkContainer\", {\n projectId: local.project_id,\n atlasCidrBlock: \"10.8.0.0/21\",\n providerName: \"AWS\",\n regionName: \"US_EAST_1\",\n});\n// Create the peering connection request\nconst testNetworkPeering = new mongodbatlas.NetworkPeering(\"testNetworkPeering\", {\n accepterRegionName: \"us-east-1\",\n projectId: local.project_id,\n containerId: \"507f1f77bcf86cd799439011\",\n providerName: \"AWS\",\n routeTableCidrBlock: \"192.168.0.0/24\",\n vpcId: \"vpc-abc123abc123\",\n awsAccountId: \"abc123abc123\",\n});\n// the following assumes an AWS provider is configured\n// Accept the peering connection request\nconst peer = new aws.ec2.VpcPeeringConnectionAccepter(\"peer\", {\n vpcPeeringConnectionId: testNetworkPeering.connectionId,\n autoAccept: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_mongodbatlas as mongodbatlas\n\n# Container example provided but not always required, \n# see network_container documentation for details. \ntest_network_container = mongodbatlas.NetworkContainer(\"testNetworkContainer\",\n project_id=local[\"project_id\"],\n atlas_cidr_block=\"10.8.0.0/21\",\n provider_name=\"AWS\",\n region_name=\"US_EAST_1\")\n# Create the peering connection request\ntest_network_peering = mongodbatlas.NetworkPeering(\"testNetworkPeering\",\n accepter_region_name=\"us-east-1\",\n project_id=local[\"project_id\"],\n container_id=\"507f1f77bcf86cd799439011\",\n provider_name=\"AWS\",\n route_table_cidr_block=\"192.168.0.0/24\",\n vpc_id=\"vpc-abc123abc123\",\n aws_account_id=\"abc123abc123\")\n# the following assumes an AWS provider is configured\n# Accept the peering connection request\npeer = aws.ec2.VpcPeeringConnectionAccepter(\"peer\",\n vpc_peering_connection_id=test_network_peering.connection_id,\n auto_accept=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Container example provided but not always required, \n // see network_container documentation for details. \n var testNetworkContainer = new Mongodbatlas.NetworkContainer(\"testNetworkContainer\", new()\n {\n ProjectId = local.Project_id,\n AtlasCidrBlock = \"10.8.0.0/21\",\n ProviderName = \"AWS\",\n RegionName = \"US_EAST_1\",\n });\n\n // Create the peering connection request\n var testNetworkPeering = new Mongodbatlas.NetworkPeering(\"testNetworkPeering\", new()\n {\n AccepterRegionName = \"us-east-1\",\n ProjectId = local.Project_id,\n ContainerId = \"507f1f77bcf86cd799439011\",\n ProviderName = \"AWS\",\n RouteTableCidrBlock = \"192.168.0.0/24\",\n VpcId = \"vpc-abc123abc123\",\n AwsAccountId = \"abc123abc123\",\n });\n\n // the following assumes an AWS provider is configured\n // Accept the peering connection request\n var peer = new Aws.Ec2.VpcPeeringConnectionAccepter(\"peer\", new()\n {\n VpcPeeringConnectionId = testNetworkPeering.ConnectionId,\n AutoAccept = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\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 := mongodbatlas.NewNetworkContainer(ctx, \"testNetworkContainer\", \u0026mongodbatlas.NetworkContainerArgs{\n\t\t\tProjectId: pulumi.Any(local.Project_id),\n\t\t\tAtlasCidrBlock: pulumi.String(\"10.8.0.0/21\"),\n\t\t\tProviderName: pulumi.String(\"AWS\"),\n\t\t\tRegionName: pulumi.String(\"US_EAST_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestNetworkPeering, err := mongodbatlas.NewNetworkPeering(ctx, \"testNetworkPeering\", \u0026mongodbatlas.NetworkPeeringArgs{\n\t\t\tAccepterRegionName: pulumi.String(\"us-east-1\"),\n\t\t\tProjectId: pulumi.Any(local.Project_id),\n\t\t\tContainerId: pulumi.String(\"507f1f77bcf86cd799439011\"),\n\t\t\tProviderName: pulumi.String(\"AWS\"),\n\t\t\tRouteTableCidrBlock: pulumi.String(\"192.168.0.0/24\"),\n\t\t\tVpcId: pulumi.String(\"vpc-abc123abc123\"),\n\t\t\tAwsAccountId: pulumi.String(\"abc123abc123\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcPeeringConnectionAccepter(ctx, \"peer\", \u0026ec2.VpcPeeringConnectionAccepterArgs{\n\t\t\tVpcPeeringConnectionId: testNetworkPeering.ConnectionId,\n\t\t\tAutoAccept: pulumi.Bool(true),\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.mongodbatlas.NetworkContainer;\nimport com.pulumi.mongodbatlas.NetworkContainerArgs;\nimport com.pulumi.mongodbatlas.NetworkPeering;\nimport com.pulumi.mongodbatlas.NetworkPeeringArgs;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionAccepter;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionAccepterArgs;\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 testNetworkContainer = new NetworkContainer(\"testNetworkContainer\", NetworkContainerArgs.builder() \n .projectId(local.project_id())\n .atlasCidrBlock(\"10.8.0.0/21\")\n .providerName(\"AWS\")\n .regionName(\"US_EAST_1\")\n .build());\n\n var testNetworkPeering = new NetworkPeering(\"testNetworkPeering\", NetworkPeeringArgs.builder() \n .accepterRegionName(\"us-east-1\")\n .projectId(local.project_id())\n .containerId(\"507f1f77bcf86cd799439011\")\n .providerName(\"AWS\")\n .routeTableCidrBlock(\"192.168.0.0/24\")\n .vpcId(\"vpc-abc123abc123\")\n .awsAccountId(\"abc123abc123\")\n .build());\n\n var peer = new VpcPeeringConnectionAccepter(\"peer\", VpcPeeringConnectionAccepterArgs.builder() \n .vpcPeeringConnectionId(testNetworkPeering.connectionId())\n .autoAccept(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Container example provided but not always required, \n # see network_container documentation for details.\n testNetworkContainer:\n type: mongodbatlas:NetworkContainer\n properties:\n projectId: ${local.project_id}\n atlasCidrBlock: 10.8.0.0/21\n providerName: AWS\n regionName: US_EAST_1\n # Create the peering connection request\n testNetworkPeering:\n type: mongodbatlas:NetworkPeering\n properties:\n accepterRegionName: us-east-1\n projectId: ${local.project_id}\n containerId: 507f1f77bcf86cd799439011\n providerName: AWS\n routeTableCidrBlock: 192.168.0.0/24\n vpcId: vpc-abc123abc123\n awsAccountId: abc123abc123\n # the following assumes an AWS provider is configured\n # Accept the peering connection request\n peer:\n type: aws:ec2:VpcPeeringConnectionAccepter\n properties:\n vpcPeeringConnectionId: ${testNetworkPeering.connectionId}\n autoAccept: true\n```\n{{% /example %}}\n{{% example %}}\n### Example with GCP\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcp from \"@pulumi/gcp\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\n// Container example provided but not always required, \n// see network_container documentation for details. \nconst testNetworkContainer = new mongodbatlas.NetworkContainer(\"testNetworkContainer\", {\n projectId: local.project_id,\n atlasCidrBlock: \"10.8.0.0/21\",\n providerName: \"GCP\",\n});\n// Create the peering connection request\nconst testNetworkPeering = new mongodbatlas.NetworkPeering(\"testNetworkPeering\", {\n projectId: local.project_id,\n containerId: testNetworkContainer.containerId,\n providerName: \"GCP\",\n gcpProjectId: local.GCP_PROJECT_ID,\n networkName: \"default\",\n});\nconst default = gcp.compute.getNetwork({\n name: \"default\",\n});\n// Create the GCP peer\nconst peering = new gcp.compute.NetworkPeering(\"peering\", {\n network: _default.then(_default =\u003e _default.selfLink),\n peerNetwork: pulumi.interpolate`https://www.googleapis.com/compute/v1/projects/${testNetworkPeering.atlasGcpProjectId}/global/networks/${testNetworkPeering.atlasVpcName}`,\n});\n// Create the cluster once the peering connection is completed\nconst testCluster = new mongodbatlas.Cluster(\"testCluster\", {\n projectId: local.project_id,\n numShards: 1,\n clusterType: \"REPLICASET\",\n replicationSpecs: [{\n numShards: 1,\n regionsConfigs: [{\n regionName: \"US_EAST_4\",\n electableNodes: 3,\n priority: 7,\n readOnlyNodes: 0,\n }],\n }],\n autoScalingDiskGbEnabled: true,\n mongoDbMajorVersion: \"4.2\",\n providerName: \"GCP\",\n providerInstanceSizeName: \"M10\",\n}, {\n dependsOn: [\"google_compute_network_peering.peering\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_gcp as gcp\nimport pulumi_mongodbatlas as mongodbatlas\n\n# Container example provided but not always required, \n# see network_container documentation for details. \ntest_network_container = mongodbatlas.NetworkContainer(\"testNetworkContainer\",\n project_id=local[\"project_id\"],\n atlas_cidr_block=\"10.8.0.0/21\",\n provider_name=\"GCP\")\n# Create the peering connection request\ntest_network_peering = mongodbatlas.NetworkPeering(\"testNetworkPeering\",\n project_id=local[\"project_id\"],\n container_id=test_network_container.container_id,\n provider_name=\"GCP\",\n gcp_project_id=local[\"GCP_PROJECT_ID\"],\n network_name=\"default\")\ndefault = gcp.compute.get_network(name=\"default\")\n# Create the GCP peer\npeering = gcp.compute.NetworkPeering(\"peering\",\n network=default.self_link,\n peer_network=pulumi.Output.all(test_network_peering.atlas_gcp_project_id, test_network_peering.atlas_vpc_name).apply(lambda atlas_gcp_project_id, atlas_vpc_name: f\"https://www.googleapis.com/compute/v1/projects/{atlas_gcp_project_id}/global/networks/{atlas_vpc_name}\"))\n# Create the cluster once the peering connection is completed\ntest_cluster = mongodbatlas.Cluster(\"testCluster\",\n project_id=local[\"project_id\"],\n num_shards=1,\n cluster_type=\"REPLICASET\",\n replication_specs=[mongodbatlas.ClusterReplicationSpecArgs(\n num_shards=1,\n regions_configs=[mongodbatlas.ClusterReplicationSpecRegionsConfigArgs(\n region_name=\"US_EAST_4\",\n electable_nodes=3,\n priority=7,\n read_only_nodes=0,\n )],\n )],\n auto_scaling_disk_gb_enabled=True,\n mongo_db_major_version=\"4.2\",\n provider_name=\"GCP\",\n provider_instance_size_name=\"M10\",\n opts=pulumi.ResourceOptions(depends_on=[\"google_compute_network_peering.peering\"]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcp = Pulumi.Gcp;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Container example provided but not always required, \n // see network_container documentation for details. \n var testNetworkContainer = new Mongodbatlas.NetworkContainer(\"testNetworkContainer\", new()\n {\n ProjectId = local.Project_id,\n AtlasCidrBlock = \"10.8.0.0/21\",\n ProviderName = \"GCP\",\n });\n\n // Create the peering connection request\n var testNetworkPeering = new Mongodbatlas.NetworkPeering(\"testNetworkPeering\", new()\n {\n ProjectId = local.Project_id,\n ContainerId = testNetworkContainer.ContainerId,\n ProviderName = \"GCP\",\n GcpProjectId = local.GCP_PROJECT_ID,\n NetworkName = \"default\",\n });\n\n var @default = Gcp.Compute.GetNetwork.Invoke(new()\n {\n Name = \"default\",\n });\n\n // Create the GCP peer\n var peering = new Gcp.Compute.NetworkPeering(\"peering\", new()\n {\n Network = @default.Apply(@default =\u003e @default.Apply(getNetworkResult =\u003e getNetworkResult.SelfLink)),\n PeerNetwork = Output.Tuple(testNetworkPeering.AtlasGcpProjectId, testNetworkPeering.AtlasVpcName).Apply(values =\u003e\n {\n var atlasGcpProjectId = values.Item1;\n var atlasVpcName = values.Item2;\n return $\"https://www.googleapis.com/compute/v1/projects/{atlasGcpProjectId}/global/networks/{atlasVpcName}\";\n }),\n });\n\n // Create the cluster once the peering connection is completed\n var testCluster = new Mongodbatlas.Cluster(\"testCluster\", new()\n {\n ProjectId = local.Project_id,\n NumShards = 1,\n ClusterType = \"REPLICASET\",\n ReplicationSpecs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecArgs\n {\n NumShards = 1,\n RegionsConfigs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecRegionsConfigArgs\n {\n RegionName = \"US_EAST_4\",\n ElectableNodes = 3,\n Priority = 7,\n ReadOnlyNodes = 0,\n },\n },\n },\n },\n AutoScalingDiskGbEnabled = true,\n MongoDbMajorVersion = \"4.2\",\n ProviderName = \"GCP\",\n ProviderInstanceSizeName = \"M10\",\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n \"google_compute_network_peering.peering\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/compute\"\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestNetworkContainer, err := mongodbatlas.NewNetworkContainer(ctx, \"testNetworkContainer\", \u0026mongodbatlas.NetworkContainerArgs{\n\t\t\tProjectId: pulumi.Any(local.Project_id),\n\t\t\tAtlasCidrBlock: pulumi.String(\"10.8.0.0/21\"),\n\t\t\tProviderName: pulumi.String(\"GCP\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestNetworkPeering, err := mongodbatlas.NewNetworkPeering(ctx, \"testNetworkPeering\", \u0026mongodbatlas.NetworkPeeringArgs{\n\t\t\tProjectId: pulumi.Any(local.Project_id),\n\t\t\tContainerId: testNetworkContainer.ContainerId,\n\t\t\tProviderName: pulumi.String(\"GCP\"),\n\t\t\tGcpProjectId: pulumi.Any(local.GCP_PROJECT_ID),\n\t\t\tNetworkName: pulumi.String(\"default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := compute.LookupNetwork(ctx, \u0026compute.LookupNetworkArgs{\n\t\t\tName: \"default\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = compute.NewNetworkPeering(ctx, \"peering\", \u0026compute.NetworkPeeringArgs{\n\t\t\tNetwork: *pulumi.String(_default.SelfLink),\n\t\t\tPeerNetwork: pulumi.All(testNetworkPeering.AtlasGcpProjectId, testNetworkPeering.AtlasVpcName).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tatlasGcpProjectId := _args[0].(string)\n\t\t\t\tatlasVpcName := _args[1].(string)\n\t\t\t\treturn fmt.Sprintf(\"https://www.googleapis.com/compute/v1/projects/%v/global/networks/%v\", atlasGcpProjectId, atlasVpcName), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mongodbatlas.NewCluster(ctx, \"testCluster\", \u0026mongodbatlas.ClusterArgs{\n\t\t\tProjectId: pulumi.Any(local.Project_id),\n\t\t\tNumShards: pulumi.Int(1),\n\t\t\tClusterType: pulumi.String(\"REPLICASET\"),\n\t\t\tReplicationSpecs: mongodbatlas.ClusterReplicationSpecArray{\n\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecArgs{\n\t\t\t\t\tNumShards: pulumi.Int(1),\n\t\t\t\t\tRegionsConfigs: mongodbatlas.ClusterReplicationSpecRegionsConfigArray{\n\t\t\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecRegionsConfigArgs{\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"US_EAST_4\"),\n\t\t\t\t\t\t\tElectableNodes: pulumi.Int(3),\n\t\t\t\t\t\t\tPriority: pulumi.Int(7),\n\t\t\t\t\t\t\tReadOnlyNodes: pulumi.Int(0),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tAutoScalingDiskGbEnabled: pulumi.Bool(true),\n\t\t\tMongoDbMajorVersion: pulumi.String(\"4.2\"),\n\t\t\tProviderName: pulumi.String(\"GCP\"),\n\t\t\tProviderInstanceSizeName: pulumi.String(\"M10\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tpulumi.Resource(\"google_compute_network_peering.peering\"),\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.mongodbatlas.NetworkContainer;\nimport com.pulumi.mongodbatlas.NetworkContainerArgs;\nimport com.pulumi.mongodbatlas.NetworkPeering;\nimport com.pulumi.mongodbatlas.NetworkPeeringArgs;\nimport com.pulumi.gcp.compute.ComputeFunctions;\nimport com.pulumi.gcp.compute.inputs.GetNetworkArgs;\nimport com.pulumi.gcp.compute.NetworkPeering;\nimport com.pulumi.gcp.compute.NetworkPeeringArgs;\nimport com.pulumi.mongodbatlas.Cluster;\nimport com.pulumi.mongodbatlas.ClusterArgs;\nimport com.pulumi.mongodbatlas.inputs.ClusterReplicationSpecArgs;\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 testNetworkContainer = new NetworkContainer(\"testNetworkContainer\", NetworkContainerArgs.builder() \n .projectId(local.project_id())\n .atlasCidrBlock(\"10.8.0.0/21\")\n .providerName(\"GCP\")\n .build());\n\n var testNetworkPeering = new NetworkPeering(\"testNetworkPeering\", NetworkPeeringArgs.builder() \n .projectId(local.project_id())\n .containerId(testNetworkContainer.containerId())\n .providerName(\"GCP\")\n .gcpProjectId(local.GCP_PROJECT_ID())\n .networkName(\"default\")\n .build());\n\n final var default = ComputeFunctions.getNetwork(GetNetworkArgs.builder()\n .name(\"default\")\n .build());\n\n var peering = new NetworkPeering(\"peering\", NetworkPeeringArgs.builder() \n .network(default_.selfLink())\n .peerNetwork(Output.tuple(testNetworkPeering.atlasGcpProjectId(), testNetworkPeering.atlasVpcName()).applyValue(values -\u003e {\n var atlasGcpProjectId = values.t1;\n var atlasVpcName = values.t2;\n return String.format(\"https://www.googleapis.com/compute/v1/projects/%s/global/networks/%s\", atlasGcpProjectId,atlasVpcName);\n }))\n .build());\n\n var testCluster = new Cluster(\"testCluster\", ClusterArgs.builder() \n .projectId(local.project_id())\n .numShards(1)\n .clusterType(\"REPLICASET\")\n .replicationSpecs(ClusterReplicationSpecArgs.builder()\n .numShards(1)\n .regionsConfigs(ClusterReplicationSpecRegionsConfigArgs.builder()\n .regionName(\"US_EAST_4\")\n .electableNodes(3)\n .priority(7)\n .readOnlyNodes(0)\n .build())\n .build())\n .autoScalingDiskGbEnabled(true)\n .mongoDbMajorVersion(\"4.2\")\n .providerName(\"GCP\")\n .providerInstanceSizeName(\"M10\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(\"google_compute_network_peering.peering\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Container example provided but not always required, \n # see network_container documentation for details.\n testNetworkContainer:\n type: mongodbatlas:NetworkContainer\n properties:\n projectId: ${local.project_id}\n atlasCidrBlock: 10.8.0.0/21\n providerName: GCP\n # Create the peering connection request\n testNetworkPeering:\n type: mongodbatlas:NetworkPeering\n properties:\n projectId: ${local.project_id}\n containerId: ${testNetworkContainer.containerId}\n providerName: GCP\n gcpProjectId: ${local.GCP_PROJECT_ID}\n networkName: default\n # Create the GCP peer\n peering:\n type: gcp:compute:NetworkPeering\n properties:\n network: ${default.selfLink}\n peerNetwork: https://www.googleapis.com/compute/v1/projects/${testNetworkPeering.atlasGcpProjectId}/global/networks/${testNetworkPeering.atlasVpcName}\n # Create the cluster once the peering connection is completed\n testCluster:\n type: mongodbatlas:Cluster\n properties:\n projectId: ${local.project_id}\n numShards: 1\n clusterType: REPLICASET\n replicationSpecs:\n - numShards: 1\n regionsConfigs:\n - regionName: US_EAST_4\n electableNodes: 3\n priority: 7\n readOnlyNodes: 0\n autoScalingDiskGbEnabled: true\n mongoDbMajorVersion: '4.2'\n # Provider Settings \"block\"\n providerName: GCP\n providerInstanceSizeName: M10\n options:\n dependson:\n - google_compute_network_peering.peering\nvariables:\n default:\n fn::invoke:\n Function: gcp:compute:getNetwork\n Arguments:\n name: default\n```\n{{% /example %}}\n{{% example %}}\n### Example with Azure\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\n// Ensure you have created the required Azure service principal first, see\n// see https://docs.atlas.mongodb.com/security-vpc-peering/\n// Container example provided but not always required, \n// see network_container documentation for details. \nconst testNetworkContainer = new mongodbatlas.NetworkContainer(\"testNetworkContainer\", {\n projectId: local.project_id,\n atlasCidrBlock: local.ATLAS_CIDR_BLOCK,\n providerName: \"AZURE\",\n region: \"US_EAST_2\",\n});\n// Create the peering connection request\nconst testNetworkPeering = new mongodbatlas.NetworkPeering(\"testNetworkPeering\", {\n projectId: local.project_id,\n containerId: testNetworkContainer.containerId,\n providerName: \"AZURE\",\n azureDirectoryId: local.AZURE_DIRECTORY_ID,\n azureSubscriptionId: local.AZURE_SUBSCRIPTION_ID,\n resourceGroupName: local.AZURE_RESOURCES_GROUP_NAME,\n vnetName: local.AZURE_VNET_NAME,\n});\n// Create the cluster once the peering connection is completed\nconst testCluster = new mongodbatlas.Cluster(\"testCluster\", {\n projectId: local.project_id,\n clusterType: \"REPLICASET\",\n replicationSpecs: [{\n numShards: 1,\n regionsConfigs: [{\n regionName: \"US_EAST_2\",\n electableNodes: 3,\n priority: 7,\n readOnlyNodes: 0,\n }],\n }],\n autoScalingDiskGbEnabled: true,\n mongoDbMajorVersion: \"4.2\",\n providerName: \"AZURE\",\n providerDiskTypeName: \"P4\",\n providerInstanceSizeName: \"M10\",\n}, {\n dependsOn: [\"mongodbatlas_network_peering.test\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\n# Ensure you have created the required Azure service principal first, see\n# see https://docs.atlas.mongodb.com/security-vpc-peering/\n# Container example provided but not always required, \n# see network_container documentation for details. \ntest_network_container = mongodbatlas.NetworkContainer(\"testNetworkContainer\",\n project_id=local[\"project_id\"],\n atlas_cidr_block=local[\"ATLAS_CIDR_BLOCK\"],\n provider_name=\"AZURE\",\n region=\"US_EAST_2\")\n# Create the peering connection request\ntest_network_peering = mongodbatlas.NetworkPeering(\"testNetworkPeering\",\n project_id=local[\"project_id\"],\n container_id=test_network_container.container_id,\n provider_name=\"AZURE\",\n azure_directory_id=local[\"AZURE_DIRECTORY_ID\"],\n azure_subscription_id=local[\"AZURE_SUBSCRIPTION_ID\"],\n resource_group_name=local[\"AZURE_RESOURCES_GROUP_NAME\"],\n vnet_name=local[\"AZURE_VNET_NAME\"])\n# Create the cluster once the peering connection is completed\ntest_cluster = mongodbatlas.Cluster(\"testCluster\",\n project_id=local[\"project_id\"],\n cluster_type=\"REPLICASET\",\n replication_specs=[mongodbatlas.ClusterReplicationSpecArgs(\n num_shards=1,\n regions_configs=[mongodbatlas.ClusterReplicationSpecRegionsConfigArgs(\n region_name=\"US_EAST_2\",\n electable_nodes=3,\n priority=7,\n read_only_nodes=0,\n )],\n )],\n auto_scaling_disk_gb_enabled=True,\n mongo_db_major_version=\"4.2\",\n provider_name=\"AZURE\",\n provider_disk_type_name=\"P4\",\n provider_instance_size_name=\"M10\",\n opts=pulumi.ResourceOptions(depends_on=[\"mongodbatlas_network_peering.test\"]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Ensure you have created the required Azure service principal first, see\n // see https://docs.atlas.mongodb.com/security-vpc-peering/\n // Container example provided but not always required, \n // see network_container documentation for details. \n var testNetworkContainer = new Mongodbatlas.NetworkContainer(\"testNetworkContainer\", new()\n {\n ProjectId = local.Project_id,\n AtlasCidrBlock = local.ATLAS_CIDR_BLOCK,\n ProviderName = \"AZURE\",\n Region = \"US_EAST_2\",\n });\n\n // Create the peering connection request\n var testNetworkPeering = new Mongodbatlas.NetworkPeering(\"testNetworkPeering\", new()\n {\n ProjectId = local.Project_id,\n ContainerId = testNetworkContainer.ContainerId,\n ProviderName = \"AZURE\",\n AzureDirectoryId = local.AZURE_DIRECTORY_ID,\n AzureSubscriptionId = local.AZURE_SUBSCRIPTION_ID,\n ResourceGroupName = local.AZURE_RESOURCES_GROUP_NAME,\n VnetName = local.AZURE_VNET_NAME,\n });\n\n // Create the cluster once the peering connection is completed\n var testCluster = new Mongodbatlas.Cluster(\"testCluster\", new()\n {\n ProjectId = local.Project_id,\n ClusterType = \"REPLICASET\",\n ReplicationSpecs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecArgs\n {\n NumShards = 1,\n RegionsConfigs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecRegionsConfigArgs\n {\n RegionName = \"US_EAST_2\",\n ElectableNodes = 3,\n Priority = 7,\n ReadOnlyNodes = 0,\n },\n },\n },\n },\n AutoScalingDiskGbEnabled = true,\n MongoDbMajorVersion = \"4.2\",\n ProviderName = \"AZURE\",\n ProviderDiskTypeName = \"P4\",\n ProviderInstanceSizeName = \"M10\",\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n \"mongodbatlas_network_peering.test\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestNetworkContainer, err := mongodbatlas.NewNetworkContainer(ctx, \"testNetworkContainer\", \u0026mongodbatlas.NetworkContainerArgs{\n\t\t\tProjectId: pulumi.Any(local.Project_id),\n\t\t\tAtlasCidrBlock: pulumi.Any(local.ATLAS_CIDR_BLOCK),\n\t\t\tProviderName: pulumi.String(\"AZURE\"),\n\t\t\tRegion: pulumi.String(\"US_EAST_2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mongodbatlas.NewNetworkPeering(ctx, \"testNetworkPeering\", \u0026mongodbatlas.NetworkPeeringArgs{\n\t\t\tProjectId: pulumi.Any(local.Project_id),\n\t\t\tContainerId: testNetworkContainer.ContainerId,\n\t\t\tProviderName: pulumi.String(\"AZURE\"),\n\t\t\tAzureDirectoryId: pulumi.Any(local.AZURE_DIRECTORY_ID),\n\t\t\tAzureSubscriptionId: pulumi.Any(local.AZURE_SUBSCRIPTION_ID),\n\t\t\tResourceGroupName: pulumi.Any(local.AZURE_RESOURCES_GROUP_NAME),\n\t\t\tVnetName: pulumi.Any(local.AZURE_VNET_NAME),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mongodbatlas.NewCluster(ctx, \"testCluster\", \u0026mongodbatlas.ClusterArgs{\n\t\t\tProjectId: pulumi.Any(local.Project_id),\n\t\t\tClusterType: pulumi.String(\"REPLICASET\"),\n\t\t\tReplicationSpecs: mongodbatlas.ClusterReplicationSpecArray{\n\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecArgs{\n\t\t\t\t\tNumShards: pulumi.Int(1),\n\t\t\t\t\tRegionsConfigs: mongodbatlas.ClusterReplicationSpecRegionsConfigArray{\n\t\t\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecRegionsConfigArgs{\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"US_EAST_2\"),\n\t\t\t\t\t\t\tElectableNodes: pulumi.Int(3),\n\t\t\t\t\t\t\tPriority: pulumi.Int(7),\n\t\t\t\t\t\t\tReadOnlyNodes: pulumi.Int(0),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tAutoScalingDiskGbEnabled: pulumi.Bool(true),\n\t\t\tMongoDbMajorVersion: pulumi.String(\"4.2\"),\n\t\t\tProviderName: pulumi.String(\"AZURE\"),\n\t\t\tProviderDiskTypeName: pulumi.String(\"P4\"),\n\t\t\tProviderInstanceSizeName: pulumi.String(\"M10\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tpulumi.Resource(\"mongodbatlas_network_peering.test\"),\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.mongodbatlas.NetworkContainer;\nimport com.pulumi.mongodbatlas.NetworkContainerArgs;\nimport com.pulumi.mongodbatlas.NetworkPeering;\nimport com.pulumi.mongodbatlas.NetworkPeeringArgs;\nimport com.pulumi.mongodbatlas.Cluster;\nimport com.pulumi.mongodbatlas.ClusterArgs;\nimport com.pulumi.mongodbatlas.inputs.ClusterReplicationSpecArgs;\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 testNetworkContainer = new NetworkContainer(\"testNetworkContainer\", NetworkContainerArgs.builder() \n .projectId(local.project_id())\n .atlasCidrBlock(local.ATLAS_CIDR_BLOCK())\n .providerName(\"AZURE\")\n .region(\"US_EAST_2\")\n .build());\n\n var testNetworkPeering = new NetworkPeering(\"testNetworkPeering\", NetworkPeeringArgs.builder() \n .projectId(local.project_id())\n .containerId(testNetworkContainer.containerId())\n .providerName(\"AZURE\")\n .azureDirectoryId(local.AZURE_DIRECTORY_ID())\n .azureSubscriptionId(local.AZURE_SUBSCRIPTION_ID())\n .resourceGroupName(local.AZURE_RESOURCES_GROUP_NAME())\n .vnetName(local.AZURE_VNET_NAME())\n .build());\n\n var testCluster = new Cluster(\"testCluster\", ClusterArgs.builder() \n .projectId(local.project_id())\n .clusterType(\"REPLICASET\")\n .replicationSpecs(ClusterReplicationSpecArgs.builder()\n .numShards(1)\n .regionsConfigs(ClusterReplicationSpecRegionsConfigArgs.builder()\n .regionName(\"US_EAST_2\")\n .electableNodes(3)\n .priority(7)\n .readOnlyNodes(0)\n .build())\n .build())\n .autoScalingDiskGbEnabled(true)\n .mongoDbMajorVersion(\"4.2\")\n .providerName(\"AZURE\")\n .providerDiskTypeName(\"P4\")\n .providerInstanceSizeName(\"M10\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(\"mongodbatlas_network_peering.test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Ensure you have created the required Azure service principal first, see\n # see https://docs.atlas.mongodb.com/security-vpc-peering/\n\n # Container example provided but not always required, \n # see network_container documentation for details.\n testNetworkContainer:\n type: mongodbatlas:NetworkContainer\n properties:\n projectId: ${local.project_id}\n atlasCidrBlock: ${local.ATLAS_CIDR_BLOCK}\n providerName: AZURE\n region: US_EAST_2\n # Create the peering connection request\n testNetworkPeering:\n type: mongodbatlas:NetworkPeering\n properties:\n projectId: ${local.project_id}\n containerId: ${testNetworkContainer.containerId}\n providerName: AZURE\n azureDirectoryId: ${local.AZURE_DIRECTORY_ID}\n azureSubscriptionId: ${local.AZURE_SUBSCRIPTION_ID}\n resourceGroupName: ${local.AZURE_RESOURCES_GROUP_NAME}\n vnetName: ${local.AZURE_VNET_NAME}\n # Create the cluster once the peering connection is completed\n testCluster:\n type: mongodbatlas:Cluster\n properties:\n projectId: ${local.project_id}\n clusterType: REPLICASET\n replicationSpecs:\n - numShards: 1\n regionsConfigs:\n - regionName: US_EAST_2\n electableNodes: 3\n priority: 7\n readOnlyNodes: 0\n autoScalingDiskGbEnabled: true\n mongoDbMajorVersion: '4.2'\n # Provider Settings \"block\"\n providerName: AZURE\n providerDiskTypeName: P4\n providerInstanceSizeName: M10\n options:\n dependson:\n - mongodbatlas_network_peering.test\n```\n{{% /example %}}\n### Peering Connection Only, Container Exists\nYou can create a peering connection if an appropriate container for your cloud provider already exists in your project (see the network_container resource for more information). A container may already exist if you have already created a cluster in your project, if so you may obtain the `container_id` from the cluster resource as shown in the examples below.\n{{% example %}}\n### Example with AWS\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\n// Create an Atlas cluster, this creates a container if one\n// does not yet exist for this AWS region\nconst test = new mongodbatlas.Cluster(\"test\", {\n projectId: local.project_id,\n clusterType: \"REPLICASET\",\n replicationSpecs: [{\n numShards: 1,\n regionsConfigs: [{\n regionName: \"US_EAST_2\",\n electableNodes: 3,\n priority: 7,\n readOnlyNodes: 0,\n }],\n }],\n autoScalingDiskGbEnabled: false,\n mongoDbMajorVersion: \"4.2\",\n providerName: \"AWS\",\n providerInstanceSizeName: \"M10\",\n});\n// the following assumes an AWS provider is configured\nconst _default = new aws.ec2.DefaultVpc(\"default\", {tags: {\n Name: \"Default VPC\",\n}});\n// Create the peering connection request\nconst mongoPeer = new mongodbatlas.NetworkPeering(\"mongoPeer\", {\n accepterRegionName: \"us-east-2\",\n projectId: local.project_id,\n containerId: test.containerId,\n providerName: \"AWS\",\n routeTableCidrBlock: \"172.31.0.0/16\",\n vpcId: _default.id,\n awsAccountId: local.AWS_ACCOUNT_ID,\n});\n// Accept the connection \nconst awsPeer = new aws.ec2.VpcPeeringConnectionAccepter(\"awsPeer\", {\n vpcPeeringConnectionId: mongoPeer.connectionId,\n autoAccept: true,\n tags: {\n Side: \"Accepter\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_mongodbatlas as mongodbatlas\n\n# Create an Atlas cluster, this creates a container if one\n# does not yet exist for this AWS region\ntest = mongodbatlas.Cluster(\"test\",\n project_id=local[\"project_id\"],\n cluster_type=\"REPLICASET\",\n replication_specs=[mongodbatlas.ClusterReplicationSpecArgs(\n num_shards=1,\n regions_configs=[mongodbatlas.ClusterReplicationSpecRegionsConfigArgs(\n region_name=\"US_EAST_2\",\n electable_nodes=3,\n priority=7,\n read_only_nodes=0,\n )],\n )],\n auto_scaling_disk_gb_enabled=False,\n mongo_db_major_version=\"4.2\",\n provider_name=\"AWS\",\n provider_instance_size_name=\"M10\")\n# the following assumes an AWS provider is configured\ndefault = aws.ec2.DefaultVpc(\"default\", tags={\n \"Name\": \"Default VPC\",\n})\n# Create the peering connection request\nmongo_peer = mongodbatlas.NetworkPeering(\"mongoPeer\",\n accepter_region_name=\"us-east-2\",\n project_id=local[\"project_id\"],\n container_id=test.container_id,\n provider_name=\"AWS\",\n route_table_cidr_block=\"172.31.0.0/16\",\n vpc_id=default.id,\n aws_account_id=local[\"AWS_ACCOUNT_ID\"])\n# Accept the connection \naws_peer = aws.ec2.VpcPeeringConnectionAccepter(\"awsPeer\",\n vpc_peering_connection_id=mongo_peer.connection_id,\n auto_accept=True,\n tags={\n \"Side\": \"Accepter\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create an Atlas cluster, this creates a container if one\n // does not yet exist for this AWS region\n var test = new Mongodbatlas.Cluster(\"test\", new()\n {\n ProjectId = local.Project_id,\n ClusterType = \"REPLICASET\",\n ReplicationSpecs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecArgs\n {\n NumShards = 1,\n RegionsConfigs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecRegionsConfigArgs\n {\n RegionName = \"US_EAST_2\",\n ElectableNodes = 3,\n Priority = 7,\n ReadOnlyNodes = 0,\n },\n },\n },\n },\n AutoScalingDiskGbEnabled = false,\n MongoDbMajorVersion = \"4.2\",\n ProviderName = \"AWS\",\n ProviderInstanceSizeName = \"M10\",\n });\n\n // the following assumes an AWS provider is configured\n var @default = new Aws.Ec2.DefaultVpc(\"default\", new()\n {\n Tags = \n {\n { \"Name\", \"Default VPC\" },\n },\n });\n\n // Create the peering connection request\n var mongoPeer = new Mongodbatlas.NetworkPeering(\"mongoPeer\", new()\n {\n AccepterRegionName = \"us-east-2\",\n ProjectId = local.Project_id,\n ContainerId = test.ContainerId,\n ProviderName = \"AWS\",\n RouteTableCidrBlock = \"172.31.0.0/16\",\n VpcId = @default.Id,\n AwsAccountId = local.AWS_ACCOUNT_ID,\n });\n\n // Accept the connection \n var awsPeer = new Aws.Ec2.VpcPeeringConnectionAccepter(\"awsPeer\", new()\n {\n VpcPeeringConnectionId = mongoPeer.ConnectionId,\n AutoAccept = true,\n Tags = \n {\n { \"Side\", \"Accepter\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := mongodbatlas.NewCluster(ctx, \"test\", \u0026mongodbatlas.ClusterArgs{\n\t\t\tProjectId: pulumi.Any(local.Project_id),\n\t\t\tClusterType: pulumi.String(\"REPLICASET\"),\n\t\t\tReplicationSpecs: mongodbatlas.ClusterReplicationSpecArray{\n\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecArgs{\n\t\t\t\t\tNumShards: pulumi.Int(1),\n\t\t\t\t\tRegionsConfigs: mongodbatlas.ClusterReplicationSpecRegionsConfigArray{\n\t\t\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecRegionsConfigArgs{\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"US_EAST_2\"),\n\t\t\t\t\t\t\tElectableNodes: pulumi.Int(3),\n\t\t\t\t\t\t\tPriority: pulumi.Int(7),\n\t\t\t\t\t\t\tReadOnlyNodes: pulumi.Int(0),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tAutoScalingDiskGbEnabled: pulumi.Bool(false),\n\t\t\tMongoDbMajorVersion: pulumi.String(\"4.2\"),\n\t\t\tProviderName: pulumi.String(\"AWS\"),\n\t\t\tProviderInstanceSizeName: pulumi.String(\"M10\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewDefaultVpc(ctx, \"default\", \u0026ec2.DefaultVpcArgs{\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Default VPC\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmongoPeer, err := mongodbatlas.NewNetworkPeering(ctx, \"mongoPeer\", \u0026mongodbatlas.NetworkPeeringArgs{\n\t\t\tAccepterRegionName: pulumi.String(\"us-east-2\"),\n\t\t\tProjectId: pulumi.Any(local.Project_id),\n\t\t\tContainerId: test.ContainerId,\n\t\t\tProviderName: pulumi.String(\"AWS\"),\n\t\t\tRouteTableCidrBlock: pulumi.String(\"172.31.0.0/16\"),\n\t\t\tVpcId: _default.ID(),\n\t\t\tAwsAccountId: pulumi.Any(local.AWS_ACCOUNT_ID),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcPeeringConnectionAccepter(ctx, \"awsPeer\", \u0026ec2.VpcPeeringConnectionAccepterArgs{\n\t\t\tVpcPeeringConnectionId: mongoPeer.ConnectionId,\n\t\t\tAutoAccept: pulumi.Bool(true),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Side\": pulumi.String(\"Accepter\"),\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.mongodbatlas.Cluster;\nimport com.pulumi.mongodbatlas.ClusterArgs;\nimport com.pulumi.mongodbatlas.inputs.ClusterReplicationSpecArgs;\nimport com.pulumi.aws.ec2.DefaultVpc;\nimport com.pulumi.aws.ec2.DefaultVpcArgs;\nimport com.pulumi.mongodbatlas.NetworkPeering;\nimport com.pulumi.mongodbatlas.NetworkPeeringArgs;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionAccepter;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionAccepterArgs;\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 test = new Cluster(\"test\", ClusterArgs.builder() \n .projectId(local.project_id())\n .clusterType(\"REPLICASET\")\n .replicationSpecs(ClusterReplicationSpecArgs.builder()\n .numShards(1)\n .regionsConfigs(ClusterReplicationSpecRegionsConfigArgs.builder()\n .regionName(\"US_EAST_2\")\n .electableNodes(3)\n .priority(7)\n .readOnlyNodes(0)\n .build())\n .build())\n .autoScalingDiskGbEnabled(false)\n .mongoDbMajorVersion(\"4.2\")\n .providerName(\"AWS\")\n .providerInstanceSizeName(\"M10\")\n .build());\n\n var default_ = new DefaultVpc(\"default\", DefaultVpcArgs.builder() \n .tags(Map.of(\"Name\", \"Default VPC\"))\n .build());\n\n var mongoPeer = new NetworkPeering(\"mongoPeer\", NetworkPeeringArgs.builder() \n .accepterRegionName(\"us-east-2\")\n .projectId(local.project_id())\n .containerId(test.containerId())\n .providerName(\"AWS\")\n .routeTableCidrBlock(\"172.31.0.0/16\")\n .vpcId(default_.id())\n .awsAccountId(local.AWS_ACCOUNT_ID())\n .build());\n\n var awsPeer = new VpcPeeringConnectionAccepter(\"awsPeer\", VpcPeeringConnectionAccepterArgs.builder() \n .vpcPeeringConnectionId(mongoPeer.connectionId())\n .autoAccept(true)\n .tags(Map.of(\"Side\", \"Accepter\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create an Atlas cluster, this creates a container if one\n # does not yet exist for this AWS region\n test:\n type: mongodbatlas:Cluster\n properties:\n projectId: ${local.project_id}\n clusterType: REPLICASET\n replicationSpecs:\n - numShards: 1\n regionsConfigs:\n - regionName: US_EAST_2\n electableNodes: 3\n priority: 7\n readOnlyNodes: 0\n autoScalingDiskGbEnabled: false\n mongoDbMajorVersion: '4.2'\n # Provider Settings \"block\"\n providerName: AWS\n providerInstanceSizeName: M10\n # the following assumes an AWS provider is configured\n default:\n type: aws:ec2:DefaultVpc\n properties:\n tags:\n Name: Default VPC\n # Create the peering connection request\n mongoPeer:\n type: mongodbatlas:NetworkPeering\n properties:\n accepterRegionName: us-east-2\n projectId: ${local.project_id}\n containerId: ${test.containerId}\n providerName: AWS\n routeTableCidrBlock: 172.31.0.0/16\n vpcId: ${default.id}\n awsAccountId: ${local.AWS_ACCOUNT_ID}\n # Accept the connection\n awsPeer:\n type: aws:ec2:VpcPeeringConnectionAccepter\n properties:\n vpcPeeringConnectionId: ${mongoPeer.connectionId}\n autoAccept: true\n tags:\n Side: Accepter\n```\n{{% /example %}}\n{{% example %}}\n### Example with GCP\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcp from \"@pulumi/gcp\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\n// Create an Atlas cluster, this creates a container if one\n// does not yet exist for this GCP \nconst testCluster = new mongodbatlas.Cluster(\"testCluster\", {\n projectId: local.project_id,\n clusterType: \"REPLICASET\",\n replicationSpecs: [{\n numShards: 1,\n regionsConfigs: [{\n regionName: \"US_EAST_2\",\n electableNodes: 3,\n priority: 7,\n readOnlyNodes: 0,\n }],\n }],\n autoScalingDiskGbEnabled: true,\n mongoDbMajorVersion: \"4.2\",\n providerName: \"GCP\",\n providerInstanceSizeName: \"M10\",\n});\n// Create the peering connection request\nconst testNetworkPeering = new mongodbatlas.NetworkPeering(\"testNetworkPeering\", {\n projectId: local.project_id,\n atlasCidrBlock: \"192.168.0.0/18\",\n containerId: testCluster.containerId,\n providerName: \"GCP\",\n gcpProjectId: local.GCP_PROJECT_ID,\n networkName: \"default\",\n});\nconst default = gcp.compute.getNetwork({\n name: \"default\",\n});\n// Create the GCP peer\nconst peering = new gcp.compute.NetworkPeering(\"peering\", {\n network: _default.then(_default =\u003e _default.selfLink),\n peerNetwork: pulumi.interpolate`https://www.googleapis.com/compute/v1/projects/${testNetworkPeering.atlasGcpProjectId}/global/networks/${testNetworkPeering.atlasVpcName}`,\n});\n```\n```python\nimport pulumi\nimport pulumi_gcp as gcp\nimport pulumi_mongodbatlas as mongodbatlas\n\n# Create an Atlas cluster, this creates a container if one\n# does not yet exist for this GCP \ntest_cluster = mongodbatlas.Cluster(\"testCluster\",\n project_id=local[\"project_id\"],\n cluster_type=\"REPLICASET\",\n replication_specs=[mongodbatlas.ClusterReplicationSpecArgs(\n num_shards=1,\n regions_configs=[mongodbatlas.ClusterReplicationSpecRegionsConfigArgs(\n region_name=\"US_EAST_2\",\n electable_nodes=3,\n priority=7,\n read_only_nodes=0,\n )],\n )],\n auto_scaling_disk_gb_enabled=True,\n mongo_db_major_version=\"4.2\",\n provider_name=\"GCP\",\n provider_instance_size_name=\"M10\")\n# Create the peering connection request\ntest_network_peering = mongodbatlas.NetworkPeering(\"testNetworkPeering\",\n project_id=local[\"project_id\"],\n atlas_cidr_block=\"192.168.0.0/18\",\n container_id=test_cluster.container_id,\n provider_name=\"GCP\",\n gcp_project_id=local[\"GCP_PROJECT_ID\"],\n network_name=\"default\")\ndefault = gcp.compute.get_network(name=\"default\")\n# Create the GCP peer\npeering = gcp.compute.NetworkPeering(\"peering\",\n network=default.self_link,\n peer_network=pulumi.Output.all(test_network_peering.atlas_gcp_project_id, test_network_peering.atlas_vpc_name).apply(lambda atlas_gcp_project_id, atlas_vpc_name: f\"https://www.googleapis.com/compute/v1/projects/{atlas_gcp_project_id}/global/networks/{atlas_vpc_name}\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcp = Pulumi.Gcp;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create an Atlas cluster, this creates a container if one\n // does not yet exist for this GCP \n var testCluster = new Mongodbatlas.Cluster(\"testCluster\", new()\n {\n ProjectId = local.Project_id,\n ClusterType = \"REPLICASET\",\n ReplicationSpecs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecArgs\n {\n NumShards = 1,\n RegionsConfigs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecRegionsConfigArgs\n {\n RegionName = \"US_EAST_2\",\n ElectableNodes = 3,\n Priority = 7,\n ReadOnlyNodes = 0,\n },\n },\n },\n },\n AutoScalingDiskGbEnabled = true,\n MongoDbMajorVersion = \"4.2\",\n ProviderName = \"GCP\",\n ProviderInstanceSizeName = \"M10\",\n });\n\n // Create the peering connection request\n var testNetworkPeering = new Mongodbatlas.NetworkPeering(\"testNetworkPeering\", new()\n {\n ProjectId = local.Project_id,\n AtlasCidrBlock = \"192.168.0.0/18\",\n ContainerId = testCluster.ContainerId,\n ProviderName = \"GCP\",\n GcpProjectId = local.GCP_PROJECT_ID,\n NetworkName = \"default\",\n });\n\n var @default = Gcp.Compute.GetNetwork.Invoke(new()\n {\n Name = \"default\",\n });\n\n // Create the GCP peer\n var peering = new Gcp.Compute.NetworkPeering(\"peering\", new()\n {\n Network = @default.Apply(@default =\u003e @default.Apply(getNetworkResult =\u003e getNetworkResult.SelfLink)),\n PeerNetwork = Output.Tuple(testNetworkPeering.AtlasGcpProjectId, testNetworkPeering.AtlasVpcName).Apply(values =\u003e\n {\n var atlasGcpProjectId = values.Item1;\n var atlasVpcName = values.Item2;\n return $\"https://www.googleapis.com/compute/v1/projects/{atlasGcpProjectId}/global/networks/{atlasVpcName}\";\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/compute\"\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestCluster, err := mongodbatlas.NewCluster(ctx, \"testCluster\", \u0026mongodbatlas.ClusterArgs{\n\t\t\tProjectId: pulumi.Any(local.Project_id),\n\t\t\tClusterType: pulumi.String(\"REPLICASET\"),\n\t\t\tReplicationSpecs: mongodbatlas.ClusterReplicationSpecArray{\n\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecArgs{\n\t\t\t\t\tNumShards: pulumi.Int(1),\n\t\t\t\t\tRegionsConfigs: mongodbatlas.ClusterReplicationSpecRegionsConfigArray{\n\t\t\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecRegionsConfigArgs{\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"US_EAST_2\"),\n\t\t\t\t\t\t\tElectableNodes: pulumi.Int(3),\n\t\t\t\t\t\t\tPriority: pulumi.Int(7),\n\t\t\t\t\t\t\tReadOnlyNodes: pulumi.Int(0),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tAutoScalingDiskGbEnabled: pulumi.Bool(true),\n\t\t\tMongoDbMajorVersion: pulumi.String(\"4.2\"),\n\t\t\tProviderName: pulumi.String(\"GCP\"),\n\t\t\tProviderInstanceSizeName: pulumi.String(\"M10\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestNetworkPeering, err := mongodbatlas.NewNetworkPeering(ctx, \"testNetworkPeering\", \u0026mongodbatlas.NetworkPeeringArgs{\n\t\t\tProjectId: pulumi.Any(local.Project_id),\n\t\t\tAtlasCidrBlock: pulumi.String(\"192.168.0.0/18\"),\n\t\t\tContainerId: testCluster.ContainerId,\n\t\t\tProviderName: pulumi.String(\"GCP\"),\n\t\t\tGcpProjectId: pulumi.Any(local.GCP_PROJECT_ID),\n\t\t\tNetworkName: pulumi.String(\"default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := compute.LookupNetwork(ctx, \u0026compute.LookupNetworkArgs{\n\t\t\tName: \"default\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = compute.NewNetworkPeering(ctx, \"peering\", \u0026compute.NetworkPeeringArgs{\n\t\t\tNetwork: *pulumi.String(_default.SelfLink),\n\t\t\tPeerNetwork: pulumi.All(testNetworkPeering.AtlasGcpProjectId, testNetworkPeering.AtlasVpcName).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tatlasGcpProjectId := _args[0].(string)\n\t\t\t\tatlasVpcName := _args[1].(string)\n\t\t\t\treturn fmt.Sprintf(\"https://www.googleapis.com/compute/v1/projects/%v/global/networks/%v\", atlasGcpProjectId, atlasVpcName), nil\n\t\t\t}).(pulumi.StringOutput),\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.mongodbatlas.Cluster;\nimport com.pulumi.mongodbatlas.ClusterArgs;\nimport com.pulumi.mongodbatlas.inputs.ClusterReplicationSpecArgs;\nimport com.pulumi.mongodbatlas.NetworkPeering;\nimport com.pulumi.mongodbatlas.NetworkPeeringArgs;\nimport com.pulumi.gcp.compute.ComputeFunctions;\nimport com.pulumi.gcp.compute.inputs.GetNetworkArgs;\nimport com.pulumi.gcp.compute.NetworkPeering;\nimport com.pulumi.gcp.compute.NetworkPeeringArgs;\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 testCluster = new Cluster(\"testCluster\", ClusterArgs.builder() \n .projectId(local.project_id())\n .clusterType(\"REPLICASET\")\n .replicationSpecs(ClusterReplicationSpecArgs.builder()\n .numShards(1)\n .regionsConfigs(ClusterReplicationSpecRegionsConfigArgs.builder()\n .regionName(\"US_EAST_2\")\n .electableNodes(3)\n .priority(7)\n .readOnlyNodes(0)\n .build())\n .build())\n .autoScalingDiskGbEnabled(true)\n .mongoDbMajorVersion(\"4.2\")\n .providerName(\"GCP\")\n .providerInstanceSizeName(\"M10\")\n .build());\n\n var testNetworkPeering = new NetworkPeering(\"testNetworkPeering\", NetworkPeeringArgs.builder() \n .projectId(local.project_id())\n .atlasCidrBlock(\"192.168.0.0/18\")\n .containerId(testCluster.containerId())\n .providerName(\"GCP\")\n .gcpProjectId(local.GCP_PROJECT_ID())\n .networkName(\"default\")\n .build());\n\n final var default = ComputeFunctions.getNetwork(GetNetworkArgs.builder()\n .name(\"default\")\n .build());\n\n var peering = new NetworkPeering(\"peering\", NetworkPeeringArgs.builder() \n .network(default_.selfLink())\n .peerNetwork(Output.tuple(testNetworkPeering.atlasGcpProjectId(), testNetworkPeering.atlasVpcName()).applyValue(values -\u003e {\n var atlasGcpProjectId = values.t1;\n var atlasVpcName = values.t2;\n return String.format(\"https://www.googleapis.com/compute/v1/projects/%s/global/networks/%s\", atlasGcpProjectId,atlasVpcName);\n }))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create an Atlas cluster, this creates a container if one\n # does not yet exist for this GCP\n testCluster:\n type: mongodbatlas:Cluster\n properties:\n projectId: ${local.project_id}\n clusterType: REPLICASET\n replicationSpecs:\n - numShards: 1\n regionsConfigs:\n - regionName: US_EAST_2\n electableNodes: 3\n priority: 7\n readOnlyNodes: 0\n autoScalingDiskGbEnabled: true\n mongoDbMajorVersion: '4.2'\n # Provider Settings \"block\"\n providerName: GCP\n providerInstanceSizeName: M10\n # Create the peering connection request\n testNetworkPeering:\n type: mongodbatlas:NetworkPeering\n properties:\n projectId: ${local.project_id}\n atlasCidrBlock: 192.168.0.0/18\n containerId: ${testCluster.containerId}\n providerName: GCP\n gcpProjectId: ${local.GCP_PROJECT_ID}\n networkName: default\n # Create the GCP peer\n peering:\n type: gcp:compute:NetworkPeering\n properties:\n network: ${default.selfLink}\n peerNetwork: https://www.googleapis.com/compute/v1/projects/${testNetworkPeering.atlasGcpProjectId}/global/networks/${testNetworkPeering.atlasVpcName}\nvariables:\n default:\n fn::invoke:\n Function: gcp:compute:getNetwork\n Arguments:\n name: default\n```\n{{% /example %}}\n{{% example %}}\n### Example with Azure\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\n// Ensure you have created the required Azure service principal first, see\n// see https://docs.atlas.mongodb.com/security-vpc-peering/\n// Create an Atlas cluster, this creates a container if one\n// does not yet exist for this AZURE region\nconst testCluster = new mongodbatlas.Cluster(\"testCluster\", {\n projectId: local.project_id,\n clusterType: \"REPLICASET\",\n replicationSpecs: [{\n numShards: 1,\n regionsConfigs: [{\n regionName: \"US_EAST_2\",\n electableNodes: 3,\n priority: 7,\n readOnlyNodes: 0,\n }],\n }],\n autoScalingDiskGbEnabled: false,\n mongoDbMajorVersion: \"4.2\",\n providerName: \"AZURE\",\n providerInstanceSizeName: \"M10\",\n});\n// Create the peering connection request\nconst testNetworkPeering = new mongodbatlas.NetworkPeering(\"testNetworkPeering\", {\n projectId: local.project_id,\n containerId: testCluster.containerId,\n providerName: \"AZURE\",\n azureDirectoryId: local.AZURE_DIRECTORY_ID,\n azureSubscriptionId: local.AZURE_SUBSCRIPTION_ID,\n resourceGroupName: local.AZURE_RESOURCE_GROUP_NAME,\n vnetName: local.AZURE_VNET_NAME,\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\n# Ensure you have created the required Azure service principal first, see\n# see https://docs.atlas.mongodb.com/security-vpc-peering/\n# Create an Atlas cluster, this creates a container if one\n# does not yet exist for this AZURE region\ntest_cluster = mongodbatlas.Cluster(\"testCluster\",\n project_id=local[\"project_id\"],\n cluster_type=\"REPLICASET\",\n replication_specs=[mongodbatlas.ClusterReplicationSpecArgs(\n num_shards=1,\n regions_configs=[mongodbatlas.ClusterReplicationSpecRegionsConfigArgs(\n region_name=\"US_EAST_2\",\n electable_nodes=3,\n priority=7,\n read_only_nodes=0,\n )],\n )],\n auto_scaling_disk_gb_enabled=False,\n mongo_db_major_version=\"4.2\",\n provider_name=\"AZURE\",\n provider_instance_size_name=\"M10\")\n# Create the peering connection request\ntest_network_peering = mongodbatlas.NetworkPeering(\"testNetworkPeering\",\n project_id=local[\"project_id\"],\n container_id=test_cluster.container_id,\n provider_name=\"AZURE\",\n azure_directory_id=local[\"AZURE_DIRECTORY_ID\"],\n azure_subscription_id=local[\"AZURE_SUBSCRIPTION_ID\"],\n resource_group_name=local[\"AZURE_RESOURCE_GROUP_NAME\"],\n vnet_name=local[\"AZURE_VNET_NAME\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Ensure you have created the required Azure service principal first, see\n // see https://docs.atlas.mongodb.com/security-vpc-peering/\n // Create an Atlas cluster, this creates a container if one\n // does not yet exist for this AZURE region\n var testCluster = new Mongodbatlas.Cluster(\"testCluster\", new()\n {\n ProjectId = local.Project_id,\n ClusterType = \"REPLICASET\",\n ReplicationSpecs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecArgs\n {\n NumShards = 1,\n RegionsConfigs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecRegionsConfigArgs\n {\n RegionName = \"US_EAST_2\",\n ElectableNodes = 3,\n Priority = 7,\n ReadOnlyNodes = 0,\n },\n },\n },\n },\n AutoScalingDiskGbEnabled = false,\n MongoDbMajorVersion = \"4.2\",\n ProviderName = \"AZURE\",\n ProviderInstanceSizeName = \"M10\",\n });\n\n // Create the peering connection request\n var testNetworkPeering = new Mongodbatlas.NetworkPeering(\"testNetworkPeering\", new()\n {\n ProjectId = local.Project_id,\n ContainerId = testCluster.ContainerId,\n ProviderName = \"AZURE\",\n AzureDirectoryId = local.AZURE_DIRECTORY_ID,\n AzureSubscriptionId = local.AZURE_SUBSCRIPTION_ID,\n ResourceGroupName = local.AZURE_RESOURCE_GROUP_NAME,\n VnetName = local.AZURE_VNET_NAME,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestCluster, err := mongodbatlas.NewCluster(ctx, \"testCluster\", \u0026mongodbatlas.ClusterArgs{\n\t\t\tProjectId: pulumi.Any(local.Project_id),\n\t\t\tClusterType: pulumi.String(\"REPLICASET\"),\n\t\t\tReplicationSpecs: mongodbatlas.ClusterReplicationSpecArray{\n\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecArgs{\n\t\t\t\t\tNumShards: pulumi.Int(1),\n\t\t\t\t\tRegionsConfigs: mongodbatlas.ClusterReplicationSpecRegionsConfigArray{\n\t\t\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecRegionsConfigArgs{\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"US_EAST_2\"),\n\t\t\t\t\t\t\tElectableNodes: pulumi.Int(3),\n\t\t\t\t\t\t\tPriority: pulumi.Int(7),\n\t\t\t\t\t\t\tReadOnlyNodes: pulumi.Int(0),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tAutoScalingDiskGbEnabled: pulumi.Bool(false),\n\t\t\tMongoDbMajorVersion: pulumi.String(\"4.2\"),\n\t\t\tProviderName: pulumi.String(\"AZURE\"),\n\t\t\tProviderInstanceSizeName: pulumi.String(\"M10\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mongodbatlas.NewNetworkPeering(ctx, \"testNetworkPeering\", \u0026mongodbatlas.NetworkPeeringArgs{\n\t\t\tProjectId: pulumi.Any(local.Project_id),\n\t\t\tContainerId: testCluster.ContainerId,\n\t\t\tProviderName: pulumi.String(\"AZURE\"),\n\t\t\tAzureDirectoryId: pulumi.Any(local.AZURE_DIRECTORY_ID),\n\t\t\tAzureSubscriptionId: pulumi.Any(local.AZURE_SUBSCRIPTION_ID),\n\t\t\tResourceGroupName: pulumi.Any(local.AZURE_RESOURCE_GROUP_NAME),\n\t\t\tVnetName: pulumi.Any(local.AZURE_VNET_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.mongodbatlas.Cluster;\nimport com.pulumi.mongodbatlas.ClusterArgs;\nimport com.pulumi.mongodbatlas.inputs.ClusterReplicationSpecArgs;\nimport com.pulumi.mongodbatlas.NetworkPeering;\nimport com.pulumi.mongodbatlas.NetworkPeeringArgs;\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 testCluster = new Cluster(\"testCluster\", ClusterArgs.builder() \n .projectId(local.project_id())\n .clusterType(\"REPLICASET\")\n .replicationSpecs(ClusterReplicationSpecArgs.builder()\n .numShards(1)\n .regionsConfigs(ClusterReplicationSpecRegionsConfigArgs.builder()\n .regionName(\"US_EAST_2\")\n .electableNodes(3)\n .priority(7)\n .readOnlyNodes(0)\n .build())\n .build())\n .autoScalingDiskGbEnabled(false)\n .mongoDbMajorVersion(\"4.2\")\n .providerName(\"AZURE\")\n .providerInstanceSizeName(\"M10\")\n .build());\n\n var testNetworkPeering = new NetworkPeering(\"testNetworkPeering\", NetworkPeeringArgs.builder() \n .projectId(local.project_id())\n .containerId(testCluster.containerId())\n .providerName(\"AZURE\")\n .azureDirectoryId(local.AZURE_DIRECTORY_ID())\n .azureSubscriptionId(local.AZURE_SUBSCRIPTION_ID())\n .resourceGroupName(local.AZURE_RESOURCE_GROUP_NAME())\n .vnetName(local.AZURE_VNET_NAME())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Ensure you have created the required Azure service principal first, see\n # see https://docs.atlas.mongodb.com/security-vpc-peering/\n\n # Create an Atlas cluster, this creates a container if one\n # does not yet exist for this AZURE region\n testCluster:\n type: mongodbatlas:Cluster\n properties:\n projectId: ${local.project_id}\n clusterType: REPLICASET\n replicationSpecs:\n - numShards: 1\n regionsConfigs:\n - regionName: US_EAST_2\n electableNodes: 3\n priority: 7\n readOnlyNodes: 0\n autoScalingDiskGbEnabled: false\n mongoDbMajorVersion: '4.2'\n # Provider Settings \"block\"\n providerName: AZURE\n providerInstanceSizeName: M10\n # Create the peering connection request\n testNetworkPeering:\n type: mongodbatlas:NetworkPeering\n properties:\n projectId: ${local.project_id}\n containerId: ${testCluster.containerId}\n providerName: AZURE\n azureDirectoryId: ${local.AZURE_DIRECTORY_ID}\n azureSubscriptionId: ${local.AZURE_SUBSCRIPTION_ID}\n resourceGroupName: ${local.AZURE_RESOURCE_GROUP_NAME}\n vnetName: ${local.AZURE_VNET_NAME}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nNetwork Peering Connections can be imported using project ID and network peering id, in the format `PROJECTID-PEERID-PROVIDERNAME`, e.g.\n\n```sh\n $ pulumi import mongodbatlas:index/networkPeering:NetworkPeering my_peering 1112222b3bf99403840e8934-5cbf563d87d9d67253be590a-AWS\n```\n See detailed information for arguments and attributes[MongoDB API Network Peering Connection](https://docs.atlas.mongodb.com/reference/api/vpc-create-peering-connection/)\n\n-\u003e __NOTE:__ If you need to get an existing container ID see the How-To Guide.\n\n", + "description": "`mongodbatlas.NetworkPeering` provides a Network Peering Connection resource. The resource lets you create, edit and delete network peering connections. The resource requires your Project ID. \n\nEnsure you have first created a network container if it is required for your configuration. See the network_container resource documentation to determine if you need a network container first. Examples for creating both container and peering resource are shown below as well as examples for creating the peering connection only.\n\n\u003e **GCP AND AZURE ONLY:** Connect via Peering Only mode is deprecated, so no longer needed. See [disable Peering Only mode](https://docs.atlas.mongodb.com/reference/faq/connection-changes/#disable-peering-mode) for details\n\n\u003e **AZURE ONLY:** To create the peering request with an Azure VNET, you must grant Atlas the following permissions on the virtual network.\n Microsoft.Network/virtualNetworks/virtualNetworkPeerings/read\n Microsoft.Network/virtualNetworks/virtualNetworkPeerings/write\n Microsoft.Network/virtualNetworks/virtualNetworkPeerings/delete\n Microsoft.Network/virtualNetworks/peer/action\nFor more information see https://docs.atlas.mongodb.com/security-vpc-peering/ and https://docs.atlas.mongodb.com/reference/api/vpc-create-peering-connection/\n\n\u003e **Create a Whitelist:** Ensure you whitelist the private IP ranges of the subnets in which your application is hosted in order to connect to your Atlas cluster. See the project_ip_whitelist resource.\n\n\u003e **NOTE:** Groups and projects are synonymous terms. You may find **group_id** in the official documentation.\n\n\n{{% examples %}}\n## Example Usage\n\n### Container \u0026 Peering Connection\n{{% example %}}\n### Example with AWS\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\n// Container example provided but not always required, \n// see network_container documentation for details. \nconst testNetworkContainer = new mongodbatlas.NetworkContainer(\"testNetworkContainer\", {\n projectId: local.project_id,\n atlasCidrBlock: \"10.8.0.0/21\",\n providerName: \"AWS\",\n regionName: \"US_EAST_1\",\n});\n// Create the peering connection request\nconst testNetworkPeering = new mongodbatlas.NetworkPeering(\"testNetworkPeering\", {\n accepterRegionName: \"us-east-1\",\n projectId: local.project_id,\n containerId: \"507f1f77bcf86cd799439011\",\n providerName: \"AWS\",\n routeTableCidrBlock: \"192.168.0.0/24\",\n vpcId: \"vpc-abc123abc123\",\n awsAccountId: \"abc123abc123\",\n});\n// the following assumes an AWS provider is configured\n// Accept the peering connection request\nconst peer = new aws.ec2.VpcPeeringConnectionAccepter(\"peer\", {\n vpcPeeringConnectionId: testNetworkPeering.connectionId,\n autoAccept: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_mongodbatlas as mongodbatlas\n\n# Container example provided but not always required, \n# see network_container documentation for details. \ntest_network_container = mongodbatlas.NetworkContainer(\"testNetworkContainer\",\n project_id=local[\"project_id\"],\n atlas_cidr_block=\"10.8.0.0/21\",\n provider_name=\"AWS\",\n region_name=\"US_EAST_1\")\n# Create the peering connection request\ntest_network_peering = mongodbatlas.NetworkPeering(\"testNetworkPeering\",\n accepter_region_name=\"us-east-1\",\n project_id=local[\"project_id\"],\n container_id=\"507f1f77bcf86cd799439011\",\n provider_name=\"AWS\",\n route_table_cidr_block=\"192.168.0.0/24\",\n vpc_id=\"vpc-abc123abc123\",\n aws_account_id=\"abc123abc123\")\n# the following assumes an AWS provider is configured\n# Accept the peering connection request\npeer = aws.ec2.VpcPeeringConnectionAccepter(\"peer\",\n vpc_peering_connection_id=test_network_peering.connection_id,\n auto_accept=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Container example provided but not always required, \n // see network_container documentation for details. \n var testNetworkContainer = new Mongodbatlas.NetworkContainer(\"testNetworkContainer\", new()\n {\n ProjectId = local.Project_id,\n AtlasCidrBlock = \"10.8.0.0/21\",\n ProviderName = \"AWS\",\n RegionName = \"US_EAST_1\",\n });\n\n // Create the peering connection request\n var testNetworkPeering = new Mongodbatlas.NetworkPeering(\"testNetworkPeering\", new()\n {\n AccepterRegionName = \"us-east-1\",\n ProjectId = local.Project_id,\n ContainerId = \"507f1f77bcf86cd799439011\",\n ProviderName = \"AWS\",\n RouteTableCidrBlock = \"192.168.0.0/24\",\n VpcId = \"vpc-abc123abc123\",\n AwsAccountId = \"abc123abc123\",\n });\n\n // the following assumes an AWS provider is configured\n // Accept the peering connection request\n var peer = new Aws.Ec2.VpcPeeringConnectionAccepter(\"peer\", new()\n {\n VpcPeeringConnectionId = testNetworkPeering.ConnectionId,\n AutoAccept = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\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 := mongodbatlas.NewNetworkContainer(ctx, \"testNetworkContainer\", \u0026mongodbatlas.NetworkContainerArgs{\n\t\t\tProjectId: pulumi.Any(local.Project_id),\n\t\t\tAtlasCidrBlock: pulumi.String(\"10.8.0.0/21\"),\n\t\t\tProviderName: pulumi.String(\"AWS\"),\n\t\t\tRegionName: pulumi.String(\"US_EAST_1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestNetworkPeering, err := mongodbatlas.NewNetworkPeering(ctx, \"testNetworkPeering\", \u0026mongodbatlas.NetworkPeeringArgs{\n\t\t\tAccepterRegionName: pulumi.String(\"us-east-1\"),\n\t\t\tProjectId: pulumi.Any(local.Project_id),\n\t\t\tContainerId: pulumi.String(\"507f1f77bcf86cd799439011\"),\n\t\t\tProviderName: pulumi.String(\"AWS\"),\n\t\t\tRouteTableCidrBlock: pulumi.String(\"192.168.0.0/24\"),\n\t\t\tVpcId: pulumi.String(\"vpc-abc123abc123\"),\n\t\t\tAwsAccountId: pulumi.String(\"abc123abc123\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcPeeringConnectionAccepter(ctx, \"peer\", \u0026ec2.VpcPeeringConnectionAccepterArgs{\n\t\t\tVpcPeeringConnectionId: testNetworkPeering.ConnectionId,\n\t\t\tAutoAccept: pulumi.Bool(true),\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.mongodbatlas.NetworkContainer;\nimport com.pulumi.mongodbatlas.NetworkContainerArgs;\nimport com.pulumi.mongodbatlas.NetworkPeering;\nimport com.pulumi.mongodbatlas.NetworkPeeringArgs;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionAccepter;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionAccepterArgs;\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 testNetworkContainer = new NetworkContainer(\"testNetworkContainer\", NetworkContainerArgs.builder() \n .projectId(local.project_id())\n .atlasCidrBlock(\"10.8.0.0/21\")\n .providerName(\"AWS\")\n .regionName(\"US_EAST_1\")\n .build());\n\n var testNetworkPeering = new NetworkPeering(\"testNetworkPeering\", NetworkPeeringArgs.builder() \n .accepterRegionName(\"us-east-1\")\n .projectId(local.project_id())\n .containerId(\"507f1f77bcf86cd799439011\")\n .providerName(\"AWS\")\n .routeTableCidrBlock(\"192.168.0.0/24\")\n .vpcId(\"vpc-abc123abc123\")\n .awsAccountId(\"abc123abc123\")\n .build());\n\n var peer = new VpcPeeringConnectionAccepter(\"peer\", VpcPeeringConnectionAccepterArgs.builder() \n .vpcPeeringConnectionId(testNetworkPeering.connectionId())\n .autoAccept(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Container example provided but not always required, \n # see network_container documentation for details.\n testNetworkContainer:\n type: mongodbatlas:NetworkContainer\n properties:\n projectId: ${local.project_id}\n atlasCidrBlock: 10.8.0.0/21\n providerName: AWS\n regionName: US_EAST_1\n # Create the peering connection request\n testNetworkPeering:\n type: mongodbatlas:NetworkPeering\n properties:\n accepterRegionName: us-east-1\n projectId: ${local.project_id}\n containerId: 507f1f77bcf86cd799439011\n providerName: AWS\n routeTableCidrBlock: 192.168.0.0/24\n vpcId: vpc-abc123abc123\n awsAccountId: abc123abc123\n # the following assumes an AWS provider is configured\n # Accept the peering connection request\n peer:\n type: aws:ec2:VpcPeeringConnectionAccepter\n properties:\n vpcPeeringConnectionId: ${testNetworkPeering.connectionId}\n autoAccept: true\n```\n{{% /example %}}\n{{% example %}}\n### Example with GCP\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcp from \"@pulumi/gcp\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\n// Container example provided but not always required, \n// see network_container documentation for details. \nconst testNetworkContainer = new mongodbatlas.NetworkContainer(\"testNetworkContainer\", {\n projectId: local.project_id,\n atlasCidrBlock: \"10.8.0.0/21\",\n providerName: \"GCP\",\n});\n// Create the peering connection request\nconst testNetworkPeering = new mongodbatlas.NetworkPeering(\"testNetworkPeering\", {\n projectId: local.project_id,\n containerId: testNetworkContainer.containerId,\n providerName: \"GCP\",\n gcpProjectId: local.GCP_PROJECT_ID,\n networkName: \"default\",\n});\nconst default = gcp.compute.getNetwork({\n name: \"default\",\n});\n// Create the GCP peer\nconst peering = new gcp.compute.NetworkPeering(\"peering\", {\n network: _default.then(_default =\u003e _default.selfLink),\n peerNetwork: pulumi.interpolate`https://www.googleapis.com/compute/v1/projects/${testNetworkPeering.atlasGcpProjectId}/global/networks/${testNetworkPeering.atlasVpcName}`,\n});\n// Create the cluster once the peering connection is completed\nconst testCluster = new mongodbatlas.Cluster(\"testCluster\", {\n projectId: local.project_id,\n numShards: 1,\n clusterType: \"REPLICASET\",\n replicationSpecs: [{\n numShards: 1,\n regionsConfigs: [{\n regionName: \"US_EAST_4\",\n electableNodes: 3,\n priority: 7,\n readOnlyNodes: 0,\n }],\n }],\n autoScalingDiskGbEnabled: true,\n mongoDbMajorVersion: \"4.2\",\n providerName: \"GCP\",\n providerInstanceSizeName: \"M10\",\n}, {\n dependsOn: [\"google_compute_network_peering.peering\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_gcp as gcp\nimport pulumi_mongodbatlas as mongodbatlas\n\n# Container example provided but not always required, \n# see network_container documentation for details. \ntest_network_container = mongodbatlas.NetworkContainer(\"testNetworkContainer\",\n project_id=local[\"project_id\"],\n atlas_cidr_block=\"10.8.0.0/21\",\n provider_name=\"GCP\")\n# Create the peering connection request\ntest_network_peering = mongodbatlas.NetworkPeering(\"testNetworkPeering\",\n project_id=local[\"project_id\"],\n container_id=test_network_container.container_id,\n provider_name=\"GCP\",\n gcp_project_id=local[\"GCP_PROJECT_ID\"],\n network_name=\"default\")\ndefault = gcp.compute.get_network(name=\"default\")\n# Create the GCP peer\npeering = gcp.compute.NetworkPeering(\"peering\",\n network=default.self_link,\n peer_network=pulumi.Output.all(test_network_peering.atlas_gcp_project_id, test_network_peering.atlas_vpc_name).apply(lambda atlas_gcp_project_id, atlas_vpc_name: f\"https://www.googleapis.com/compute/v1/projects/{atlas_gcp_project_id}/global/networks/{atlas_vpc_name}\"))\n# Create the cluster once the peering connection is completed\ntest_cluster = mongodbatlas.Cluster(\"testCluster\",\n project_id=local[\"project_id\"],\n num_shards=1,\n cluster_type=\"REPLICASET\",\n replication_specs=[mongodbatlas.ClusterReplicationSpecArgs(\n num_shards=1,\n regions_configs=[mongodbatlas.ClusterReplicationSpecRegionsConfigArgs(\n region_name=\"US_EAST_4\",\n electable_nodes=3,\n priority=7,\n read_only_nodes=0,\n )],\n )],\n auto_scaling_disk_gb_enabled=True,\n mongo_db_major_version=\"4.2\",\n provider_name=\"GCP\",\n provider_instance_size_name=\"M10\",\n opts=pulumi.ResourceOptions(depends_on=[\"google_compute_network_peering.peering\"]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcp = Pulumi.Gcp;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Container example provided but not always required, \n // see network_container documentation for details. \n var testNetworkContainer = new Mongodbatlas.NetworkContainer(\"testNetworkContainer\", new()\n {\n ProjectId = local.Project_id,\n AtlasCidrBlock = \"10.8.0.0/21\",\n ProviderName = \"GCP\",\n });\n\n // Create the peering connection request\n var testNetworkPeering = new Mongodbatlas.NetworkPeering(\"testNetworkPeering\", new()\n {\n ProjectId = local.Project_id,\n ContainerId = testNetworkContainer.ContainerId,\n ProviderName = \"GCP\",\n GcpProjectId = local.GCP_PROJECT_ID,\n NetworkName = \"default\",\n });\n\n var @default = Gcp.Compute.GetNetwork.Invoke(new()\n {\n Name = \"default\",\n });\n\n // Create the GCP peer\n var peering = new Gcp.Compute.NetworkPeering(\"peering\", new()\n {\n Network = @default.Apply(@default =\u003e @default.Apply(getNetworkResult =\u003e getNetworkResult.SelfLink)),\n PeerNetwork = Output.Tuple(testNetworkPeering.AtlasGcpProjectId, testNetworkPeering.AtlasVpcName).Apply(values =\u003e\n {\n var atlasGcpProjectId = values.Item1;\n var atlasVpcName = values.Item2;\n return $\"https://www.googleapis.com/compute/v1/projects/{atlasGcpProjectId}/global/networks/{atlasVpcName}\";\n }),\n });\n\n // Create the cluster once the peering connection is completed\n var testCluster = new Mongodbatlas.Cluster(\"testCluster\", new()\n {\n ProjectId = local.Project_id,\n NumShards = 1,\n ClusterType = \"REPLICASET\",\n ReplicationSpecs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecArgs\n {\n NumShards = 1,\n RegionsConfigs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecRegionsConfigArgs\n {\n RegionName = \"US_EAST_4\",\n ElectableNodes = 3,\n Priority = 7,\n ReadOnlyNodes = 0,\n },\n },\n },\n },\n AutoScalingDiskGbEnabled = true,\n MongoDbMajorVersion = \"4.2\",\n ProviderName = \"GCP\",\n ProviderInstanceSizeName = \"M10\",\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n \"google_compute_network_peering.peering\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/compute\"\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestNetworkContainer, err := mongodbatlas.NewNetworkContainer(ctx, \"testNetworkContainer\", \u0026mongodbatlas.NetworkContainerArgs{\n\t\t\tProjectId: pulumi.Any(local.Project_id),\n\t\t\tAtlasCidrBlock: pulumi.String(\"10.8.0.0/21\"),\n\t\t\tProviderName: pulumi.String(\"GCP\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestNetworkPeering, err := mongodbatlas.NewNetworkPeering(ctx, \"testNetworkPeering\", \u0026mongodbatlas.NetworkPeeringArgs{\n\t\t\tProjectId: pulumi.Any(local.Project_id),\n\t\t\tContainerId: testNetworkContainer.ContainerId,\n\t\t\tProviderName: pulumi.String(\"GCP\"),\n\t\t\tGcpProjectId: pulumi.Any(local.GCP_PROJECT_ID),\n\t\t\tNetworkName: pulumi.String(\"default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := compute.LookupNetwork(ctx, \u0026compute.LookupNetworkArgs{\n\t\t\tName: \"default\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = compute.NewNetworkPeering(ctx, \"peering\", \u0026compute.NetworkPeeringArgs{\n\t\t\tNetwork: *pulumi.String(_default.SelfLink),\n\t\t\tPeerNetwork: pulumi.All(testNetworkPeering.AtlasGcpProjectId, testNetworkPeering.AtlasVpcName).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tatlasGcpProjectId := _args[0].(string)\n\t\t\t\tatlasVpcName := _args[1].(string)\n\t\t\t\treturn fmt.Sprintf(\"https://www.googleapis.com/compute/v1/projects/%v/global/networks/%v\", atlasGcpProjectId, atlasVpcName), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mongodbatlas.NewCluster(ctx, \"testCluster\", \u0026mongodbatlas.ClusterArgs{\n\t\t\tProjectId: pulumi.Any(local.Project_id),\n\t\t\tNumShards: pulumi.Int(1),\n\t\t\tClusterType: pulumi.String(\"REPLICASET\"),\n\t\t\tReplicationSpecs: mongodbatlas.ClusterReplicationSpecArray{\n\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecArgs{\n\t\t\t\t\tNumShards: pulumi.Int(1),\n\t\t\t\t\tRegionsConfigs: mongodbatlas.ClusterReplicationSpecRegionsConfigArray{\n\t\t\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecRegionsConfigArgs{\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"US_EAST_4\"),\n\t\t\t\t\t\t\tElectableNodes: pulumi.Int(3),\n\t\t\t\t\t\t\tPriority: pulumi.Int(7),\n\t\t\t\t\t\t\tReadOnlyNodes: pulumi.Int(0),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tAutoScalingDiskGbEnabled: pulumi.Bool(true),\n\t\t\tMongoDbMajorVersion: pulumi.String(\"4.2\"),\n\t\t\tProviderName: pulumi.String(\"GCP\"),\n\t\t\tProviderInstanceSizeName: pulumi.String(\"M10\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tpulumi.Resource(\"google_compute_network_peering.peering\"),\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.mongodbatlas.NetworkContainer;\nimport com.pulumi.mongodbatlas.NetworkContainerArgs;\nimport com.pulumi.mongodbatlas.NetworkPeering;\nimport com.pulumi.mongodbatlas.NetworkPeeringArgs;\nimport com.pulumi.gcp.compute.ComputeFunctions;\nimport com.pulumi.gcp.compute.inputs.GetNetworkArgs;\nimport com.pulumi.gcp.compute.NetworkPeering;\nimport com.pulumi.gcp.compute.NetworkPeeringArgs;\nimport com.pulumi.mongodbatlas.Cluster;\nimport com.pulumi.mongodbatlas.ClusterArgs;\nimport com.pulumi.mongodbatlas.inputs.ClusterReplicationSpecArgs;\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 testNetworkContainer = new NetworkContainer(\"testNetworkContainer\", NetworkContainerArgs.builder() \n .projectId(local.project_id())\n .atlasCidrBlock(\"10.8.0.0/21\")\n .providerName(\"GCP\")\n .build());\n\n var testNetworkPeering = new NetworkPeering(\"testNetworkPeering\", NetworkPeeringArgs.builder() \n .projectId(local.project_id())\n .containerId(testNetworkContainer.containerId())\n .providerName(\"GCP\")\n .gcpProjectId(local.GCP_PROJECT_ID())\n .networkName(\"default\")\n .build());\n\n final var default = ComputeFunctions.getNetwork(GetNetworkArgs.builder()\n .name(\"default\")\n .build());\n\n var peering = new NetworkPeering(\"peering\", NetworkPeeringArgs.builder() \n .network(default_.selfLink())\n .peerNetwork(Output.tuple(testNetworkPeering.atlasGcpProjectId(), testNetworkPeering.atlasVpcName()).applyValue(values -\u003e {\n var atlasGcpProjectId = values.t1;\n var atlasVpcName = values.t2;\n return String.format(\"https://www.googleapis.com/compute/v1/projects/%s/global/networks/%s\", atlasGcpProjectId,atlasVpcName);\n }))\n .build());\n\n var testCluster = new Cluster(\"testCluster\", ClusterArgs.builder() \n .projectId(local.project_id())\n .numShards(1)\n .clusterType(\"REPLICASET\")\n .replicationSpecs(ClusterReplicationSpecArgs.builder()\n .numShards(1)\n .regionsConfigs(ClusterReplicationSpecRegionsConfigArgs.builder()\n .regionName(\"US_EAST_4\")\n .electableNodes(3)\n .priority(7)\n .readOnlyNodes(0)\n .build())\n .build())\n .autoScalingDiskGbEnabled(true)\n .mongoDbMajorVersion(\"4.2\")\n .providerName(\"GCP\")\n .providerInstanceSizeName(\"M10\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(\"google_compute_network_peering.peering\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Container example provided but not always required, \n # see network_container documentation for details.\n testNetworkContainer:\n type: mongodbatlas:NetworkContainer\n properties:\n projectId: ${local.project_id}\n atlasCidrBlock: 10.8.0.0/21\n providerName: GCP\n # Create the peering connection request\n testNetworkPeering:\n type: mongodbatlas:NetworkPeering\n properties:\n projectId: ${local.project_id}\n containerId: ${testNetworkContainer.containerId}\n providerName: GCP\n gcpProjectId: ${local.GCP_PROJECT_ID}\n networkName: default\n # Create the GCP peer\n peering:\n type: gcp:compute:NetworkPeering\n properties:\n network: ${default.selfLink}\n peerNetwork: https://www.googleapis.com/compute/v1/projects/${testNetworkPeering.atlasGcpProjectId}/global/networks/${testNetworkPeering.atlasVpcName}\n # Create the cluster once the peering connection is completed\n testCluster:\n type: mongodbatlas:Cluster\n properties:\n projectId: ${local.project_id}\n numShards: 1\n clusterType: REPLICASET\n replicationSpecs:\n - numShards: 1\n regionsConfigs:\n - regionName: US_EAST_4\n electableNodes: 3\n priority: 7\n readOnlyNodes: 0\n autoScalingDiskGbEnabled: true\n mongoDbMajorVersion: '4.2'\n # Provider Settings \"block\"\n providerName: GCP\n providerInstanceSizeName: M10\n options:\n dependson:\n - google_compute_network_peering.peering\nvariables:\n default:\n fn::invoke:\n Function: gcp:compute:getNetwork\n Arguments:\n name: default\n```\n{{% /example %}}\n{{% example %}}\n### Example with Azure\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\n// Ensure you have created the required Azure service principal first, see\n// see https://docs.atlas.mongodb.com/security-vpc-peering/\n// Container example provided but not always required, \n// see network_container documentation for details. \nconst testNetworkContainer = new mongodbatlas.NetworkContainer(\"testNetworkContainer\", {\n projectId: local.project_id,\n atlasCidrBlock: local.ATLAS_CIDR_BLOCK,\n providerName: \"AZURE\",\n region: \"US_EAST_2\",\n});\n// Create the peering connection request\nconst testNetworkPeering = new mongodbatlas.NetworkPeering(\"testNetworkPeering\", {\n projectId: local.project_id,\n containerId: testNetworkContainer.containerId,\n providerName: \"AZURE\",\n azureDirectoryId: local.AZURE_DIRECTORY_ID,\n azureSubscriptionId: local.AZURE_SUBSCRIPTION_ID,\n resourceGroupName: local.AZURE_RESOURCES_GROUP_NAME,\n vnetName: local.AZURE_VNET_NAME,\n});\n// Create the cluster once the peering connection is completed\nconst testCluster = new mongodbatlas.Cluster(\"testCluster\", {\n projectId: local.project_id,\n clusterType: \"REPLICASET\",\n replicationSpecs: [{\n numShards: 1,\n regionsConfigs: [{\n regionName: \"US_EAST_2\",\n electableNodes: 3,\n priority: 7,\n readOnlyNodes: 0,\n }],\n }],\n autoScalingDiskGbEnabled: true,\n mongoDbMajorVersion: \"4.2\",\n providerName: \"AZURE\",\n providerDiskTypeName: \"P4\",\n providerInstanceSizeName: \"M10\",\n}, {\n dependsOn: [\"mongodbatlas_network_peering.test\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\n# Ensure you have created the required Azure service principal first, see\n# see https://docs.atlas.mongodb.com/security-vpc-peering/\n# Container example provided but not always required, \n# see network_container documentation for details. \ntest_network_container = mongodbatlas.NetworkContainer(\"testNetworkContainer\",\n project_id=local[\"project_id\"],\n atlas_cidr_block=local[\"ATLAS_CIDR_BLOCK\"],\n provider_name=\"AZURE\",\n region=\"US_EAST_2\")\n# Create the peering connection request\ntest_network_peering = mongodbatlas.NetworkPeering(\"testNetworkPeering\",\n project_id=local[\"project_id\"],\n container_id=test_network_container.container_id,\n provider_name=\"AZURE\",\n azure_directory_id=local[\"AZURE_DIRECTORY_ID\"],\n azure_subscription_id=local[\"AZURE_SUBSCRIPTION_ID\"],\n resource_group_name=local[\"AZURE_RESOURCES_GROUP_NAME\"],\n vnet_name=local[\"AZURE_VNET_NAME\"])\n# Create the cluster once the peering connection is completed\ntest_cluster = mongodbatlas.Cluster(\"testCluster\",\n project_id=local[\"project_id\"],\n cluster_type=\"REPLICASET\",\n replication_specs=[mongodbatlas.ClusterReplicationSpecArgs(\n num_shards=1,\n regions_configs=[mongodbatlas.ClusterReplicationSpecRegionsConfigArgs(\n region_name=\"US_EAST_2\",\n electable_nodes=3,\n priority=7,\n read_only_nodes=0,\n )],\n )],\n auto_scaling_disk_gb_enabled=True,\n mongo_db_major_version=\"4.2\",\n provider_name=\"AZURE\",\n provider_disk_type_name=\"P4\",\n provider_instance_size_name=\"M10\",\n opts=pulumi.ResourceOptions(depends_on=[\"mongodbatlas_network_peering.test\"]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Ensure you have created the required Azure service principal first, see\n // see https://docs.atlas.mongodb.com/security-vpc-peering/\n // Container example provided but not always required, \n // see network_container documentation for details. \n var testNetworkContainer = new Mongodbatlas.NetworkContainer(\"testNetworkContainer\", new()\n {\n ProjectId = local.Project_id,\n AtlasCidrBlock = local.ATLAS_CIDR_BLOCK,\n ProviderName = \"AZURE\",\n Region = \"US_EAST_2\",\n });\n\n // Create the peering connection request\n var testNetworkPeering = new Mongodbatlas.NetworkPeering(\"testNetworkPeering\", new()\n {\n ProjectId = local.Project_id,\n ContainerId = testNetworkContainer.ContainerId,\n ProviderName = \"AZURE\",\n AzureDirectoryId = local.AZURE_DIRECTORY_ID,\n AzureSubscriptionId = local.AZURE_SUBSCRIPTION_ID,\n ResourceGroupName = local.AZURE_RESOURCES_GROUP_NAME,\n VnetName = local.AZURE_VNET_NAME,\n });\n\n // Create the cluster once the peering connection is completed\n var testCluster = new Mongodbatlas.Cluster(\"testCluster\", new()\n {\n ProjectId = local.Project_id,\n ClusterType = \"REPLICASET\",\n ReplicationSpecs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecArgs\n {\n NumShards = 1,\n RegionsConfigs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecRegionsConfigArgs\n {\n RegionName = \"US_EAST_2\",\n ElectableNodes = 3,\n Priority = 7,\n ReadOnlyNodes = 0,\n },\n },\n },\n },\n AutoScalingDiskGbEnabled = true,\n MongoDbMajorVersion = \"4.2\",\n ProviderName = \"AZURE\",\n ProviderDiskTypeName = \"P4\",\n ProviderInstanceSizeName = \"M10\",\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n \"mongodbatlas_network_peering.test\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestNetworkContainer, err := mongodbatlas.NewNetworkContainer(ctx, \"testNetworkContainer\", \u0026mongodbatlas.NetworkContainerArgs{\n\t\t\tProjectId: pulumi.Any(local.Project_id),\n\t\t\tAtlasCidrBlock: pulumi.Any(local.ATLAS_CIDR_BLOCK),\n\t\t\tProviderName: pulumi.String(\"AZURE\"),\n\t\t\tRegion: pulumi.String(\"US_EAST_2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mongodbatlas.NewNetworkPeering(ctx, \"testNetworkPeering\", \u0026mongodbatlas.NetworkPeeringArgs{\n\t\t\tProjectId: pulumi.Any(local.Project_id),\n\t\t\tContainerId: testNetworkContainer.ContainerId,\n\t\t\tProviderName: pulumi.String(\"AZURE\"),\n\t\t\tAzureDirectoryId: pulumi.Any(local.AZURE_DIRECTORY_ID),\n\t\t\tAzureSubscriptionId: pulumi.Any(local.AZURE_SUBSCRIPTION_ID),\n\t\t\tResourceGroupName: pulumi.Any(local.AZURE_RESOURCES_GROUP_NAME),\n\t\t\tVnetName: pulumi.Any(local.AZURE_VNET_NAME),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mongodbatlas.NewCluster(ctx, \"testCluster\", \u0026mongodbatlas.ClusterArgs{\n\t\t\tProjectId: pulumi.Any(local.Project_id),\n\t\t\tClusterType: pulumi.String(\"REPLICASET\"),\n\t\t\tReplicationSpecs: mongodbatlas.ClusterReplicationSpecArray{\n\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecArgs{\n\t\t\t\t\tNumShards: pulumi.Int(1),\n\t\t\t\t\tRegionsConfigs: mongodbatlas.ClusterReplicationSpecRegionsConfigArray{\n\t\t\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecRegionsConfigArgs{\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"US_EAST_2\"),\n\t\t\t\t\t\t\tElectableNodes: pulumi.Int(3),\n\t\t\t\t\t\t\tPriority: pulumi.Int(7),\n\t\t\t\t\t\t\tReadOnlyNodes: pulumi.Int(0),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tAutoScalingDiskGbEnabled: pulumi.Bool(true),\n\t\t\tMongoDbMajorVersion: pulumi.String(\"4.2\"),\n\t\t\tProviderName: pulumi.String(\"AZURE\"),\n\t\t\tProviderDiskTypeName: pulumi.String(\"P4\"),\n\t\t\tProviderInstanceSizeName: pulumi.String(\"M10\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tpulumi.Resource(\"mongodbatlas_network_peering.test\"),\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.mongodbatlas.NetworkContainer;\nimport com.pulumi.mongodbatlas.NetworkContainerArgs;\nimport com.pulumi.mongodbatlas.NetworkPeering;\nimport com.pulumi.mongodbatlas.NetworkPeeringArgs;\nimport com.pulumi.mongodbatlas.Cluster;\nimport com.pulumi.mongodbatlas.ClusterArgs;\nimport com.pulumi.mongodbatlas.inputs.ClusterReplicationSpecArgs;\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 testNetworkContainer = new NetworkContainer(\"testNetworkContainer\", NetworkContainerArgs.builder() \n .projectId(local.project_id())\n .atlasCidrBlock(local.ATLAS_CIDR_BLOCK())\n .providerName(\"AZURE\")\n .region(\"US_EAST_2\")\n .build());\n\n var testNetworkPeering = new NetworkPeering(\"testNetworkPeering\", NetworkPeeringArgs.builder() \n .projectId(local.project_id())\n .containerId(testNetworkContainer.containerId())\n .providerName(\"AZURE\")\n .azureDirectoryId(local.AZURE_DIRECTORY_ID())\n .azureSubscriptionId(local.AZURE_SUBSCRIPTION_ID())\n .resourceGroupName(local.AZURE_RESOURCES_GROUP_NAME())\n .vnetName(local.AZURE_VNET_NAME())\n .build());\n\n var testCluster = new Cluster(\"testCluster\", ClusterArgs.builder() \n .projectId(local.project_id())\n .clusterType(\"REPLICASET\")\n .replicationSpecs(ClusterReplicationSpecArgs.builder()\n .numShards(1)\n .regionsConfigs(ClusterReplicationSpecRegionsConfigArgs.builder()\n .regionName(\"US_EAST_2\")\n .electableNodes(3)\n .priority(7)\n .readOnlyNodes(0)\n .build())\n .build())\n .autoScalingDiskGbEnabled(true)\n .mongoDbMajorVersion(\"4.2\")\n .providerName(\"AZURE\")\n .providerDiskTypeName(\"P4\")\n .providerInstanceSizeName(\"M10\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(\"mongodbatlas_network_peering.test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Ensure you have created the required Azure service principal first, see\n # see https://docs.atlas.mongodb.com/security-vpc-peering/\n\n # Container example provided but not always required, \n # see network_container documentation for details.\n testNetworkContainer:\n type: mongodbatlas:NetworkContainer\n properties:\n projectId: ${local.project_id}\n atlasCidrBlock: ${local.ATLAS_CIDR_BLOCK}\n providerName: AZURE\n region: US_EAST_2\n # Create the peering connection request\n testNetworkPeering:\n type: mongodbatlas:NetworkPeering\n properties:\n projectId: ${local.project_id}\n containerId: ${testNetworkContainer.containerId}\n providerName: AZURE\n azureDirectoryId: ${local.AZURE_DIRECTORY_ID}\n azureSubscriptionId: ${local.AZURE_SUBSCRIPTION_ID}\n resourceGroupName: ${local.AZURE_RESOURCES_GROUP_NAME}\n vnetName: ${local.AZURE_VNET_NAME}\n # Create the cluster once the peering connection is completed\n testCluster:\n type: mongodbatlas:Cluster\n properties:\n projectId: ${local.project_id}\n clusterType: REPLICASET\n replicationSpecs:\n - numShards: 1\n regionsConfigs:\n - regionName: US_EAST_2\n electableNodes: 3\n priority: 7\n readOnlyNodes: 0\n autoScalingDiskGbEnabled: true\n mongoDbMajorVersion: '4.2'\n # Provider Settings \"block\"\n providerName: AZURE\n providerDiskTypeName: P4\n providerInstanceSizeName: M10\n options:\n dependson:\n - mongodbatlas_network_peering.test\n```\n{{% /example %}}\n### Peering Connection Only, Container Exists\nYou can create a peering connection if an appropriate container for your cloud provider already exists in your project (see the network_container resource for more information). A container may already exist if you have already created a cluster in your project, if so you may obtain the `container_id` from the cluster resource as shown in the examples below.\n{{% example %}}\n### Example with AWS\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\n// Create an Atlas cluster, this creates a container if one\n// does not yet exist for this AWS region\nconst test = new mongodbatlas.Cluster(\"test\", {\n projectId: local.project_id,\n clusterType: \"REPLICASET\",\n replicationSpecs: [{\n numShards: 1,\n regionsConfigs: [{\n regionName: \"US_EAST_2\",\n electableNodes: 3,\n priority: 7,\n readOnlyNodes: 0,\n }],\n }],\n autoScalingDiskGbEnabled: false,\n mongoDbMajorVersion: \"4.2\",\n providerName: \"AWS\",\n providerInstanceSizeName: \"M10\",\n});\n// the following assumes an AWS provider is configured\nconst _default = new aws.ec2.DefaultVpc(\"default\", {tags: {\n Name: \"Default VPC\",\n}});\n// Create the peering connection request\nconst mongoPeer = new mongodbatlas.NetworkPeering(\"mongoPeer\", {\n accepterRegionName: \"us-east-2\",\n projectId: local.project_id,\n containerId: test.containerId,\n providerName: \"AWS\",\n routeTableCidrBlock: \"172.31.0.0/16\",\n vpcId: _default.id,\n awsAccountId: local.AWS_ACCOUNT_ID,\n});\n// Accept the connection \nconst awsPeer = new aws.ec2.VpcPeeringConnectionAccepter(\"awsPeer\", {\n vpcPeeringConnectionId: mongoPeer.connectionId,\n autoAccept: true,\n tags: {\n Side: \"Accepter\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_mongodbatlas as mongodbatlas\n\n# Create an Atlas cluster, this creates a container if one\n# does not yet exist for this AWS region\ntest = mongodbatlas.Cluster(\"test\",\n project_id=local[\"project_id\"],\n cluster_type=\"REPLICASET\",\n replication_specs=[mongodbatlas.ClusterReplicationSpecArgs(\n num_shards=1,\n regions_configs=[mongodbatlas.ClusterReplicationSpecRegionsConfigArgs(\n region_name=\"US_EAST_2\",\n electable_nodes=3,\n priority=7,\n read_only_nodes=0,\n )],\n )],\n auto_scaling_disk_gb_enabled=False,\n mongo_db_major_version=\"4.2\",\n provider_name=\"AWS\",\n provider_instance_size_name=\"M10\")\n# the following assumes an AWS provider is configured\ndefault = aws.ec2.DefaultVpc(\"default\", tags={\n \"Name\": \"Default VPC\",\n})\n# Create the peering connection request\nmongo_peer = mongodbatlas.NetworkPeering(\"mongoPeer\",\n accepter_region_name=\"us-east-2\",\n project_id=local[\"project_id\"],\n container_id=test.container_id,\n provider_name=\"AWS\",\n route_table_cidr_block=\"172.31.0.0/16\",\n vpc_id=default.id,\n aws_account_id=local[\"AWS_ACCOUNT_ID\"])\n# Accept the connection \naws_peer = aws.ec2.VpcPeeringConnectionAccepter(\"awsPeer\",\n vpc_peering_connection_id=mongo_peer.connection_id,\n auto_accept=True,\n tags={\n \"Side\": \"Accepter\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create an Atlas cluster, this creates a container if one\n // does not yet exist for this AWS region\n var test = new Mongodbatlas.Cluster(\"test\", new()\n {\n ProjectId = local.Project_id,\n ClusterType = \"REPLICASET\",\n ReplicationSpecs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecArgs\n {\n NumShards = 1,\n RegionsConfigs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecRegionsConfigArgs\n {\n RegionName = \"US_EAST_2\",\n ElectableNodes = 3,\n Priority = 7,\n ReadOnlyNodes = 0,\n },\n },\n },\n },\n AutoScalingDiskGbEnabled = false,\n MongoDbMajorVersion = \"4.2\",\n ProviderName = \"AWS\",\n ProviderInstanceSizeName = \"M10\",\n });\n\n // the following assumes an AWS provider is configured\n var @default = new Aws.Ec2.DefaultVpc(\"default\", new()\n {\n Tags = \n {\n { \"Name\", \"Default VPC\" },\n },\n });\n\n // Create the peering connection request\n var mongoPeer = new Mongodbatlas.NetworkPeering(\"mongoPeer\", new()\n {\n AccepterRegionName = \"us-east-2\",\n ProjectId = local.Project_id,\n ContainerId = test.ContainerId,\n ProviderName = \"AWS\",\n RouteTableCidrBlock = \"172.31.0.0/16\",\n VpcId = @default.Id,\n AwsAccountId = local.AWS_ACCOUNT_ID,\n });\n\n // Accept the connection \n var awsPeer = new Aws.Ec2.VpcPeeringConnectionAccepter(\"awsPeer\", new()\n {\n VpcPeeringConnectionId = mongoPeer.ConnectionId,\n AutoAccept = true,\n Tags = \n {\n { \"Side\", \"Accepter\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := mongodbatlas.NewCluster(ctx, \"test\", \u0026mongodbatlas.ClusterArgs{\n\t\t\tProjectId: pulumi.Any(local.Project_id),\n\t\t\tClusterType: pulumi.String(\"REPLICASET\"),\n\t\t\tReplicationSpecs: mongodbatlas.ClusterReplicationSpecArray{\n\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecArgs{\n\t\t\t\t\tNumShards: pulumi.Int(1),\n\t\t\t\t\tRegionsConfigs: mongodbatlas.ClusterReplicationSpecRegionsConfigArray{\n\t\t\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecRegionsConfigArgs{\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"US_EAST_2\"),\n\t\t\t\t\t\t\tElectableNodes: pulumi.Int(3),\n\t\t\t\t\t\t\tPriority: pulumi.Int(7),\n\t\t\t\t\t\t\tReadOnlyNodes: pulumi.Int(0),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tAutoScalingDiskGbEnabled: pulumi.Bool(false),\n\t\t\tMongoDbMajorVersion: pulumi.String(\"4.2\"),\n\t\t\tProviderName: pulumi.String(\"AWS\"),\n\t\t\tProviderInstanceSizeName: pulumi.String(\"M10\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewDefaultVpc(ctx, \"default\", \u0026ec2.DefaultVpcArgs{\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Default VPC\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmongoPeer, err := mongodbatlas.NewNetworkPeering(ctx, \"mongoPeer\", \u0026mongodbatlas.NetworkPeeringArgs{\n\t\t\tAccepterRegionName: pulumi.String(\"us-east-2\"),\n\t\t\tProjectId: pulumi.Any(local.Project_id),\n\t\t\tContainerId: test.ContainerId,\n\t\t\tProviderName: pulumi.String(\"AWS\"),\n\t\t\tRouteTableCidrBlock: pulumi.String(\"172.31.0.0/16\"),\n\t\t\tVpcId: _default.ID(),\n\t\t\tAwsAccountId: pulumi.Any(local.AWS_ACCOUNT_ID),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcPeeringConnectionAccepter(ctx, \"awsPeer\", \u0026ec2.VpcPeeringConnectionAccepterArgs{\n\t\t\tVpcPeeringConnectionId: mongoPeer.ConnectionId,\n\t\t\tAutoAccept: pulumi.Bool(true),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Side\": pulumi.String(\"Accepter\"),\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.mongodbatlas.Cluster;\nimport com.pulumi.mongodbatlas.ClusterArgs;\nimport com.pulumi.mongodbatlas.inputs.ClusterReplicationSpecArgs;\nimport com.pulumi.aws.ec2.DefaultVpc;\nimport com.pulumi.aws.ec2.DefaultVpcArgs;\nimport com.pulumi.mongodbatlas.NetworkPeering;\nimport com.pulumi.mongodbatlas.NetworkPeeringArgs;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionAccepter;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionAccepterArgs;\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 test = new Cluster(\"test\", ClusterArgs.builder() \n .projectId(local.project_id())\n .clusterType(\"REPLICASET\")\n .replicationSpecs(ClusterReplicationSpecArgs.builder()\n .numShards(1)\n .regionsConfigs(ClusterReplicationSpecRegionsConfigArgs.builder()\n .regionName(\"US_EAST_2\")\n .electableNodes(3)\n .priority(7)\n .readOnlyNodes(0)\n .build())\n .build())\n .autoScalingDiskGbEnabled(false)\n .mongoDbMajorVersion(\"4.2\")\n .providerName(\"AWS\")\n .providerInstanceSizeName(\"M10\")\n .build());\n\n var default_ = new DefaultVpc(\"default\", DefaultVpcArgs.builder() \n .tags(Map.of(\"Name\", \"Default VPC\"))\n .build());\n\n var mongoPeer = new NetworkPeering(\"mongoPeer\", NetworkPeeringArgs.builder() \n .accepterRegionName(\"us-east-2\")\n .projectId(local.project_id())\n .containerId(test.containerId())\n .providerName(\"AWS\")\n .routeTableCidrBlock(\"172.31.0.0/16\")\n .vpcId(default_.id())\n .awsAccountId(local.AWS_ACCOUNT_ID())\n .build());\n\n var awsPeer = new VpcPeeringConnectionAccepter(\"awsPeer\", VpcPeeringConnectionAccepterArgs.builder() \n .vpcPeeringConnectionId(mongoPeer.connectionId())\n .autoAccept(true)\n .tags(Map.of(\"Side\", \"Accepter\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create an Atlas cluster, this creates a container if one\n # does not yet exist for this AWS region\n test:\n type: mongodbatlas:Cluster\n properties:\n projectId: ${local.project_id}\n clusterType: REPLICASET\n replicationSpecs:\n - numShards: 1\n regionsConfigs:\n - regionName: US_EAST_2\n electableNodes: 3\n priority: 7\n readOnlyNodes: 0\n autoScalingDiskGbEnabled: false\n mongoDbMajorVersion: '4.2'\n # Provider Settings \"block\"\n providerName: AWS\n providerInstanceSizeName: M10\n # the following assumes an AWS provider is configured\n default:\n type: aws:ec2:DefaultVpc\n properties:\n tags:\n Name: Default VPC\n # Create the peering connection request\n mongoPeer:\n type: mongodbatlas:NetworkPeering\n properties:\n accepterRegionName: us-east-2\n projectId: ${local.project_id}\n containerId: ${test.containerId}\n providerName: AWS\n routeTableCidrBlock: 172.31.0.0/16\n vpcId: ${default.id}\n awsAccountId: ${local.AWS_ACCOUNT_ID}\n # Accept the connection\n awsPeer:\n type: aws:ec2:VpcPeeringConnectionAccepter\n properties:\n vpcPeeringConnectionId: ${mongoPeer.connectionId}\n autoAccept: true\n tags:\n Side: Accepter\n```\n{{% /example %}}\n{{% example %}}\n### Example with GCP\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcp from \"@pulumi/gcp\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\n// Create an Atlas cluster, this creates a container if one\n// does not yet exist for this GCP \nconst testCluster = new mongodbatlas.Cluster(\"testCluster\", {\n projectId: local.project_id,\n clusterType: \"REPLICASET\",\n replicationSpecs: [{\n numShards: 1,\n regionsConfigs: [{\n regionName: \"US_EAST_2\",\n electableNodes: 3,\n priority: 7,\n readOnlyNodes: 0,\n }],\n }],\n autoScalingDiskGbEnabled: true,\n mongoDbMajorVersion: \"4.2\",\n providerName: \"GCP\",\n providerInstanceSizeName: \"M10\",\n});\n// Create the peering connection request\nconst testNetworkPeering = new mongodbatlas.NetworkPeering(\"testNetworkPeering\", {\n projectId: local.project_id,\n atlasCidrBlock: \"192.168.0.0/18\",\n containerId: testCluster.containerId,\n providerName: \"GCP\",\n gcpProjectId: local.GCP_PROJECT_ID,\n networkName: \"default\",\n});\nconst default = gcp.compute.getNetwork({\n name: \"default\",\n});\n// Create the GCP peer\nconst peering = new gcp.compute.NetworkPeering(\"peering\", {\n network: _default.then(_default =\u003e _default.selfLink),\n peerNetwork: pulumi.interpolate`https://www.googleapis.com/compute/v1/projects/${testNetworkPeering.atlasGcpProjectId}/global/networks/${testNetworkPeering.atlasVpcName}`,\n});\n```\n```python\nimport pulumi\nimport pulumi_gcp as gcp\nimport pulumi_mongodbatlas as mongodbatlas\n\n# Create an Atlas cluster, this creates a container if one\n# does not yet exist for this GCP \ntest_cluster = mongodbatlas.Cluster(\"testCluster\",\n project_id=local[\"project_id\"],\n cluster_type=\"REPLICASET\",\n replication_specs=[mongodbatlas.ClusterReplicationSpecArgs(\n num_shards=1,\n regions_configs=[mongodbatlas.ClusterReplicationSpecRegionsConfigArgs(\n region_name=\"US_EAST_2\",\n electable_nodes=3,\n priority=7,\n read_only_nodes=0,\n )],\n )],\n auto_scaling_disk_gb_enabled=True,\n mongo_db_major_version=\"4.2\",\n provider_name=\"GCP\",\n provider_instance_size_name=\"M10\")\n# Create the peering connection request\ntest_network_peering = mongodbatlas.NetworkPeering(\"testNetworkPeering\",\n project_id=local[\"project_id\"],\n atlas_cidr_block=\"192.168.0.0/18\",\n container_id=test_cluster.container_id,\n provider_name=\"GCP\",\n gcp_project_id=local[\"GCP_PROJECT_ID\"],\n network_name=\"default\")\ndefault = gcp.compute.get_network(name=\"default\")\n# Create the GCP peer\npeering = gcp.compute.NetworkPeering(\"peering\",\n network=default.self_link,\n peer_network=pulumi.Output.all(test_network_peering.atlas_gcp_project_id, test_network_peering.atlas_vpc_name).apply(lambda atlas_gcp_project_id, atlas_vpc_name: f\"https://www.googleapis.com/compute/v1/projects/{atlas_gcp_project_id}/global/networks/{atlas_vpc_name}\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcp = Pulumi.Gcp;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create an Atlas cluster, this creates a container if one\n // does not yet exist for this GCP \n var testCluster = new Mongodbatlas.Cluster(\"testCluster\", new()\n {\n ProjectId = local.Project_id,\n ClusterType = \"REPLICASET\",\n ReplicationSpecs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecArgs\n {\n NumShards = 1,\n RegionsConfigs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecRegionsConfigArgs\n {\n RegionName = \"US_EAST_2\",\n ElectableNodes = 3,\n Priority = 7,\n ReadOnlyNodes = 0,\n },\n },\n },\n },\n AutoScalingDiskGbEnabled = true,\n MongoDbMajorVersion = \"4.2\",\n ProviderName = \"GCP\",\n ProviderInstanceSizeName = \"M10\",\n });\n\n // Create the peering connection request\n var testNetworkPeering = new Mongodbatlas.NetworkPeering(\"testNetworkPeering\", new()\n {\n ProjectId = local.Project_id,\n AtlasCidrBlock = \"192.168.0.0/18\",\n ContainerId = testCluster.ContainerId,\n ProviderName = \"GCP\",\n GcpProjectId = local.GCP_PROJECT_ID,\n NetworkName = \"default\",\n });\n\n var @default = Gcp.Compute.GetNetwork.Invoke(new()\n {\n Name = \"default\",\n });\n\n // Create the GCP peer\n var peering = new Gcp.Compute.NetworkPeering(\"peering\", new()\n {\n Network = @default.Apply(@default =\u003e @default.Apply(getNetworkResult =\u003e getNetworkResult.SelfLink)),\n PeerNetwork = Output.Tuple(testNetworkPeering.AtlasGcpProjectId, testNetworkPeering.AtlasVpcName).Apply(values =\u003e\n {\n var atlasGcpProjectId = values.Item1;\n var atlasVpcName = values.Item2;\n return $\"https://www.googleapis.com/compute/v1/projects/{atlasGcpProjectId}/global/networks/{atlasVpcName}\";\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/compute\"\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestCluster, err := mongodbatlas.NewCluster(ctx, \"testCluster\", \u0026mongodbatlas.ClusterArgs{\n\t\t\tProjectId: pulumi.Any(local.Project_id),\n\t\t\tClusterType: pulumi.String(\"REPLICASET\"),\n\t\t\tReplicationSpecs: mongodbatlas.ClusterReplicationSpecArray{\n\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecArgs{\n\t\t\t\t\tNumShards: pulumi.Int(1),\n\t\t\t\t\tRegionsConfigs: mongodbatlas.ClusterReplicationSpecRegionsConfigArray{\n\t\t\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecRegionsConfigArgs{\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"US_EAST_2\"),\n\t\t\t\t\t\t\tElectableNodes: pulumi.Int(3),\n\t\t\t\t\t\t\tPriority: pulumi.Int(7),\n\t\t\t\t\t\t\tReadOnlyNodes: pulumi.Int(0),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tAutoScalingDiskGbEnabled: pulumi.Bool(true),\n\t\t\tMongoDbMajorVersion: pulumi.String(\"4.2\"),\n\t\t\tProviderName: pulumi.String(\"GCP\"),\n\t\t\tProviderInstanceSizeName: pulumi.String(\"M10\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestNetworkPeering, err := mongodbatlas.NewNetworkPeering(ctx, \"testNetworkPeering\", \u0026mongodbatlas.NetworkPeeringArgs{\n\t\t\tProjectId: pulumi.Any(local.Project_id),\n\t\t\tAtlasCidrBlock: pulumi.String(\"192.168.0.0/18\"),\n\t\t\tContainerId: testCluster.ContainerId,\n\t\t\tProviderName: pulumi.String(\"GCP\"),\n\t\t\tGcpProjectId: pulumi.Any(local.GCP_PROJECT_ID),\n\t\t\tNetworkName: pulumi.String(\"default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := compute.LookupNetwork(ctx, \u0026compute.LookupNetworkArgs{\n\t\t\tName: \"default\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = compute.NewNetworkPeering(ctx, \"peering\", \u0026compute.NetworkPeeringArgs{\n\t\t\tNetwork: *pulumi.String(_default.SelfLink),\n\t\t\tPeerNetwork: pulumi.All(testNetworkPeering.AtlasGcpProjectId, testNetworkPeering.AtlasVpcName).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tatlasGcpProjectId := _args[0].(string)\n\t\t\t\tatlasVpcName := _args[1].(string)\n\t\t\t\treturn fmt.Sprintf(\"https://www.googleapis.com/compute/v1/projects/%v/global/networks/%v\", atlasGcpProjectId, atlasVpcName), nil\n\t\t\t}).(pulumi.StringOutput),\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.mongodbatlas.Cluster;\nimport com.pulumi.mongodbatlas.ClusterArgs;\nimport com.pulumi.mongodbatlas.inputs.ClusterReplicationSpecArgs;\nimport com.pulumi.mongodbatlas.NetworkPeering;\nimport com.pulumi.mongodbatlas.NetworkPeeringArgs;\nimport com.pulumi.gcp.compute.ComputeFunctions;\nimport com.pulumi.gcp.compute.inputs.GetNetworkArgs;\nimport com.pulumi.gcp.compute.NetworkPeering;\nimport com.pulumi.gcp.compute.NetworkPeeringArgs;\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 testCluster = new Cluster(\"testCluster\", ClusterArgs.builder() \n .projectId(local.project_id())\n .clusterType(\"REPLICASET\")\n .replicationSpecs(ClusterReplicationSpecArgs.builder()\n .numShards(1)\n .regionsConfigs(ClusterReplicationSpecRegionsConfigArgs.builder()\n .regionName(\"US_EAST_2\")\n .electableNodes(3)\n .priority(7)\n .readOnlyNodes(0)\n .build())\n .build())\n .autoScalingDiskGbEnabled(true)\n .mongoDbMajorVersion(\"4.2\")\n .providerName(\"GCP\")\n .providerInstanceSizeName(\"M10\")\n .build());\n\n var testNetworkPeering = new NetworkPeering(\"testNetworkPeering\", NetworkPeeringArgs.builder() \n .projectId(local.project_id())\n .atlasCidrBlock(\"192.168.0.0/18\")\n .containerId(testCluster.containerId())\n .providerName(\"GCP\")\n .gcpProjectId(local.GCP_PROJECT_ID())\n .networkName(\"default\")\n .build());\n\n final var default = ComputeFunctions.getNetwork(GetNetworkArgs.builder()\n .name(\"default\")\n .build());\n\n var peering = new NetworkPeering(\"peering\", NetworkPeeringArgs.builder() \n .network(default_.selfLink())\n .peerNetwork(Output.tuple(testNetworkPeering.atlasGcpProjectId(), testNetworkPeering.atlasVpcName()).applyValue(values -\u003e {\n var atlasGcpProjectId = values.t1;\n var atlasVpcName = values.t2;\n return String.format(\"https://www.googleapis.com/compute/v1/projects/%s/global/networks/%s\", atlasGcpProjectId,atlasVpcName);\n }))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create an Atlas cluster, this creates a container if one\n # does not yet exist for this GCP\n testCluster:\n type: mongodbatlas:Cluster\n properties:\n projectId: ${local.project_id}\n clusterType: REPLICASET\n replicationSpecs:\n - numShards: 1\n regionsConfigs:\n - regionName: US_EAST_2\n electableNodes: 3\n priority: 7\n readOnlyNodes: 0\n autoScalingDiskGbEnabled: true\n mongoDbMajorVersion: '4.2'\n # Provider Settings \"block\"\n providerName: GCP\n providerInstanceSizeName: M10\n # Create the peering connection request\n testNetworkPeering:\n type: mongodbatlas:NetworkPeering\n properties:\n projectId: ${local.project_id}\n atlasCidrBlock: 192.168.0.0/18\n containerId: ${testCluster.containerId}\n providerName: GCP\n gcpProjectId: ${local.GCP_PROJECT_ID}\n networkName: default\n # Create the GCP peer\n peering:\n type: gcp:compute:NetworkPeering\n properties:\n network: ${default.selfLink}\n peerNetwork: https://www.googleapis.com/compute/v1/projects/${testNetworkPeering.atlasGcpProjectId}/global/networks/${testNetworkPeering.atlasVpcName}\nvariables:\n default:\n fn::invoke:\n Function: gcp:compute:getNetwork\n Arguments:\n name: default\n```\n{{% /example %}}\n{{% example %}}\n### Example with Azure\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\n// Ensure you have created the required Azure service principal first, see\n// see https://docs.atlas.mongodb.com/security-vpc-peering/\n// Create an Atlas cluster, this creates a container if one\n// does not yet exist for this AZURE region\nconst testCluster = new mongodbatlas.Cluster(\"testCluster\", {\n projectId: local.project_id,\n clusterType: \"REPLICASET\",\n replicationSpecs: [{\n numShards: 1,\n regionsConfigs: [{\n regionName: \"US_EAST_2\",\n electableNodes: 3,\n priority: 7,\n readOnlyNodes: 0,\n }],\n }],\n autoScalingDiskGbEnabled: false,\n mongoDbMajorVersion: \"4.2\",\n providerName: \"AZURE\",\n providerInstanceSizeName: \"M10\",\n});\n// Create the peering connection request\nconst testNetworkPeering = new mongodbatlas.NetworkPeering(\"testNetworkPeering\", {\n projectId: local.project_id,\n containerId: testCluster.containerId,\n providerName: \"AZURE\",\n azureDirectoryId: local.AZURE_DIRECTORY_ID,\n azureSubscriptionId: local.AZURE_SUBSCRIPTION_ID,\n resourceGroupName: local.AZURE_RESOURCE_GROUP_NAME,\n vnetName: local.AZURE_VNET_NAME,\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\n# Ensure you have created the required Azure service principal first, see\n# see https://docs.atlas.mongodb.com/security-vpc-peering/\n# Create an Atlas cluster, this creates a container if one\n# does not yet exist for this AZURE region\ntest_cluster = mongodbatlas.Cluster(\"testCluster\",\n project_id=local[\"project_id\"],\n cluster_type=\"REPLICASET\",\n replication_specs=[mongodbatlas.ClusterReplicationSpecArgs(\n num_shards=1,\n regions_configs=[mongodbatlas.ClusterReplicationSpecRegionsConfigArgs(\n region_name=\"US_EAST_2\",\n electable_nodes=3,\n priority=7,\n read_only_nodes=0,\n )],\n )],\n auto_scaling_disk_gb_enabled=False,\n mongo_db_major_version=\"4.2\",\n provider_name=\"AZURE\",\n provider_instance_size_name=\"M10\")\n# Create the peering connection request\ntest_network_peering = mongodbatlas.NetworkPeering(\"testNetworkPeering\",\n project_id=local[\"project_id\"],\n container_id=test_cluster.container_id,\n provider_name=\"AZURE\",\n azure_directory_id=local[\"AZURE_DIRECTORY_ID\"],\n azure_subscription_id=local[\"AZURE_SUBSCRIPTION_ID\"],\n resource_group_name=local[\"AZURE_RESOURCE_GROUP_NAME\"],\n vnet_name=local[\"AZURE_VNET_NAME\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Ensure you have created the required Azure service principal first, see\n // see https://docs.atlas.mongodb.com/security-vpc-peering/\n // Create an Atlas cluster, this creates a container if one\n // does not yet exist for this AZURE region\n var testCluster = new Mongodbatlas.Cluster(\"testCluster\", new()\n {\n ProjectId = local.Project_id,\n ClusterType = \"REPLICASET\",\n ReplicationSpecs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecArgs\n {\n NumShards = 1,\n RegionsConfigs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecRegionsConfigArgs\n {\n RegionName = \"US_EAST_2\",\n ElectableNodes = 3,\n Priority = 7,\n ReadOnlyNodes = 0,\n },\n },\n },\n },\n AutoScalingDiskGbEnabled = false,\n MongoDbMajorVersion = \"4.2\",\n ProviderName = \"AZURE\",\n ProviderInstanceSizeName = \"M10\",\n });\n\n // Create the peering connection request\n var testNetworkPeering = new Mongodbatlas.NetworkPeering(\"testNetworkPeering\", new()\n {\n ProjectId = local.Project_id,\n ContainerId = testCluster.ContainerId,\n ProviderName = \"AZURE\",\n AzureDirectoryId = local.AZURE_DIRECTORY_ID,\n AzureSubscriptionId = local.AZURE_SUBSCRIPTION_ID,\n ResourceGroupName = local.AZURE_RESOURCE_GROUP_NAME,\n VnetName = local.AZURE_VNET_NAME,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestCluster, err := mongodbatlas.NewCluster(ctx, \"testCluster\", \u0026mongodbatlas.ClusterArgs{\n\t\t\tProjectId: pulumi.Any(local.Project_id),\n\t\t\tClusterType: pulumi.String(\"REPLICASET\"),\n\t\t\tReplicationSpecs: mongodbatlas.ClusterReplicationSpecArray{\n\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecArgs{\n\t\t\t\t\tNumShards: pulumi.Int(1),\n\t\t\t\t\tRegionsConfigs: mongodbatlas.ClusterReplicationSpecRegionsConfigArray{\n\t\t\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecRegionsConfigArgs{\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"US_EAST_2\"),\n\t\t\t\t\t\t\tElectableNodes: pulumi.Int(3),\n\t\t\t\t\t\t\tPriority: pulumi.Int(7),\n\t\t\t\t\t\t\tReadOnlyNodes: pulumi.Int(0),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tAutoScalingDiskGbEnabled: pulumi.Bool(false),\n\t\t\tMongoDbMajorVersion: pulumi.String(\"4.2\"),\n\t\t\tProviderName: pulumi.String(\"AZURE\"),\n\t\t\tProviderInstanceSizeName: pulumi.String(\"M10\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mongodbatlas.NewNetworkPeering(ctx, \"testNetworkPeering\", \u0026mongodbatlas.NetworkPeeringArgs{\n\t\t\tProjectId: pulumi.Any(local.Project_id),\n\t\t\tContainerId: testCluster.ContainerId,\n\t\t\tProviderName: pulumi.String(\"AZURE\"),\n\t\t\tAzureDirectoryId: pulumi.Any(local.AZURE_DIRECTORY_ID),\n\t\t\tAzureSubscriptionId: pulumi.Any(local.AZURE_SUBSCRIPTION_ID),\n\t\t\tResourceGroupName: pulumi.Any(local.AZURE_RESOURCE_GROUP_NAME),\n\t\t\tVnetName: pulumi.Any(local.AZURE_VNET_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.mongodbatlas.Cluster;\nimport com.pulumi.mongodbatlas.ClusterArgs;\nimport com.pulumi.mongodbatlas.inputs.ClusterReplicationSpecArgs;\nimport com.pulumi.mongodbatlas.NetworkPeering;\nimport com.pulumi.mongodbatlas.NetworkPeeringArgs;\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 testCluster = new Cluster(\"testCluster\", ClusterArgs.builder() \n .projectId(local.project_id())\n .clusterType(\"REPLICASET\")\n .replicationSpecs(ClusterReplicationSpecArgs.builder()\n .numShards(1)\n .regionsConfigs(ClusterReplicationSpecRegionsConfigArgs.builder()\n .regionName(\"US_EAST_2\")\n .electableNodes(3)\n .priority(7)\n .readOnlyNodes(0)\n .build())\n .build())\n .autoScalingDiskGbEnabled(false)\n .mongoDbMajorVersion(\"4.2\")\n .providerName(\"AZURE\")\n .providerInstanceSizeName(\"M10\")\n .build());\n\n var testNetworkPeering = new NetworkPeering(\"testNetworkPeering\", NetworkPeeringArgs.builder() \n .projectId(local.project_id())\n .containerId(testCluster.containerId())\n .providerName(\"AZURE\")\n .azureDirectoryId(local.AZURE_DIRECTORY_ID())\n .azureSubscriptionId(local.AZURE_SUBSCRIPTION_ID())\n .resourceGroupName(local.AZURE_RESOURCE_GROUP_NAME())\n .vnetName(local.AZURE_VNET_NAME())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Ensure you have created the required Azure service principal first, see\n # see https://docs.atlas.mongodb.com/security-vpc-peering/\n\n # Create an Atlas cluster, this creates a container if one\n # does not yet exist for this AZURE region\n testCluster:\n type: mongodbatlas:Cluster\n properties:\n projectId: ${local.project_id}\n clusterType: REPLICASET\n replicationSpecs:\n - numShards: 1\n regionsConfigs:\n - regionName: US_EAST_2\n electableNodes: 3\n priority: 7\n readOnlyNodes: 0\n autoScalingDiskGbEnabled: false\n mongoDbMajorVersion: '4.2'\n # Provider Settings \"block\"\n providerName: AZURE\n providerInstanceSizeName: M10\n # Create the peering connection request\n testNetworkPeering:\n type: mongodbatlas:NetworkPeering\n properties:\n projectId: ${local.project_id}\n containerId: ${testCluster.containerId}\n providerName: AZURE\n azureDirectoryId: ${local.AZURE_DIRECTORY_ID}\n azureSubscriptionId: ${local.AZURE_SUBSCRIPTION_ID}\n resourceGroupName: ${local.AZURE_RESOURCE_GROUP_NAME}\n vnetName: ${local.AZURE_VNET_NAME}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nNetwork Peering Connections can be imported using project ID and network peering id, in the format `PROJECTID-PEERID-PROVIDERNAME`, e.g.\n\n```sh\n $ pulumi import mongodbatlas:index/networkPeering:NetworkPeering my_peering 1112222b3bf99403840e8934-5cbf563d87d9d67253be590a-AWS\n```\n See detailed information for arguments and attributes[MongoDB API Network Peering Connection](https://docs.atlas.mongodb.com/reference/api/vpc-create-peering-connection/)\n\n-\u003e __NOTE:__ If you need to get an existing container ID see the How-To Guide.\n\n", "properties": { "accepterRegionName": { "type": "string", @@ -17214,6 +17245,7 @@ "inviterUsername", "orgId", "roles", + "teamsIds", "username" ], "inputProperties": { @@ -17424,6 +17456,7 @@ } }, "required": [ + "enabled", "projectId" ], "inputProperties": { @@ -18399,7 +18432,7 @@ } }, "mongodbatlas:index/projectApiKey:ProjectApiKey": { - "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n### Create And Assign PAK Together\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst test = new mongodbatlas.ProjectApiKey(\"test\", {\n description: \"Description of your API key\",\n projectAssignments: [{\n projectId: \"64259ee860c43338194b0f8e\",\n roleNames: [\"GROUP_OWNER\"],\n }],\n projectId: \"64259ee860c43338194b0f8e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\ntest = mongodbatlas.ProjectApiKey(\"test\",\n description=\"Description of your API key\",\n project_assignments=[mongodbatlas.ProjectApiKeyProjectAssignmentArgs(\n project_id=\"64259ee860c43338194b0f8e\",\n role_names=[\"GROUP_OWNER\"],\n )],\n project_id=\"64259ee860c43338194b0f8e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Mongodbatlas.ProjectApiKey(\"test\", new()\n {\n Description = \"Description of your API key\",\n ProjectAssignments = new[]\n {\n new Mongodbatlas.Inputs.ProjectApiKeyProjectAssignmentArgs\n {\n ProjectId = \"64259ee860c43338194b0f8e\",\n RoleNames = new[]\n {\n \"GROUP_OWNER\",\n },\n },\n },\n ProjectId = \"64259ee860c43338194b0f8e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\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 := mongodbatlas.NewProjectApiKey(ctx, \"test\", \u0026mongodbatlas.ProjectApiKeyArgs{\n\t\t\tDescription: pulumi.String(\"Description of your API key\"),\n\t\t\tProjectAssignments: mongodbatlas.ProjectApiKeyProjectAssignmentArray{\n\t\t\t\t\u0026mongodbatlas.ProjectApiKeyProjectAssignmentArgs{\n\t\t\t\t\tProjectId: pulumi.String(\"64259ee860c43338194b0f8e\"),\n\t\t\t\t\tRoleNames: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"GROUP_OWNER\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tProjectId: pulumi.String(\"64259ee860c43338194b0f8e\"),\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.mongodbatlas.ProjectApiKey;\nimport com.pulumi.mongodbatlas.ProjectApiKeyArgs;\nimport com.pulumi.mongodbatlas.inputs.ProjectApiKeyProjectAssignmentArgs;\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 test = new ProjectApiKey(\"test\", ProjectApiKeyArgs.builder() \n .description(\"Description of your API key\")\n .projectAssignments(ProjectApiKeyProjectAssignmentArgs.builder()\n .projectId(\"64259ee860c43338194b0f8e\")\n .roleNames(\"GROUP_OWNER\")\n .build())\n .projectId(\"64259ee860c43338194b0f8e\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: mongodbatlas:ProjectApiKey\n properties:\n description: Description of your API key\n projectAssignments:\n - projectId: 64259ee860c43338194b0f8e\n roleNames:\n - GROUP_OWNER\n projectId: 64259ee860c43338194b0f8e\n```\n{{% /example %}}\n{{% example %}}\n### Create And Assign PAK To Multiple Projects\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst test = new mongodbatlas.ProjectApiKey(\"test\", {\n description: \"Description of your API key\",\n projectAssignments: [\n {\n projectId: \"64259ee860c43338194b0f8e\",\n roleNames: [\n \"GROUP_READ_ONLY\",\n \"GROUP_OWNER\",\n ],\n },\n {\n projectId: \"74259ee860c43338194b0f8e\",\n roleNames: [\"GROUP_READ_ONLY\"],\n },\n ],\n projectId: \"64259ee860c43338194b0f8e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\ntest = mongodbatlas.ProjectApiKey(\"test\",\n description=\"Description of your API key\",\n project_assignments=[\n mongodbatlas.ProjectApiKeyProjectAssignmentArgs(\n project_id=\"64259ee860c43338194b0f8e\",\n role_names=[\n \"GROUP_READ_ONLY\",\n \"GROUP_OWNER\",\n ],\n ),\n mongodbatlas.ProjectApiKeyProjectAssignmentArgs(\n project_id=\"74259ee860c43338194b0f8e\",\n role_names=[\"GROUP_READ_ONLY\"],\n ),\n ],\n project_id=\"64259ee860c43338194b0f8e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Mongodbatlas.ProjectApiKey(\"test\", new()\n {\n Description = \"Description of your API key\",\n ProjectAssignments = new[]\n {\n new Mongodbatlas.Inputs.ProjectApiKeyProjectAssignmentArgs\n {\n ProjectId = \"64259ee860c43338194b0f8e\",\n RoleNames = new[]\n {\n \"GROUP_READ_ONLY\",\n \"GROUP_OWNER\",\n },\n },\n new Mongodbatlas.Inputs.ProjectApiKeyProjectAssignmentArgs\n {\n ProjectId = \"74259ee860c43338194b0f8e\",\n RoleNames = new[]\n {\n \"GROUP_READ_ONLY\",\n },\n },\n },\n ProjectId = \"64259ee860c43338194b0f8e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\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 := mongodbatlas.NewProjectApiKey(ctx, \"test\", \u0026mongodbatlas.ProjectApiKeyArgs{\n\t\t\tDescription: pulumi.String(\"Description of your API key\"),\n\t\t\tProjectAssignments: mongodbatlas.ProjectApiKeyProjectAssignmentArray{\n\t\t\t\t\u0026mongodbatlas.ProjectApiKeyProjectAssignmentArgs{\n\t\t\t\t\tProjectId: pulumi.String(\"64259ee860c43338194b0f8e\"),\n\t\t\t\t\tRoleNames: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"GROUP_READ_ONLY\"),\n\t\t\t\t\t\tpulumi.String(\"GROUP_OWNER\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026mongodbatlas.ProjectApiKeyProjectAssignmentArgs{\n\t\t\t\t\tProjectId: pulumi.String(\"74259ee860c43338194b0f8e\"),\n\t\t\t\t\tRoleNames: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"GROUP_READ_ONLY\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tProjectId: pulumi.String(\"64259ee860c43338194b0f8e\"),\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.mongodbatlas.ProjectApiKey;\nimport com.pulumi.mongodbatlas.ProjectApiKeyArgs;\nimport com.pulumi.mongodbatlas.inputs.ProjectApiKeyProjectAssignmentArgs;\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 test = new ProjectApiKey(\"test\", ProjectApiKeyArgs.builder() \n .description(\"Description of your API key\")\n .projectAssignments( \n ProjectApiKeyProjectAssignmentArgs.builder()\n .projectId(\"64259ee860c43338194b0f8e\")\n .roleNames( \n \"GROUP_READ_ONLY\",\n \"GROUP_OWNER\")\n .build(),\n ProjectApiKeyProjectAssignmentArgs.builder()\n .projectId(\"74259ee860c43338194b0f8e\")\n .roleNames(\"GROUP_READ_ONLY\")\n .build())\n .projectId(\"64259ee860c43338194b0f8e\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: mongodbatlas:ProjectApiKey\n properties:\n description: Description of your API key\n projectAssignments:\n - projectId: 64259ee860c43338194b0f8e\n roleNames:\n - GROUP_READ_ONLY\n - GROUP_OWNER\n - projectId: 74259ee860c43338194b0f8e\n roleNames:\n - GROUP_READ_ONLY\n projectId: 64259ee860c43338194b0f8e\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAPI Keys must be imported using project ID, API Key ID e.g.\n\n```sh\n $ pulumi import mongodbatlas:index/projectApiKey:ProjectApiKey test 5d09d6a59ccf6445652a444a-6576974933969669\n```\n See [MongoDB Atlas API - API Key](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Programmatic-API-Keys/operation/createProjectApiKey) - Documentation for more information.\n\n", + "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n### Create And Assign PAK Together\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst test = new mongodbatlas.ProjectApiKey(\"test\", {\n description: \"Description of your API key\",\n projectAssignments: [{\n projectId: \"64259ee860c43338194b0f8e\",\n roleNames: [\"GROUP_OWNER\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\ntest = mongodbatlas.ProjectApiKey(\"test\",\n description=\"Description of your API key\",\n project_assignments=[mongodbatlas.ProjectApiKeyProjectAssignmentArgs(\n project_id=\"64259ee860c43338194b0f8e\",\n role_names=[\"GROUP_OWNER\"],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Mongodbatlas.ProjectApiKey(\"test\", new()\n {\n Description = \"Description of your API key\",\n ProjectAssignments = new[]\n {\n new Mongodbatlas.Inputs.ProjectApiKeyProjectAssignmentArgs\n {\n ProjectId = \"64259ee860c43338194b0f8e\",\n RoleNames = new[]\n {\n \"GROUP_OWNER\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\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 := mongodbatlas.NewProjectApiKey(ctx, \"test\", \u0026mongodbatlas.ProjectApiKeyArgs{\n\t\t\tDescription: pulumi.String(\"Description of your API key\"),\n\t\t\tProjectAssignments: mongodbatlas.ProjectApiKeyProjectAssignmentArray{\n\t\t\t\t\u0026mongodbatlas.ProjectApiKeyProjectAssignmentArgs{\n\t\t\t\t\tProjectId: pulumi.String(\"64259ee860c43338194b0f8e\"),\n\t\t\t\t\tRoleNames: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"GROUP_OWNER\"),\n\t\t\t\t\t},\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.mongodbatlas.ProjectApiKey;\nimport com.pulumi.mongodbatlas.ProjectApiKeyArgs;\nimport com.pulumi.mongodbatlas.inputs.ProjectApiKeyProjectAssignmentArgs;\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 test = new ProjectApiKey(\"test\", ProjectApiKeyArgs.builder() \n .description(\"Description of your API key\")\n .projectAssignments(ProjectApiKeyProjectAssignmentArgs.builder()\n .projectId(\"64259ee860c43338194b0f8e\")\n .roleNames(\"GROUP_OWNER\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: mongodbatlas:ProjectApiKey\n properties:\n description: Description of your API key\n projectAssignments:\n - projectId: 64259ee860c43338194b0f8e\n roleNames:\n - GROUP_OWNER\n```\n{{% /example %}}\n{{% example %}}\n### Create And Assign PAK To Multiple Projects\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst test = new mongodbatlas.ProjectApiKey(\"test\", {\n description: \"Description of your API key\",\n projectAssignments: [\n {\n projectId: \"64259ee860c43338194b0f8e\",\n roleNames: [\n \"GROUP_READ_ONLY\",\n \"GROUP_OWNER\",\n ],\n },\n {\n projectId: \"74259ee860c43338194b0f8e\",\n roleNames: [\"GROUP_READ_ONLY\"],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\ntest = mongodbatlas.ProjectApiKey(\"test\",\n description=\"Description of your API key\",\n project_assignments=[\n mongodbatlas.ProjectApiKeyProjectAssignmentArgs(\n project_id=\"64259ee860c43338194b0f8e\",\n role_names=[\n \"GROUP_READ_ONLY\",\n \"GROUP_OWNER\",\n ],\n ),\n mongodbatlas.ProjectApiKeyProjectAssignmentArgs(\n project_id=\"74259ee860c43338194b0f8e\",\n role_names=[\"GROUP_READ_ONLY\"],\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Mongodbatlas.ProjectApiKey(\"test\", new()\n {\n Description = \"Description of your API key\",\n ProjectAssignments = new[]\n {\n new Mongodbatlas.Inputs.ProjectApiKeyProjectAssignmentArgs\n {\n ProjectId = \"64259ee860c43338194b0f8e\",\n RoleNames = new[]\n {\n \"GROUP_READ_ONLY\",\n \"GROUP_OWNER\",\n },\n },\n new Mongodbatlas.Inputs.ProjectApiKeyProjectAssignmentArgs\n {\n ProjectId = \"74259ee860c43338194b0f8e\",\n RoleNames = new[]\n {\n \"GROUP_READ_ONLY\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\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 := mongodbatlas.NewProjectApiKey(ctx, \"test\", \u0026mongodbatlas.ProjectApiKeyArgs{\n\t\t\tDescription: pulumi.String(\"Description of your API key\"),\n\t\t\tProjectAssignments: mongodbatlas.ProjectApiKeyProjectAssignmentArray{\n\t\t\t\t\u0026mongodbatlas.ProjectApiKeyProjectAssignmentArgs{\n\t\t\t\t\tProjectId: pulumi.String(\"64259ee860c43338194b0f8e\"),\n\t\t\t\t\tRoleNames: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"GROUP_READ_ONLY\"),\n\t\t\t\t\t\tpulumi.String(\"GROUP_OWNER\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026mongodbatlas.ProjectApiKeyProjectAssignmentArgs{\n\t\t\t\t\tProjectId: pulumi.String(\"74259ee860c43338194b0f8e\"),\n\t\t\t\t\tRoleNames: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"GROUP_READ_ONLY\"),\n\t\t\t\t\t},\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.mongodbatlas.ProjectApiKey;\nimport com.pulumi.mongodbatlas.ProjectApiKeyArgs;\nimport com.pulumi.mongodbatlas.inputs.ProjectApiKeyProjectAssignmentArgs;\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 test = new ProjectApiKey(\"test\", ProjectApiKeyArgs.builder() \n .description(\"Description of your API key\")\n .projectAssignments( \n ProjectApiKeyProjectAssignmentArgs.builder()\n .projectId(\"64259ee860c43338194b0f8e\")\n .roleNames( \n \"GROUP_READ_ONLY\",\n \"GROUP_OWNER\")\n .build(),\n ProjectApiKeyProjectAssignmentArgs.builder()\n .projectId(\"74259ee860c43338194b0f8e\")\n .roleNames(\"GROUP_READ_ONLY\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: mongodbatlas:ProjectApiKey\n properties:\n description: Description of your API key\n projectAssignments:\n - projectId: 64259ee860c43338194b0f8e\n roleNames:\n - GROUP_READ_ONLY\n - GROUP_OWNER\n - projectId: 74259ee860c43338194b0f8e\n roleNames:\n - GROUP_READ_ONLY\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAPI Keys must be imported using project ID, API Key ID e.g.\n\n```sh\n $ pulumi import mongodbatlas:index/projectApiKey:ProjectApiKey test 5d09d6a59ccf6445652a444a-6576974933969669\n```\n See [MongoDB Atlas API - API Key](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Programmatic-API-Keys/operation/createProjectApiKey) - Documentation for more information.\n\n", "properties": { "apiKeyId": { "type": "string", @@ -18407,7 +18440,7 @@ }, "description": { "type": "string", - "description": "Description of this Project API key.\n\n\u003e **NOTE:** Project created by API Keys must belong to an existing organization.\n" + "description": "Description of this Project API key.\n" }, "privateKey": { "type": "string", @@ -18421,7 +18454,8 @@ }, "projectId": { "type": "string", - "description": "Unique 24-hexadecimal digit string that identifies your project.\n" + "description": "Unique 24-hexadecimal digit string that identifies your project. **WARNING:** this parameter is deprecated as it no longer needs to be defined. It will be removed in version 1.16.0.\n\n\u003e **NOTE:** Project created by API Keys must belong to an existing organization.\n", + "deprecationMessage": "this parameter is deprecated and will be removed in version 1.16.0" }, "publicKey": { "type": "string" @@ -18431,13 +18465,14 @@ "apiKeyId", "description", "privateKey", + "projectAssignments", "projectId", "publicKey" ], "inputProperties": { "description": { "type": "string", - "description": "Description of this Project API key.\n\n\u003e **NOTE:** Project created by API Keys must belong to an existing organization.\n" + "description": "Description of this Project API key.\n" }, "projectAssignments": { "type": "array", @@ -18447,12 +18482,13 @@ }, "projectId": { "type": "string", - "description": "Unique 24-hexadecimal digit string that identifies your project.\n" + "description": "Unique 24-hexadecimal digit string that identifies your project. **WARNING:** this parameter is deprecated as it no longer needs to be defined. It will be removed in version 1.16.0.\n\n\u003e **NOTE:** Project created by API Keys must belong to an existing organization.\n", + "deprecationMessage": "this parameter is deprecated and will be removed in version 1.16.0" } }, "requiredInputs": [ "description", - "projectId" + "projectAssignments" ], "stateInputs": { "description": "Input properties used for looking up and filtering ProjectApiKey resources.\n", @@ -18463,7 +18499,7 @@ }, "description": { "type": "string", - "description": "Description of this Project API key.\n\n\u003e **NOTE:** Project created by API Keys must belong to an existing organization.\n" + "description": "Description of this Project API key.\n" }, "privateKey": { "type": "string", @@ -18477,7 +18513,8 @@ }, "projectId": { "type": "string", - "description": "Unique 24-hexadecimal digit string that identifies your project.\n" + "description": "Unique 24-hexadecimal digit string that identifies your project. **WARNING:** this parameter is deprecated as it no longer needs to be defined. It will be removed in version 1.16.0.\n\n\u003e **NOTE:** Project created by API Keys must belong to an existing organization.\n", + "deprecationMessage": "this parameter is deprecated and will be removed in version 1.16.0" }, "publicKey": { "type": "string" @@ -19407,9 +19444,21 @@ } }, "required": [ + "apiKey", + "channelName", + "enabled", + "microsoftTeamsWebhookUrl", + "password", "projectId", "region", - "type" + "routingKey", + "scheme", + "serviceDiscovery", + "serviceKey", + "teamName", + "type", + "url", + "userName" ], "inputProperties": { "apiKey": { @@ -19569,7 +19618,7 @@ } }, "mongodbatlas:index/x509AuthenticationDatabaseUser:X509AuthenticationDatabaseUser": { - "description": "`mongodbatlas.X509AuthenticationDatabaseUser` provides a X509 Authentication Database User resource. The mongodbatlas.X509AuthenticationDatabaseUser resource lets you manage MongoDB users who authenticate using X.509 certificates. You can manage these X.509 certificates or let Atlas do it for you.\n\n| Management | Description |\n|---|---|\n| Atlas | Atlas manages your Certificate Authority and can generate certificates for your MongoDB users. No additional X.509 configuration is required. |\n| Customer | You must provide a Certificate Authority and generate certificates for your MongoDB users. |\n\n\u003e **NOTE:** Groups and projects are synonymous terms. You may find group_id in the official documentation.\n\n{{% examples %}}\n## Example Usage\n\n### S\n{{% example %}}\n### Example Usage: Generate an Atlas-managed X.509 certificate for a MongoDB user\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.mongodbatlas.DatabaseUser;\nimport com.pulumi.mongodbatlas.DatabaseUserArgs;\nimport com.pulumi.mongodbatlas.inputs.DatabaseUserRoleArgs;\nimport com.pulumi.mongodbatlas.inputs.DatabaseUserLabelArgs;\nimport com.pulumi.mongodbatlas.X509AuthenticationDatabaseUser;\nimport com.pulumi.mongodbatlas.X509AuthenticationDatabaseUserArgs;\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 user = new DatabaseUser(\"user\", DatabaseUserArgs.builder() \n .projectId(\"64b926dd56206839b1c8bae9\")\n .username(\"myUsername\")\n .x509Type(\"MANAGED\")\n .databaseName(\"$external\")\n .roles(DatabaseUserRoleArgs.builder()\n .roleName(\"atlasAdmin\")\n .databaseName(\"admin\")\n .build())\n .labels(DatabaseUserLabelArgs.builder()\n .key(\"My Key\")\n .value(\"My Value\")\n .build())\n .build());\n\n var test = new X509AuthenticationDatabaseUser(\"test\", X509AuthenticationDatabaseUserArgs.builder() \n .projectId(user.projectId())\n .username(user.username())\n .monthsUntilExpiration(2)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n user:\n type: mongodbatlas:DatabaseUser\n properties:\n projectId: 64b926dd56206839b1c8bae9\n username: myUsername\n x509Type: MANAGED\n databaseName: $external\n roles:\n - roleName: atlasAdmin\n databaseName: admin\n labels:\n - key: My Key\n value: My Value\n test:\n type: mongodbatlas:X509AuthenticationDatabaseUser\n properties:\n projectId: ${user.projectId}\n username: ${user.username}\n monthsUntilExpiration: 2\n```\n{{% /example %}}\n{{% example %}}\n### Example Usage: Save a self-managed X.509 certificate for an Atlas project and use it with a dababase user\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.mongodbatlas.X509AuthenticationDatabaseUser;\nimport com.pulumi.mongodbatlas.X509AuthenticationDatabaseUserArgs;\nimport com.pulumi.mongodbatlas.DatabaseUser;\nimport com.pulumi.mongodbatlas.DatabaseUserArgs;\nimport com.pulumi.mongodbatlas.inputs.DatabaseUserLabelArgs;\nimport com.pulumi.mongodbatlas.inputs.DatabaseUserRoleArgs;\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 test = new X509AuthenticationDatabaseUser(\"test\", X509AuthenticationDatabaseUserArgs.builder() \n .customerX509Cas(\"\"\"\n -----BEGIN CERTIFICATE-----\n MIICmTCCAgICCQDZnHzklxsT9TANBgkqhkiG9w0BAQsFADCBkDELMAkGA1UEBhMC\n VVMxDjAMBgNVBAgMBVRleGFzMQ8wDQYDVQQHDAZBdXN0aW4xETAPBgNVBAoMCHRl\n c3QuY29tMQ0wCwYDVQQLDARUZXN0MREwDwYDVQQDDAh0ZXN0LmNvbTErMCkGCSqG\n SIb3DQEJARYcbWVsaXNzYS5wbHVua2V0dEBtb25nb2RiLmNvbTAeFw0yMDAyMDQy\n MDQ2MDFaFw0yMTAyMDMyMDQ2MDFaMIGQMQswCQYDVQQGEwJVUzEOMAwGA1UECAwF\n VGV4YXMxDzANBgNVBAcMBkF1c3RpbjERMA8GA1UECgwIdGVzdC5jb20xDTALBgNV\n BAsMBFRlc3QxETAPBgNVBAMMCHRlc3QuY29tMSswKQYJKoZIhvcNAQkBFhxtZWxp\n c3NhLnBsdW5rZXR0QG1vbmdvZGIuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCB\n iQKBgQCf1LRqr1zftzdYx2Aj9G76tb0noMPtj6faGLlPji1+m6Rn7RWD9L0ntWAr\n cURxvypa9jZ9MXFzDtLevvd3tHEmfrUT3ukNDX6+Jtc4kWm+Dh2A70Pd+deKZ2/O\n Fh8audEKAESGXnTbeJCeQa1XKlIkjqQHBNwES5h1b9vJtFoLJwIDAQABMA0GCSqG\n SIb3DQEBCwUAA4GBADMUncjEPV/MiZUcVNGmktP6BPmEqMXQWUDpdGW2+Tg2JtUA\n 7MMILtepBkFzLO+GlpZxeAlXO0wxiNgEmCRONgh4+t2w3e7a8GFijYQ99FHrAC5A\n iul59bdl18gVqXia1Yeq/iK7Ohfy/Jwd7Hsm530elwkM/ZEkYDjBlZSXYdyz\n -----END CERTIFICATE-----\"\n\n \"\"\")\n .projectId(\"\u003cPROJECT-ID\u003e\")\n .build());\n\n var user = new DatabaseUser(\"user\", DatabaseUserArgs.builder() \n .databaseName(\"$external\")\n .labels(DatabaseUserLabelArgs.builder()\n .key(\"My Key\")\n .value(\"My Value\")\n .build())\n .projectId(\"64b926dd56206839b1c8bae9\")\n .roles(DatabaseUserRoleArgs.builder()\n .databaseName(\"admin\")\n .roleName(\"atlasAdmin\")\n .build())\n .username(\"myUsername\")\n .x509Type(\"CUSTOMER\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: mongodbatlas:X509AuthenticationDatabaseUser\n properties:\n customerX509Cas: |2+\n -----BEGIN CERTIFICATE-----\n MIICmTCCAgICCQDZnHzklxsT9TANBgkqhkiG9w0BAQsFADCBkDELMAkGA1UEBhMC\n VVMxDjAMBgNVBAgMBVRleGFzMQ8wDQYDVQQHDAZBdXN0aW4xETAPBgNVBAoMCHRl\n c3QuY29tMQ0wCwYDVQQLDARUZXN0MREwDwYDVQQDDAh0ZXN0LmNvbTErMCkGCSqG\n SIb3DQEJARYcbWVsaXNzYS5wbHVua2V0dEBtb25nb2RiLmNvbTAeFw0yMDAyMDQy\n MDQ2MDFaFw0yMTAyMDMyMDQ2MDFaMIGQMQswCQYDVQQGEwJVUzEOMAwGA1UECAwF\n VGV4YXMxDzANBgNVBAcMBkF1c3RpbjERMA8GA1UECgwIdGVzdC5jb20xDTALBgNV\n BAsMBFRlc3QxETAPBgNVBAMMCHRlc3QuY29tMSswKQYJKoZIhvcNAQkBFhxtZWxp\n c3NhLnBsdW5rZXR0QG1vbmdvZGIuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCB\n iQKBgQCf1LRqr1zftzdYx2Aj9G76tb0noMPtj6faGLlPji1+m6Rn7RWD9L0ntWAr\n cURxvypa9jZ9MXFzDtLevvd3tHEmfrUT3ukNDX6+Jtc4kWm+Dh2A70Pd+deKZ2/O\n Fh8audEKAESGXnTbeJCeQa1XKlIkjqQHBNwES5h1b9vJtFoLJwIDAQABMA0GCSqG\n SIb3DQEBCwUAA4GBADMUncjEPV/MiZUcVNGmktP6BPmEqMXQWUDpdGW2+Tg2JtUA\n 7MMILtepBkFzLO+GlpZxeAlXO0wxiNgEmCRONgh4+t2w3e7a8GFijYQ99FHrAC5A\n iul59bdl18gVqXia1Yeq/iK7Ohfy/Jwd7Hsm530elwkM/ZEkYDjBlZSXYdyz\n -----END CERTIFICATE-----\"\n\n projectId: \u003cPROJECT-ID\u003e\n user:\n type: mongodbatlas:DatabaseUser\n properties:\n databaseName: $external\n labels:\n - key: My Key\n value: My Value\n projectId: 64b926dd56206839b1c8bae9\n roles:\n - databaseName: admin\n roleName: atlasAdmin\n username: myUsername\n x509Type: CUSTOMER\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nX.509 Certificates for a User can be imported using project ID and username, in the format `project_id-username`, e.g.\n\n```sh\n $ pulumi import mongodbatlas:index/x509AuthenticationDatabaseUser:X509AuthenticationDatabaseUser test 1112222b3bf99403840e8934-myUsername\n```\n For more information see[MongoDB Atlas API Reference.](https://docs.atlas.mongodb.com/reference/api/x509-configuration-get-certificates/)\n\nCurrent X.509 Configuration can be imported using project ID, in the format `project_id`, e.g.\n\n```sh\n $ pulumi import mongodbatlas:index/x509AuthenticationDatabaseUser:X509AuthenticationDatabaseUser test 1112222b3bf99403840e8934\n```\n For more information see[MongoDB Atlas API Reference.](https://docs.atlas.mongodb.com/reference/api/x509-configuration-get-certificates/)\n\n", + "description": "`mongodbatlas.X509AuthenticationDatabaseUser` provides a X509 Authentication Database User resource. The mongodbatlas.X509AuthenticationDatabaseUser resource lets you manage MongoDB users who authenticate using X.509 certificates. You can manage these X.509 certificates or let Atlas do it for you.\n\n| Management | Description |\n|---|---|\n| Atlas | Atlas manages your Certificate Authority and can generate certificates for your MongoDB users. No additional X.509 configuration is required. |\n| Customer | You must provide a Certificate Authority and generate certificates for your MongoDB users. |\n\n\u003e **NOTE:** Groups and projects are synonymous terms. You may find group_id in the official documentation.\n\n\u003e **NOTE:** Before provider version 1.14.0, Self-managed X.509 Authentication was disabled for the project when this resource was deleted. Starting from that version onward, it will not be disabled, allowing other users to continue using X.509 within the same project.\n\n{{% examples %}}\n## Example Usage\n\n### S\n{{% example %}}\n### Example Usage: Generate an Atlas-managed X.509 certificate for a MongoDB user\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.mongodbatlas.DatabaseUser;\nimport com.pulumi.mongodbatlas.DatabaseUserArgs;\nimport com.pulumi.mongodbatlas.inputs.DatabaseUserRoleArgs;\nimport com.pulumi.mongodbatlas.inputs.DatabaseUserLabelArgs;\nimport com.pulumi.mongodbatlas.X509AuthenticationDatabaseUser;\nimport com.pulumi.mongodbatlas.X509AuthenticationDatabaseUserArgs;\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 user = new DatabaseUser(\"user\", DatabaseUserArgs.builder() \n .projectId(\"64b926dd56206839b1c8bae9\")\n .username(\"myUsername\")\n .x509Type(\"MANAGED\")\n .databaseName(\"$external\")\n .roles(DatabaseUserRoleArgs.builder()\n .roleName(\"atlasAdmin\")\n .databaseName(\"admin\")\n .build())\n .labels(DatabaseUserLabelArgs.builder()\n .key(\"My Key\")\n .value(\"My Value\")\n .build())\n .build());\n\n var test = new X509AuthenticationDatabaseUser(\"test\", X509AuthenticationDatabaseUserArgs.builder() \n .projectId(user.projectId())\n .username(user.username())\n .monthsUntilExpiration(2)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n user:\n type: mongodbatlas:DatabaseUser\n properties:\n projectId: 64b926dd56206839b1c8bae9\n username: myUsername\n x509Type: MANAGED\n databaseName: $external\n roles:\n - roleName: atlasAdmin\n databaseName: admin\n labels:\n - key: My Key\n value: My Value\n test:\n type: mongodbatlas:X509AuthenticationDatabaseUser\n properties:\n projectId: ${user.projectId}\n username: ${user.username}\n monthsUntilExpiration: 2\n```\n{{% /example %}}\n{{% example %}}\n### Example Usage: Save a self-managed X.509 certificate for an Atlas project and use it with a dababase user\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.mongodbatlas.X509AuthenticationDatabaseUser;\nimport com.pulumi.mongodbatlas.X509AuthenticationDatabaseUserArgs;\nimport com.pulumi.mongodbatlas.DatabaseUser;\nimport com.pulumi.mongodbatlas.DatabaseUserArgs;\nimport com.pulumi.mongodbatlas.inputs.DatabaseUserLabelArgs;\nimport com.pulumi.mongodbatlas.inputs.DatabaseUserRoleArgs;\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 test = new X509AuthenticationDatabaseUser(\"test\", X509AuthenticationDatabaseUserArgs.builder() \n .customerX509Cas(\"\"\"\n -----BEGIN CERTIFICATE-----\n MIICmTCCAgICCQDZnHzklxsT9TANBgkqhkiG9w0BAQsFADCBkDELMAkGA1UEBhMC\n VVMxDjAMBgNVBAgMBVRleGFzMQ8wDQYDVQQHDAZBdXN0aW4xETAPBgNVBAoMCHRl\n c3QuY29tMQ0wCwYDVQQLDARUZXN0MREwDwYDVQQDDAh0ZXN0LmNvbTErMCkGCSqG\n SIb3DQEJARYcbWVsaXNzYS5wbHVua2V0dEBtb25nb2RiLmNvbTAeFw0yMDAyMDQy\n MDQ2MDFaFw0yMTAyMDMyMDQ2MDFaMIGQMQswCQYDVQQGEwJVUzEOMAwGA1UECAwF\n VGV4YXMxDzANBgNVBAcMBkF1c3RpbjERMA8GA1UECgwIdGVzdC5jb20xDTALBgNV\n BAsMBFRlc3QxETAPBgNVBAMMCHRlc3QuY29tMSswKQYJKoZIhvcNAQkBFhxtZWxp\n c3NhLnBsdW5rZXR0QG1vbmdvZGIuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCB\n iQKBgQCf1LRqr1zftzdYx2Aj9G76tb0noMPtj6faGLlPji1+m6Rn7RWD9L0ntWAr\n cURxvypa9jZ9MXFzDtLevvd3tHEmfrUT3ukNDX6+Jtc4kWm+Dh2A70Pd+deKZ2/O\n Fh8audEKAESGXnTbeJCeQa1XKlIkjqQHBNwES5h1b9vJtFoLJwIDAQABMA0GCSqG\n SIb3DQEBCwUAA4GBADMUncjEPV/MiZUcVNGmktP6BPmEqMXQWUDpdGW2+Tg2JtUA\n 7MMILtepBkFzLO+GlpZxeAlXO0wxiNgEmCRONgh4+t2w3e7a8GFijYQ99FHrAC5A\n iul59bdl18gVqXia1Yeq/iK7Ohfy/Jwd7Hsm530elwkM/ZEkYDjBlZSXYdyz\n -----END CERTIFICATE-----\"\n\n \"\"\")\n .projectId(\"\u003cPROJECT-ID\u003e\")\n .build());\n\n var user = new DatabaseUser(\"user\", DatabaseUserArgs.builder() \n .databaseName(\"$external\")\n .labels(DatabaseUserLabelArgs.builder()\n .key(\"My Key\")\n .value(\"My Value\")\n .build())\n .projectId(\"64b926dd56206839b1c8bae9\")\n .roles(DatabaseUserRoleArgs.builder()\n .databaseName(\"admin\")\n .roleName(\"atlasAdmin\")\n .build())\n .username(\"myUsername\")\n .x509Type(\"CUSTOMER\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: mongodbatlas:X509AuthenticationDatabaseUser\n properties:\n customerX509Cas: |2+\n -----BEGIN CERTIFICATE-----\n MIICmTCCAgICCQDZnHzklxsT9TANBgkqhkiG9w0BAQsFADCBkDELMAkGA1UEBhMC\n VVMxDjAMBgNVBAgMBVRleGFzMQ8wDQYDVQQHDAZBdXN0aW4xETAPBgNVBAoMCHRl\n c3QuY29tMQ0wCwYDVQQLDARUZXN0MREwDwYDVQQDDAh0ZXN0LmNvbTErMCkGCSqG\n SIb3DQEJARYcbWVsaXNzYS5wbHVua2V0dEBtb25nb2RiLmNvbTAeFw0yMDAyMDQy\n MDQ2MDFaFw0yMTAyMDMyMDQ2MDFaMIGQMQswCQYDVQQGEwJVUzEOMAwGA1UECAwF\n VGV4YXMxDzANBgNVBAcMBkF1c3RpbjERMA8GA1UECgwIdGVzdC5jb20xDTALBgNV\n BAsMBFRlc3QxETAPBgNVBAMMCHRlc3QuY29tMSswKQYJKoZIhvcNAQkBFhxtZWxp\n c3NhLnBsdW5rZXR0QG1vbmdvZGIuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCB\n iQKBgQCf1LRqr1zftzdYx2Aj9G76tb0noMPtj6faGLlPji1+m6Rn7RWD9L0ntWAr\n cURxvypa9jZ9MXFzDtLevvd3tHEmfrUT3ukNDX6+Jtc4kWm+Dh2A70Pd+deKZ2/O\n Fh8audEKAESGXnTbeJCeQa1XKlIkjqQHBNwES5h1b9vJtFoLJwIDAQABMA0GCSqG\n SIb3DQEBCwUAA4GBADMUncjEPV/MiZUcVNGmktP6BPmEqMXQWUDpdGW2+Tg2JtUA\n 7MMILtepBkFzLO+GlpZxeAlXO0wxiNgEmCRONgh4+t2w3e7a8GFijYQ99FHrAC5A\n iul59bdl18gVqXia1Yeq/iK7Ohfy/Jwd7Hsm530elwkM/ZEkYDjBlZSXYdyz\n -----END CERTIFICATE-----\"\n\n projectId: \u003cPROJECT-ID\u003e\n user:\n type: mongodbatlas:DatabaseUser\n properties:\n databaseName: $external\n labels:\n - key: My Key\n value: My Value\n projectId: 64b926dd56206839b1c8bae9\n roles:\n - databaseName: admin\n roleName: atlasAdmin\n username: myUsername\n x509Type: CUSTOMER\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nX.509 Certificates for a User can be imported using project ID and username, in the format `project_id-username`, e.g.\n\n```sh\n $ pulumi import mongodbatlas:index/x509AuthenticationDatabaseUser:X509AuthenticationDatabaseUser test 1112222b3bf99403840e8934-myUsername\n```\n For more information see[MongoDB Atlas API Reference.](https://docs.atlas.mongodb.com/reference/api/x509-configuration-get-certificates/)\n\nCurrent X.509 Configuration can be imported using project ID, in the format `project_id`, e.g.\n\n```sh\n $ pulumi import mongodbatlas:index/x509AuthenticationDatabaseUser:X509AuthenticationDatabaseUser test 1112222b3bf99403840e8934\n```\n For more information see[MongoDB Atlas API Reference.](https://docs.atlas.mongodb.com/reference/api/x509-configuration-get-certificates/)\n\n", "properties": { "certificates": { "type": "array", @@ -20610,6 +20659,14 @@ "type": "string", "description": "Email address of the user who is authorized to update the Backup Compliance Policy settings.\n" }, + "authorizedUserFirstName": { + "type": "string", + "description": "First name of the user who authorized to update the Backup Compliance Policy settings.\n" + }, + "authorizedUserLastName": { + "type": "string", + "description": "Last name of the user who authorized to update the Backup Compliance Policy settings.\n" + }, "copyProtectionEnabled": { "type": "boolean", "description": "Flag that indicates whether to enable additional backup copies for the cluster. If unspecified, this value defaults to false.\n" @@ -20670,6 +20727,8 @@ "type": "object", "required": [ "authorizedEmail", + "authorizedUserFirstName", + "authorizedUserLastName", "copyProtectionEnabled", "encryptionAtRestEnabled", "pitEnabled", @@ -21626,7 +21685,7 @@ } }, "mongodbatlas:index/getCluster:getCluster": { - "description": "`mongodbatlas.Cluster` describes a Cluster. The data source requires your Project ID.\n\n\u003e **NOTE:** Groups and projects are synonymous terms. You may find group_id in the official documentation.\n\n\u003e **IMPORTANT:**\n\u003cbr\u003e \u0026#8226; Changes to cluster configurations can affect costs. Before making changes, please see [Billing](https://docs.atlas.mongodb.com/billing/).\n\u003cbr\u003e \u0026#8226; If your Atlas project contains a custom role that uses actions introduced in a specific MongoDB version, you cannot create a cluster with a MongoDB version less than that version unless you delete the custom role.\n", + "description": "`mongodbatlas.Cluster` describes a Cluster. The data source requires your Project ID.\n\n\u003e **NOTE:** Groups and projects are synonymous terms. You may find group_id in the official documentation.\n\n\u003e **IMPORTANT:**\n\u003cbr\u003e \u0026#8226; Multi Region Cluster: The `mongodbatlas.Cluster` data source doesn't return the `container_id` for each region utilized by the cluster. For retrieving the `container_id`, we recommend the `mongodbatlas.AdvancedCluster` data source instead.\n\u003cbr\u003e \u0026#8226; Changes to cluster configurations can affect costs. Before making changes, please see [Billing](https://docs.atlas.mongodb.com/billing/).\n\u003cbr\u003e \u0026#8226; If your Atlas project contains a custom role that uses actions introduced in a specific MongoDB version, you cannot create a cluster with a MongoDB version less than that version unless you delete the custom role.\n", "inputs": { "description": "A collection of arguments for invoking getCluster.\n", "properties": { @@ -21954,7 +22013,7 @@ } }, "mongodbatlas:index/getClusters:getClusters": { - "description": "`mongodbatlas.Cluster` describes all Clusters by the provided project_id. The data source requires your Project ID.\n\n\u003e **NOTE:** Groups and projects are synonymous terms. You may find group_id in the official documentation.\n\n\u003e **IMPORTANT:**\n\u003cbr\u003e \u0026#8226; Changes to cluster configurations can affect costs. Before making changes, please see [Billing](https://docs.atlas.mongodb.com/billing/).\n\u003cbr\u003e \u0026#8226; If your Atlas project contains a custom role that uses actions introduced in a specific MongoDB version, you cannot create a cluster with a MongoDB version less than that version unless you delete the custom role.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst testCluster = new mongodbatlas.Cluster(\"testCluster\", {\n projectId: \"\u003cYOUR-PROJECT-ID\u003e\",\n clusterType: \"REPLICASET\",\n replicationSpecs: [{\n numShards: 1,\n regionsConfigs: [{\n regionName: \"US_EAST_1\",\n electableNodes: 3,\n priority: 7,\n readOnlyNodes: 0,\n }],\n }],\n cloudBackup: true,\n autoScalingDiskGbEnabled: true,\n providerName: \"AWS\",\n providerInstanceSizeName: \"M40\",\n});\nconst testClusters = mongodbatlas.getClustersOutput({\n projectId: testCluster.projectId,\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\ntest_cluster = mongodbatlas.Cluster(\"testCluster\",\n project_id=\"\u003cYOUR-PROJECT-ID\u003e\",\n cluster_type=\"REPLICASET\",\n replication_specs=[mongodbatlas.ClusterReplicationSpecArgs(\n num_shards=1,\n regions_configs=[mongodbatlas.ClusterReplicationSpecRegionsConfigArgs(\n region_name=\"US_EAST_1\",\n electable_nodes=3,\n priority=7,\n read_only_nodes=0,\n )],\n )],\n cloud_backup=True,\n auto_scaling_disk_gb_enabled=True,\n provider_name=\"AWS\",\n provider_instance_size_name=\"M40\")\ntest_clusters = mongodbatlas.get_clusters_output(project_id=test_cluster.project_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testCluster = new Mongodbatlas.Cluster(\"testCluster\", new()\n {\n ProjectId = \"\u003cYOUR-PROJECT-ID\u003e\",\n ClusterType = \"REPLICASET\",\n ReplicationSpecs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecArgs\n {\n NumShards = 1,\n RegionsConfigs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecRegionsConfigArgs\n {\n RegionName = \"US_EAST_1\",\n ElectableNodes = 3,\n Priority = 7,\n ReadOnlyNodes = 0,\n },\n },\n },\n },\n CloudBackup = true,\n AutoScalingDiskGbEnabled = true,\n ProviderName = \"AWS\",\n ProviderInstanceSizeName = \"M40\",\n });\n\n var testClusters = Mongodbatlas.GetClusters.Invoke(new()\n {\n ProjectId = testCluster.ProjectId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestCluster, err := mongodbatlas.NewCluster(ctx, \"testCluster\", \u0026mongodbatlas.ClusterArgs{\n\t\t\tProjectId: pulumi.String(\"\u003cYOUR-PROJECT-ID\u003e\"),\n\t\t\tClusterType: pulumi.String(\"REPLICASET\"),\n\t\t\tReplicationSpecs: mongodbatlas.ClusterReplicationSpecArray{\n\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecArgs{\n\t\t\t\t\tNumShards: pulumi.Int(1),\n\t\t\t\t\tRegionsConfigs: mongodbatlas.ClusterReplicationSpecRegionsConfigArray{\n\t\t\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecRegionsConfigArgs{\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"US_EAST_1\"),\n\t\t\t\t\t\t\tElectableNodes: pulumi.Int(3),\n\t\t\t\t\t\t\tPriority: pulumi.Int(7),\n\t\t\t\t\t\t\tReadOnlyNodes: pulumi.Int(0),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tCloudBackup: pulumi.Bool(true),\n\t\t\tAutoScalingDiskGbEnabled: pulumi.Bool(true),\n\t\t\tProviderName: pulumi.String(\"AWS\"),\n\t\t\tProviderInstanceSizeName: pulumi.String(\"M40\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = mongodbatlas.LookupClustersOutput(ctx, mongodbatlas.GetClustersOutputArgs{\n\t\t\tProjectId: testCluster.ProjectId,\n\t\t}, nil)\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.mongodbatlas.Cluster;\nimport com.pulumi.mongodbatlas.ClusterArgs;\nimport com.pulumi.mongodbatlas.inputs.ClusterReplicationSpecArgs;\nimport com.pulumi.mongodbatlas.MongodbatlasFunctions;\nimport com.pulumi.mongodbatlas.inputs.GetClustersArgs;\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 testCluster = new Cluster(\"testCluster\", ClusterArgs.builder() \n .projectId(\"\u003cYOUR-PROJECT-ID\u003e\")\n .clusterType(\"REPLICASET\")\n .replicationSpecs(ClusterReplicationSpecArgs.builder()\n .numShards(1)\n .regionsConfigs(ClusterReplicationSpecRegionsConfigArgs.builder()\n .regionName(\"US_EAST_1\")\n .electableNodes(3)\n .priority(7)\n .readOnlyNodes(0)\n .build())\n .build())\n .cloudBackup(true)\n .autoScalingDiskGbEnabled(true)\n .providerName(\"AWS\")\n .providerInstanceSizeName(\"M40\")\n .build());\n\n final var testClusters = MongodbatlasFunctions.getClusters(GetClustersArgs.builder()\n .projectId(testCluster.projectId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testCluster:\n type: mongodbatlas:Cluster\n properties:\n projectId: \u003cYOUR-PROJECT-ID\u003e\n clusterType: REPLICASET\n replicationSpecs:\n - numShards: 1\n regionsConfigs:\n - regionName: US_EAST_1\n electableNodes: 3\n priority: 7\n readOnlyNodes: 0\n cloudBackup: true\n autoScalingDiskGbEnabled: true\n # Provider Settings \"block\"\n providerName: AWS\n providerInstanceSizeName: M40\nvariables:\n testClusters:\n fn::invoke:\n Function: mongodbatlas:getClusters\n Arguments:\n projectId: ${testCluster.projectId}\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "`mongodbatlas.Cluster` describes all Clusters by the provided project_id. The data source requires your Project ID.\n\n\u003e **NOTE:** Groups and projects are synonymous terms. You may find group_id in the official documentation.\n\n\u003e **IMPORTANT:**\n\u003cbr\u003e \u0026#8226; Multi Region Cluster: The `mongodbatlas.Cluster` data source doesn't return the `container_id` for each region utilized by the cluster. For retrieving the `container_id`, we recommend the `mongodbatlas.AdvancedCluster` data source instead.\n\u003cbr\u003e \u0026#8226; Changes to cluster configurations can affect costs. Before making changes, please see [Billing](https://docs.atlas.mongodb.com/billing/).\n\u003cbr\u003e \u0026#8226; If your Atlas project contains a custom role that uses actions introduced in a specific MongoDB version, you cannot create a cluster with a MongoDB version less than that version unless you delete the custom role.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst testCluster = new mongodbatlas.Cluster(\"testCluster\", {\n projectId: \"\u003cYOUR-PROJECT-ID\u003e\",\n clusterType: \"REPLICASET\",\n replicationSpecs: [{\n numShards: 1,\n regionsConfigs: [{\n regionName: \"US_EAST_1\",\n electableNodes: 3,\n priority: 7,\n readOnlyNodes: 0,\n }],\n }],\n cloudBackup: true,\n autoScalingDiskGbEnabled: true,\n providerName: \"AWS\",\n providerInstanceSizeName: \"M40\",\n});\nconst testClusters = mongodbatlas.getClustersOutput({\n projectId: testCluster.projectId,\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\ntest_cluster = mongodbatlas.Cluster(\"testCluster\",\n project_id=\"\u003cYOUR-PROJECT-ID\u003e\",\n cluster_type=\"REPLICASET\",\n replication_specs=[mongodbatlas.ClusterReplicationSpecArgs(\n num_shards=1,\n regions_configs=[mongodbatlas.ClusterReplicationSpecRegionsConfigArgs(\n region_name=\"US_EAST_1\",\n electable_nodes=3,\n priority=7,\n read_only_nodes=0,\n )],\n )],\n cloud_backup=True,\n auto_scaling_disk_gb_enabled=True,\n provider_name=\"AWS\",\n provider_instance_size_name=\"M40\")\ntest_clusters = mongodbatlas.get_clusters_output(project_id=test_cluster.project_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testCluster = new Mongodbatlas.Cluster(\"testCluster\", new()\n {\n ProjectId = \"\u003cYOUR-PROJECT-ID\u003e\",\n ClusterType = \"REPLICASET\",\n ReplicationSpecs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecArgs\n {\n NumShards = 1,\n RegionsConfigs = new[]\n {\n new Mongodbatlas.Inputs.ClusterReplicationSpecRegionsConfigArgs\n {\n RegionName = \"US_EAST_1\",\n ElectableNodes = 3,\n Priority = 7,\n ReadOnlyNodes = 0,\n },\n },\n },\n },\n CloudBackup = true,\n AutoScalingDiskGbEnabled = true,\n ProviderName = \"AWS\",\n ProviderInstanceSizeName = \"M40\",\n });\n\n var testClusters = Mongodbatlas.GetClusters.Invoke(new()\n {\n ProjectId = testCluster.ProjectId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestCluster, err := mongodbatlas.NewCluster(ctx, \"testCluster\", \u0026mongodbatlas.ClusterArgs{\n\t\t\tProjectId: pulumi.String(\"\u003cYOUR-PROJECT-ID\u003e\"),\n\t\t\tClusterType: pulumi.String(\"REPLICASET\"),\n\t\t\tReplicationSpecs: mongodbatlas.ClusterReplicationSpecArray{\n\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecArgs{\n\t\t\t\t\tNumShards: pulumi.Int(1),\n\t\t\t\t\tRegionsConfigs: mongodbatlas.ClusterReplicationSpecRegionsConfigArray{\n\t\t\t\t\t\t\u0026mongodbatlas.ClusterReplicationSpecRegionsConfigArgs{\n\t\t\t\t\t\t\tRegionName: pulumi.String(\"US_EAST_1\"),\n\t\t\t\t\t\t\tElectableNodes: pulumi.Int(3),\n\t\t\t\t\t\t\tPriority: pulumi.Int(7),\n\t\t\t\t\t\t\tReadOnlyNodes: pulumi.Int(0),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tCloudBackup: pulumi.Bool(true),\n\t\t\tAutoScalingDiskGbEnabled: pulumi.Bool(true),\n\t\t\tProviderName: pulumi.String(\"AWS\"),\n\t\t\tProviderInstanceSizeName: pulumi.String(\"M40\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = mongodbatlas.LookupClustersOutput(ctx, mongodbatlas.GetClustersOutputArgs{\n\t\t\tProjectId: testCluster.ProjectId,\n\t\t}, nil)\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.mongodbatlas.Cluster;\nimport com.pulumi.mongodbatlas.ClusterArgs;\nimport com.pulumi.mongodbatlas.inputs.ClusterReplicationSpecArgs;\nimport com.pulumi.mongodbatlas.MongodbatlasFunctions;\nimport com.pulumi.mongodbatlas.inputs.GetClustersArgs;\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 testCluster = new Cluster(\"testCluster\", ClusterArgs.builder() \n .projectId(\"\u003cYOUR-PROJECT-ID\u003e\")\n .clusterType(\"REPLICASET\")\n .replicationSpecs(ClusterReplicationSpecArgs.builder()\n .numShards(1)\n .regionsConfigs(ClusterReplicationSpecRegionsConfigArgs.builder()\n .regionName(\"US_EAST_1\")\n .electableNodes(3)\n .priority(7)\n .readOnlyNodes(0)\n .build())\n .build())\n .cloudBackup(true)\n .autoScalingDiskGbEnabled(true)\n .providerName(\"AWS\")\n .providerInstanceSizeName(\"M40\")\n .build());\n\n final var testClusters = MongodbatlasFunctions.getClusters(GetClustersArgs.builder()\n .projectId(testCluster.projectId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testCluster:\n type: mongodbatlas:Cluster\n properties:\n projectId: \u003cYOUR-PROJECT-ID\u003e\n clusterType: REPLICASET\n replicationSpecs:\n - numShards: 1\n regionsConfigs:\n - regionName: US_EAST_1\n electableNodes: 3\n priority: 7\n readOnlyNodes: 0\n cloudBackup: true\n autoScalingDiskGbEnabled: true\n # Provider Settings \"block\"\n providerName: AWS\n providerInstanceSizeName: M40\nvariables:\n testClusters:\n fn::invoke:\n Function: mongodbatlas:getClusters\n Arguments:\n projectId: ${testCluster.projectId}\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getClusters.\n", "properties": { @@ -25099,7 +25158,8 @@ "description": "A collection of arguments for invoking getProjectApiKey.\n", "properties": { "apiKeyId": { - "type": "string" + "type": "string", + "description": "Unique identifier for this Project API key.\n" }, "projectId": { "type": "string", @@ -25158,7 +25218,7 @@ } }, "mongodbatlas:index/getProjectApiKeys:getProjectApiKeys": { - "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.mongodbatlas.ProjectApiKey;\nimport com.pulumi.mongodbatlas.ProjectApiKeyArgs;\nimport com.pulumi.mongodbatlas.MongodbatlasFunctions;\nimport com.pulumi.mongodbatlas.inputs.GetProjectApiKeysArgs;\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 testProjectApiKey = new ProjectApiKey(\"testProjectApiKey\", ProjectApiKeyArgs.builder() \n .description(\"Description of the API key\")\n .projectId(\"32b6e34b3d91647abb20e7b8\")\n .roleNames(\"GROUP_READ_ONLY\")\n .build());\n\n final var testProjectApiKeys = MongodbatlasFunctions.getProjectApiKeys(GetProjectApiKeysArgs.builder()\n .itemsPerPage(5)\n .pageNum(1)\n .projectId(\"32b6e34b3d91647abb20e7b8\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testProjectApiKey:\n type: mongodbatlas:ProjectApiKey\n properties:\n description: Description of the API key\n projectId: 32b6e34b3d91647abb20e7b8\n roleNames:\n - GROUP_READ_ONLY\nvariables:\n testProjectApiKeys:\n fn::invoke:\n Function: mongodbatlas:getProjectApiKeys\n Arguments:\n itemsPerPage: 5\n pageNum: 1\n projectId: 32b6e34b3d91647abb20e7b8\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst test = mongodbatlas.getProjectApiKeys({\n itemsPerPage: 5,\n pageNum: 1,\n projectId: \"32b6e34b3d91647abb20e7b8\",\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\ntest = mongodbatlas.get_project_api_keys(items_per_page=5,\n page_num=1,\n project_id=\"32b6e34b3d91647abb20e7b8\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Mongodbatlas = Pulumi.Mongodbatlas;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Mongodbatlas.GetProjectApiKeys.Invoke(new()\n {\n ItemsPerPage = 5,\n PageNum = 1,\n ProjectId = \"32b6e34b3d91647abb20e7b8\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas\"\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 := mongodbatlas.LookupProjectApiKeys(ctx, \u0026mongodbatlas.LookupProjectApiKeysArgs{\n\t\t\tItemsPerPage: pulumi.IntRef(5),\n\t\t\tPageNum: pulumi.IntRef(1),\n\t\t\tProjectId: \"32b6e34b3d91647abb20e7b8\",\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.mongodbatlas.MongodbatlasFunctions;\nimport com.pulumi.mongodbatlas.inputs.GetProjectApiKeysArgs;\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 test = MongodbatlasFunctions.getProjectApiKeys(GetProjectApiKeysArgs.builder()\n .itemsPerPage(5)\n .pageNum(1)\n .projectId(\"32b6e34b3d91647abb20e7b8\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: mongodbatlas:getProjectApiKeys\n Arguments:\n itemsPerPage: 5\n pageNum: 1\n projectId: 32b6e34b3d91647abb20e7b8\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getProjectApiKeys.\n", "properties": { @@ -25172,7 +25232,7 @@ }, "projectId": { "type": "string", - "description": "Unique identifier for the project whose API keys you want to retrieve. Use the /groups endpoint to retrieve all projects to which the authenticated user has access.\n" + "description": "The unique ID for the project.\n" } }, "type": "object", @@ -25194,13 +25254,15 @@ "type": "integer" }, "projectId": { - "type": "string" + "type": "string", + "description": "Project ID to assign to Access Key\n" }, "results": { "type": "array", "items": { "$ref": "#/types/mongodbatlas:index/getProjectApiKeysResult:getProjectApiKeysResult" - } + }, + "description": "A list where each element represents a API Key assigned to the project.\n" } }, "type": "object", diff --git a/provider/go.mod b/provider/go.mod index 19213b2c..56eba83b 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -1,11 +1,13 @@ module github.com/pulumi/pulumi-mongodbatlas/provider/v3 -go 1.21 +go 1.21.4 + +replace github.com/mongodb/terraform-provider-mongodbatlas/shim => ./shim replace github.com/hashicorp/terraform-plugin-sdk/v2 => github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20230912190043-e6d96b3b8f7e require ( - github.com/mongodb/terraform-provider-mongodbatlas v1.13.1 + github.com/mongodb/terraform-provider-mongodbatlas/shim v0.0.0 github.com/pulumi/pulumi-terraform-bridge/pf v0.22.0 github.com/pulumi/pulumi-terraform-bridge/v3 v3.69.0 github.com/pulumi/pulumi/sdk/v3 v3.98.0 @@ -47,7 +49,7 @@ require ( 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.48.2 // indirect + github.com/aws/aws-sdk-go v1.49.1 // indirect github.com/aws/aws-sdk-go-v2 v1.17.3 // indirect github.com/aws/aws-sdk-go-v2/config v1.15.15 // indirect github.com/aws/aws-sdk-go-v2/credentials v1.12.10 // indirect @@ -131,7 +133,7 @@ require ( github.com/hashicorp/terraform-plugin-log v0.9.0 // indirect github.com/hashicorp/terraform-plugin-mux v0.13.0 // indirect github.com/hashicorp/terraform-plugin-sdk v1.17.2 // indirect - github.com/hashicorp/terraform-plugin-sdk/v2 v2.30.0 // indirect + github.com/hashicorp/terraform-plugin-sdk/v2 v2.31.0 // indirect github.com/hashicorp/terraform-registry-address v0.2.3 // indirect github.com/hashicorp/terraform-svchost v0.1.1 // indirect github.com/hashicorp/vault/api v1.8.2 // indirect @@ -163,6 +165,7 @@ require ( github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/mongodb-forks/digest v1.0.5 // indirect + github.com/mongodb/terraform-provider-mongodbatlas v1.14.0 // 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 @@ -200,7 +203,7 @@ require ( 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.1 // indirect + github.com/spf13/cast v1.6.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 @@ -218,8 +221,8 @@ require ( github.com/xeipuuv/gojsonschema v1.2.0 // indirect github.com/zclconf/go-cty v1.14.1 // indirect github.com/zclconf/go-cty-yaml v1.0.2 // indirect - go.mongodb.org/atlas v0.35.0 // indirect - go.mongodb.org/atlas-sdk/v20231115001 v20231115001.0.0 // indirect + go.mongodb.org/atlas v0.36.0 // indirect + go.mongodb.org/atlas-sdk/v20231115002 v20231115002.1.0 // indirect go.mongodb.org/realm v0.1.0 // indirect go.opencensus.io v0.24.0 // indirect go.uber.org/atomic v1.9.0 // indirect diff --git a/provider/go.sum b/provider/go.sum index 5adc7fb6..3838564b 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -824,8 +824,8 @@ github.com/aws/aws-sdk-go v1.43.31/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4 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.48.2 h1:Lf7+Y4WmHB0AQLRQZA46diSwDa+LWbwY6IGaYoCVtTc= -github.com/aws/aws-sdk-go v1.48.2/go.mod h1:LF8svs817+Nz+DmiMQKTO3ubZ/6IaTpq3TjupRn3Eqk= +github.com/aws/aws-sdk-go v1.49.1 h1:Dsamcd8d/nNb3A+bZ0ucfGl0vGZsW5wlRW0vhoYGoeQ= +github.com/aws/aws-sdk-go v1.49.1/go.mod h1:LF8svs817+Nz+DmiMQKTO3ubZ/6IaTpq3TjupRn3Eqk= 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.17.3 h1:shN7NlnVzvDUgPQ+1rLMSxY8OWRNDRYtiqe0p/PgrhY= @@ -1204,8 +1204,8 @@ github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2 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.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY= -github.com/frankban/quicktest v1.14.4/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= +github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= +github.com/frankban/quicktest v1.14.6/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= @@ -2008,8 +2008,8 @@ github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjY github.com/modocache/gover v0.0.0-20171022184752-b58185e213c5/go.mod h1:caMODM3PzxT8aQXRPkAt8xlV/e7d7w8GM5g0fa5F0D8= github.com/mongodb-forks/digest v1.0.5 h1:EJu3wtLZcA0HCvsZpX5yuD193/sW9tHiNvrEM5apXMk= github.com/mongodb-forks/digest v1.0.5/go.mod h1:rb+EX8zotClD5Dj4NdgxnJXG9nwrlx3NWKJ8xttz1Dg= -github.com/mongodb/terraform-provider-mongodbatlas v1.13.1 h1:d8F1mKSCzUmfExfHvY8AyeDm42v3xg3HyKerzpHttp8= -github.com/mongodb/terraform-provider-mongodbatlas v1.13.1/go.mod h1:yag33qwEynvJRbsLiq8v5wKjbmxP0/tQJsDEDh4pPXY= +github.com/mongodb/terraform-provider-mongodbatlas v1.14.0 h1:OZEEd/2krZiWCmsuxuJa+vHvRFTHLLzcr/ZO7won68A= +github.com/mongodb/terraform-provider-mongodbatlas v1.14.0/go.mod h1:oN2kCQznR5XA8YO4knzKHOQh1joVgkThyd+UwZZRaCQ= 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= @@ -2335,8 +2335,8 @@ 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.1 h1:R+kOtfhWQE6TVQzY+4D7wJLBgkdVasCEFxSUBYBYIlA= -github.com/spf13/cast v1.5.1/go.mod h1:b9PdjNptOpzXr7Rq1q9gJML/2cdGQAo69NKzQ10KN48= +github.com/spf13/cast v1.6.0 h1:GEiTHELF+vaR5dhz3VqZfFSzZjYbgeKDpBxQVS4GYJ0= +github.com/spf13/cast v1.6.0/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo= 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= @@ -2494,10 +2494,10 @@ go.etcd.io/etcd/pkg/v3 v3.5.0/go.mod h1:UzJGatBQ1lXChBkQF0AuAtkRQMYnHubxAEYIrC3M 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/atlas v0.12.0/go.mod h1:wVCnHcm/7/IfTjEB6K8K35PLG70yGz8BdkRwX0oK9/M= -go.mongodb.org/atlas v0.35.0 h1:fLSPEyv+QcrG5djPWMekaM+BEVfEVBKQO4yEUQl4CQ4= -go.mongodb.org/atlas v0.35.0/go.mod h1:nfPldE9dSama6G2IbIzmEza02Ly7yFZjMMVscaM0uEc= -go.mongodb.org/atlas-sdk/v20231115001 v20231115001.0.0 h1:jYGEHBgF5ulTNzM2uItcb9DH4nzMeiQ2FbW5lz3WzUY= -go.mongodb.org/atlas-sdk/v20231115001 v20231115001.0.0/go.mod h1:nU/m9cPzYGzufugZD1QHd8DvMz9XXQdLo0BUnK8K224= +go.mongodb.org/atlas v0.36.0 h1:m05S3AO7zkl+bcG1qaNsEKBnAqnKx2FDwLooHpIG3j4= +go.mongodb.org/atlas v0.36.0/go.mod h1:nfPldE9dSama6G2IbIzmEza02Ly7yFZjMMVscaM0uEc= +go.mongodb.org/atlas-sdk/v20231115002 v20231115002.1.0 h1:x6nnq2pUIP9mN4WLD4/EseBzV88OmSgexxYchPilgno= +go.mongodb.org/atlas-sdk/v20231115002 v20231115002.1.0/go.mod h1:el7cm23kEiiw72HAYimhNweKqp/ubHsNJk+Mk30yJhM= 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= diff --git a/provider/resources.go b/provider/resources.go index da931969..a550e8ff 100644 --- a/provider/resources.go +++ b/provider/resources.go @@ -23,14 +23,14 @@ import ( // Enable embedding metadata _ "embed" - "github.com/mongodb/terraform-provider-mongodbatlas/mongodbatlas" - upstreamVersion "github.com/mongodb/terraform-provider-mongodbatlas/version" - "github.com/pulumi/pulumi-mongodbatlas/provider/v3/pkg/version" + mongodbatlas "github.com/mongodb/terraform-provider-mongodbatlas/shim" pfbridge "github.com/pulumi/pulumi-terraform-bridge/pf/tfbridge" "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfbridge" tks "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfbridge/tokens" shimv2 "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim/sdk-v2" "github.com/pulumi/pulumi/sdk/v3/go/common/tokens" + + "github.com/pulumi/pulumi-mongodbatlas/provider/v3/pkg/version" ) // all of the token components used below. @@ -68,22 +68,21 @@ func Provider() tfbridge.ProviderInfo { ctx := context.Background() // Instantiate the Terraform provider p := pfbridge.MuxShimWithPF(ctx, - shimv2.NewProvider(mongodbatlas.NewSdkV2Provider()), - mongodbatlas.NewFrameworkProvider()) + shimv2.NewProvider(mongodbatlas.SDKProvider()), + mongodbatlas.FrameworkProvider()) trueValue := true // Create a Pulumi provider mapping prov := tfbridge.ProviderInfo{ - P: p, - Name: "mongodbatlas", - Description: "A Pulumi package for creating and managing mongodbatlas cloud resources.", - Keywords: []string{"pulumi", "mongodbatlas"}, - License: "Apache-2.0", - Homepage: "https://pulumi.io", - Repository: "https://github.com/pulumi/pulumi-mongodbatlas", - GitHubOrg: "mongodb", - Version: version.Version, - TFProviderVersion: upstreamVersion.ProviderVersion, + P: p, + Name: "mongodbatlas", + Description: "A Pulumi package for creating and managing mongodbatlas cloud resources.", + Keywords: []string{"pulumi", "mongodbatlas"}, + License: "Apache-2.0", + Homepage: "https://pulumi.io", + Repository: "https://github.com/pulumi/pulumi-mongodbatlas", + GitHubOrg: "mongodb", + Version: version.Version, Config: map[string]*tfbridge.SchemaInfo{ "private_key": {MarkAsOptional: &trueValue}, "public_key": {MarkAsOptional: &trueValue}, diff --git a/provider/shim/go.mod b/provider/shim/go.mod new file mode 100644 index 00000000..45e072f8 --- /dev/null +++ b/provider/shim/go.mod @@ -0,0 +1,103 @@ +module github.com/mongodb/terraform-provider-mongodbatlas/internal/shim + +go 1.21.4 + +require ( + github.com/hashicorp/terraform-plugin-framework v1.4.2 + github.com/hashicorp/terraform-plugin-sdk/v2 v2.31.0 + github.com/mongodb/terraform-provider-mongodbatlas v1.14.0 +) + +require ( + cloud.google.com/go v0.110.8 // indirect + cloud.google.com/go/compute v1.23.0 // indirect + cloud.google.com/go/compute/metadata v0.2.3 // indirect + cloud.google.com/go/iam v1.1.2 // indirect + cloud.google.com/go/storage v1.30.1 // indirect + github.com/Masterminds/goutils v1.1.1 // indirect + github.com/Masterminds/semver/v3 v3.1.1 // indirect + github.com/Masterminds/sprig/v3 v3.2.1 // 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-radix v1.0.0 // indirect + github.com/aws/aws-sdk-go v1.49.1 // indirect + github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d // indirect + github.com/bgentry/speakeasy v0.1.0 // indirect + github.com/fatih/color v1.13.0 // indirect + github.com/go-test/deep v1.1.0 // indirect + github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect + github.com/golang/protobuf v1.5.3 // indirect + github.com/google/go-cmp v0.6.0 // indirect + github.com/google/go-querystring v1.1.0 // indirect + github.com/google/s2a-go v0.1.4 // indirect + github.com/google/uuid v1.3.1 // indirect + github.com/googleapis/enterprise-certificate-proxy v0.2.4 // indirect + github.com/googleapis/gax-go/v2 v2.12.0 // indirect + github.com/hashicorp/errwrap v1.0.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-multierror v1.1.1 // indirect + github.com/hashicorp/go-plugin v1.6.0 // indirect + github.com/hashicorp/go-safetemp v1.0.0 // indirect + github.com/hashicorp/go-uuid v1.0.3 // indirect + github.com/hashicorp/go-version v1.6.0 // indirect + github.com/hashicorp/hcl/v2 v2.19.1 // indirect + github.com/hashicorp/logutils v1.0.0 // indirect + github.com/hashicorp/terraform-plugin-framework-timeouts v0.4.1 // indirect + github.com/hashicorp/terraform-plugin-framework-validators v0.12.0 // indirect + github.com/hashicorp/terraform-plugin-go v0.20.0 // indirect + github.com/hashicorp/terraform-plugin-log v0.9.0 // indirect + github.com/hashicorp/terraform-plugin-mux v0.12.0 // indirect + github.com/hashicorp/terraform-plugin-sdk v1.17.2 // indirect + github.com/hashicorp/terraform-registry-address v0.2.3 // indirect + github.com/hashicorp/terraform-svchost v0.1.1 // indirect + github.com/hashicorp/yamux v0.1.1 // indirect + github.com/huandu/xstrings v1.3.2 // indirect + github.com/imdario/mergo v0.3.15 // indirect + github.com/jmespath/go-jmespath v0.4.0 // indirect + github.com/klauspost/compress v1.15.11 // indirect + github.com/mattn/go-colorable v0.1.12 // indirect + github.com/mattn/go-isatty v0.0.16 // 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-testing-interface v1.14.1 // indirect + github.com/mitchellh/go-wordwrap v1.0.1 // indirect + github.com/mitchellh/mapstructure v1.5.0 // indirect + github.com/mitchellh/reflectwalk v1.0.2 // indirect + github.com/mongodb-forks/digest v1.0.5 // indirect + github.com/mwielbut/pointy v1.1.0 // indirect + github.com/oklog/run v1.0.0 // indirect + github.com/posener/complete v1.2.1 // indirect + github.com/shopspring/decimal v1.2.0 // indirect + github.com/spf13/afero v1.9.2 // indirect + github.com/spf13/cast v1.6.0 // indirect + github.com/ulikunitz/xz v0.5.10 // indirect + github.com/vmihailenco/msgpack v4.0.4+incompatible // indirect + github.com/vmihailenco/msgpack/v5 v5.4.1 // indirect + github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect + github.com/zclconf/go-cty v1.14.1 // indirect + github.com/zclconf/go-cty-yaml v1.0.2 // indirect + go.mongodb.org/atlas v0.36.0 // indirect + go.mongodb.org/atlas-sdk/v20231115002 v20231115002.1.0 // indirect + go.mongodb.org/realm v0.1.0 // indirect + go.opencensus.io v0.24.0 // indirect + golang.org/x/crypto v0.17.0 // indirect + golang.org/x/exp v0.0.0-20230809150735-7b3493d9a819 // indirect + golang.org/x/net v0.18.0 // indirect + golang.org/x/oauth2 v0.13.0 // indirect + golang.org/x/sync v0.4.0 // indirect + golang.org/x/sys v0.15.0 // indirect + golang.org/x/text v0.14.0 // indirect + golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect + google.golang.org/api v0.128.0 // indirect + google.golang.org/appengine v1.6.8 // indirect + google.golang.org/genproto v0.0.0-20231002182017-d307bd883b97 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20231002182017-d307bd883b97 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20231002182017-d307bd883b97 // indirect + google.golang.org/grpc v1.60.0 // indirect + google.golang.org/protobuf v1.31.0 // indirect +) diff --git a/provider/shim/go.sum b/provider/shim/go.sum new file mode 100644 index 00000000..ea3a1e28 --- /dev/null +++ b/provider/shim/go.sum @@ -0,0 +1,1235 @@ +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.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.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.104.0/go.mod h1:OO6xxXdJyvuJPcEPBLN9BJPD+jep5G1+2U5B5gkRYtA= +cloud.google.com/go v0.110.8 h1:tyNdfIxjzaWctIiLYOTalaLKZ17SI44SKFW26QbOhME= +cloud.google.com/go v0.110.8/go.mod h1:Iz8AkXJf1qmxC3Oxoep8R1T36w8B92yU29PcBhHO5fk= +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/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/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/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/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/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/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/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/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/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/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/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.23.0 h1:tP41Zoavr8ptEqaW6j+LQOnyBBhO7OkOMAGrgLopTwY= +cloud.google.com/go/compute v1.23.0/go.mod h1:4tCnrn48xsqlwSAiLf1HXMQk8CONslYbdiEZc9FEIbM= +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/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/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/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/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/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/dataqna v0.5.0/go.mod h1:90Hyk596ft3zUQ8NkFfvICSIfHFh1Bc7C4cK3vbhkeo= +cloud.google.com/go/dataqna v0.6.0/go.mod h1:1lqNpM7rqNLVgWBJyk5NF6Uen2PHym0jtVJonplVsDA= +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/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/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/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/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/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/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/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/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/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/grafeas v0.2.0/go.mod h1:KhxgtF2hb0P191HlY5besjYm6MqTSTj3LSI+M+ByZHc= +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 v1.1.2 h1:gacbrBdWcoVmGLozRuStX45YKvJtzIjJdAolzUs1sm4= +cloud.google.com/go/iam v1.1.2/go.mod h1:A5avdyVL2tCppe4unb0951eI9jreack+RJ0/d+KUZOU= +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/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/mediatranslation v0.5.0/go.mod h1:jGPUhGTybqsPQn91pNXw0xVHfuJ3leR1wj37oU3y1f4= +cloud.google.com/go/mediatranslation v0.6.0/go.mod h1:hHdBCTYNigsBxshbznuIMFNe5QXEowAuNmmC7h8pu5w= +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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/scheduler v1.4.0/go.mod h1:drcJBmxF3aqZJRhmkHQ9b3uSSpQoltBPGPxGAWROx6s= +cloud.google.com/go/scheduler v1.5.0/go.mod h1:ri073ym49NW3AfT6DZi21vLZrG07GXr5p3H1KxN5QlI= +cloud.google.com/go/secretmanager v1.6.0/go.mod h1:awVa/OXF6IiyaU1wQ34inzQNc4ISIDIrId8qE5QGgKA= +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/securitycenter v1.13.0/go.mod h1:cv5qNAqjY84FCN6Y9z28WlkKXyWsgLO832YiWwkCWcU= +cloud.google.com/go/securitycenter v1.14.0/go.mod h1:gZLAhtyKv85n52XYWt6RmeBdydyxfPeTrpToDPw4Auc= +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/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/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.27.0/go.mod h1:x9DOL8TK/ygDUMieqwfhdpQryTeEkhGKMi80i/iqR2s= +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/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/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/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/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/workflows v1.6.0/go.mod h1:6t9F5h/unJz41YqfBmqSASJSXccBLtD1Vwf+KmJENM0= +cloud.google.com/go/workflows v1.7.0/go.mod h1:JhSrZuVZWuiDfKEFxU0/F1PQjmpnpcoISEXH2bcHC3M= +dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= +github.com/Masterminds/goutils v1.1.0/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU= +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/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 v2.22.0+incompatible/go.mod h1:y6hNFY5UBTIWBxnzTeuNhlNS5hqE0NB0E6fgfo2Br3o= +github.com/Masterminds/sprig/v3 v3.2.1 h1:n6EPaDyLSvCEa3frruQvAiHuNp2dhBlMSmkEr+HuzGc= +github.com/Masterminds/sprig/v3 v3.2.1/go.mod h1:UoaO7Yp8KlPnJIYWTFkMaqPUYKTfGFPhxNuwnnxkKlk= +github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= +github.com/Microsoft/go-winio v0.4.16/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0= +github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= +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/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/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7/go.mod h1:6zEj6s6u/ghQa61ZWa/C2Aw3RkjiTBOix7dkqa1VLIs= +github.com/andybalholm/crlf v0.0.0-20171020200849-670099aa064f/go.mod h1:k8feO4+kXDxro6ErPXBRTJ/ro2mf0SsFG8s7doP9kJE= +github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= +github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= +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/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/aws/aws-sdk-go v1.15.78/go.mod h1:E3/ieXAlvM0XWO57iftYVDLLvQ824smPP3ATZkfNZeM= +github.com/aws/aws-sdk-go v1.37.0/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= +github.com/aws/aws-sdk-go v1.44.122/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= +github.com/aws/aws-sdk-go v1.49.1 h1:Dsamcd8d/nNb3A+bZ0ucfGl0vGZsW5wlRW0vhoYGoeQ= +github.com/aws/aws-sdk-go v1.49.1/go.mod h1:LF8svs817+Nz+DmiMQKTO3ubZ/6IaTpq3TjupRn3Eqk= +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/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/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +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/cheggaaa/pb v1.0.27/go.mod h1:pQciLPpbU0oxA0h+VJYYLxO+XeDQb5pZijXscXHm81s= +github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= +github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= +github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= +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/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/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +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/emirpasic/gods v1.12.0/go.mod h1:YfzfFFoVP/catgzJb4IKIqXjX78Ha8FMSDh3ymbK86o= +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.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= +github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= +github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w= +github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= +github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= +github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= +github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= +github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/gliderlabs/ssh v0.2.2/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0= +github.com/go-git/gcfg v1.5.0/go.mod h1:5m20vg6GwYabIxaOonVkTdrILxQMpEShl1xiMF4ua+E= +github.com/go-git/go-billy/v5 v5.0.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0= +github.com/go-git/go-billy/v5 v5.1.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0= +github.com/go-git/go-git-fixtures/v4 v4.0.2-0.20200613231340-f56387b50c12/go.mod h1:m+ICp2rF3jDhFgEZ/8yziagdT1C+ZpZcrJjappBCDSw= +github.com/go-git/go-git/v5 v5.3.0/go.mod h1:xdX4bWJ48aOrdhnl2XqHYstHbbp6+LFS4r4X+lNVprw= +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-test/deep v1.0.3/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= +github.com/go-test/deep v1.0.7/go.mod h1:QV8Hv/iy04NyLBxAdO9njL0iVPN1S4d/A3NVv1V36o8= +github.com/go-test/deep v1.1.0 h1:WOcxcdHcvdgThNXjw0t76K42FXTU7HpNQWHpA2HHNlg= +github.com/go-test/deep v1.1.0/go.mod h1:5C2ZWiW0ErCdrYzpqxLbTX7MG14M9iiw8DgHncVwcsE= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +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.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golang/snappy v0.0.3/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/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/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +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/martian v2.1.0+incompatible h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPgecwXBIDzw5no= +github.com/google/martian v2.1.0+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-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/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/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.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.3.1 h1:KjJaJ9iWZ3jOFZIf1Lqf4laDRCasjl0BCmnEGxkdLb4= +github.com/google/uuid v1.3.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +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.4 h1:uGy6JWR/uMIILU8wbf+OkstIrNiMjGpEIyhx8f6W7s4= +github.com/googleapis/enterprise-certificate-proxy v0.2.4/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.12.0 h1:A+gCJKdRfqXkr+BIRGtZLibNXf0m1f9E4HG56etFpas= +github.com/googleapis/gax-go/v2 v2.12.0/go.mod h1:y+aIqrI5eb1YGMVJfuV3185Ts/D7qKpsEkdD5+I6QGU= +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/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= +github.com/hashicorp/errwrap v1.0.0 h1:hLrqtEDnRye3+sgx6z4qVLNuviH3MR5aQ0ykNJa/UYA= +github.com/hashicorp/errwrap v1.0.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.5.3/go.mod h1:BrrV/1clo8cCYu6mxvboYg+KutTiFnXjMEgDD8+i7ZI= +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 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-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= +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.3.0/go.mod h1:F9eH4LrE/ZsRdbwhfjs9k9HoDUwAHnYtXdgmf1AVNs0= +github.com/hashicorp/go-plugin v1.6.0 h1:wgd4KxHJTVGGqWBq4QPB1i5BZNEx9BR8+OFmHDmTk8A= +github.com/hashicorp/go-plugin v1.6.0/go.mod h1:lBS5MtSSBZk0SHc66KACcjjlU6WzEVP/8pwz68aMkCI= +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-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.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.3.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/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/hc-install v0.6.2 h1:V1k+Vraqz4olgZ9UzKiAcbman9i9scg9GgSt/U3mw/M= +github.com/hashicorp/hc-install v0.6.2/go.mod h1:2JBpd+NCFKiHiu/yYCGaPyPHhZLxXTpz8oreHa/a3Ps= +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.8.2/go.mod h1:bQTN5mpo+jewjJgh8jr0JUguIi7qPHUF6yIfAEN3jqY= +github.com/hashicorp/hcl/v2 v2.19.1 h1://i05Jqznmb2EXqa39Nsvyan2o5XyMowW5fnCKW5RPI= +github.com/hashicorp/hcl/v2 v2.19.1/go.mod h1:ThLC89FV4p9MPW804KVbe/cEXoQ8NZEh+JtMeeGErHE= +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/terraform-config-inspect v0.0.0-20191212124732-c6ae6269b9d7 h1:Pc5TCv9mbxFN6UVX0LH6CpQrdTM5YjbVI2w15237Pjk= +github.com/hashicorp/terraform-config-inspect v0.0.0-20191212124732-c6ae6269b9d7/go.mod h1:p+ivJws3dpqbp1iP84+npOyAmTTOLMgCzrXd3GSdn/A= +github.com/hashicorp/terraform-exec v0.13.3/go.mod h1:SSg6lbUsVB3DmFyCPjBPklqf6EYGX0TlQ6QTxOlikDU= +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.10.0/go.mod h1:3defM4kkMfttwiE7VakJDwCd4R+umhSQnvJwORXbprE= +github.com/hashicorp/terraform-json v0.18.0 h1:pCjgJEqqDESv4y0Tzdqfxr/edOIGkjs8keY42xfNBwU= +github.com/hashicorp/terraform-json v0.18.0/go.mod h1:qdeBs11ovMzo5puhrRibdD6d2Dq6TyE/28JiU4tIQxk= +github.com/hashicorp/terraform-plugin-framework v1.4.2 h1:P7a7VP1GZbjc4rv921Xy5OckzhoiO3ig6SGxwelD2sI= +github.com/hashicorp/terraform-plugin-framework v1.4.2/go.mod h1:GWl3InPFZi2wVQmdVnINPKys09s9mLmTZr95/ngLnbY= +github.com/hashicorp/terraform-plugin-framework-timeouts v0.4.1 h1:gm5b1kHgFFhaKFhm4h2TgvMUlNzFAtUqlcOWnWPm+9E= +github.com/hashicorp/terraform-plugin-framework-timeouts v0.4.1/go.mod h1:MsjL1sQ9L7wGwzJ5RjcI6FzEMdyoBnw+XK8ZnOvQOLY= +github.com/hashicorp/terraform-plugin-framework-validators v0.12.0 h1:HOjBuMbOEzl7snOdOoUfE2Jgeto6JOjLVQ39Ls2nksc= +github.com/hashicorp/terraform-plugin-framework-validators v0.12.0/go.mod h1:jfHGE/gzjxYz6XoUwi/aYiiKrJDeutQNUtGQXkaHklg= +github.com/hashicorp/terraform-plugin-go v0.20.0 h1:oqvoUlL+2EUbKNsJbIt3zqqZ7wi6lzn4ufkn/UA51xQ= +github.com/hashicorp/terraform-plugin-go v0.20.0/go.mod h1:Rr8LBdMlY53a3Z/HpP+ZU3/xCDqtKNCkeI9qOyT10QE= +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-mux v0.12.0 h1:TJlmeslQ11WlQtIFAfth0vXx+gSNgvMEng2Rn9z3WZY= +github.com/hashicorp/terraform-plugin-mux v0.12.0/go.mod h1:8MR0AgmV+Q03DIjyrAKxXyYlq2EUnYBQP8gxAAA0zeM= +github.com/hashicorp/terraform-plugin-sdk v1.17.2 h1:V7DUR3yBWFrVB9z3ddpY7kiYVSsq4NYR67NiTs93NQo= +github.com/hashicorp/terraform-plugin-sdk v1.17.2/go.mod h1:wkvldbraEMkz23NxkkAsFS88A1R9eUiooiaUZyS6TLw= +github.com/hashicorp/terraform-plugin-sdk/v2 v2.31.0 h1:Bl3e2ei2j/Z3Hc2HIS15Gal2KMKyLAZ2om1HCEvK6es= +github.com/hashicorp/terraform-plugin-sdk/v2 v2.31.0/go.mod h1:i2C41tszDjiWfziPQDL5R/f3Zp0gahXe5No/MIO9rCE= +github.com/hashicorp/terraform-plugin-test/v2 v2.2.1/go.mod h1:eZ9JL3O69Cb71Skn6OhHyj17sLmHRb+H6VrDcJjKrYU= +github.com/hashicorp/terraform-plugin-testing v1.5.1 h1:T4aQh9JAhmWo4+t1A7x+rnxAJHCDIYW9kXyo4sVO92c= +github.com/hashicorp/terraform-plugin-testing v1.5.1/go.mod h1:dg8clO6K59rZ8w9EshBmDp1CxTIPu3yA4iaDpX1h5u0= +github.com/hashicorp/terraform-registry-address v0.2.3 h1:2TAiKJ1A3MAkZlH1YI/aTVcLZRu7JseiXNRHbOAyoTI= +github.com/hashicorp/terraform-registry-address v0.2.3/go.mod h1:lFHA76T8jfQteVfT7caREqguFrW3c4MFSPhZB7HHgUM= +github.com/hashicorp/terraform-svchost v0.0.0-20200729002733-f050f53b9734/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/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/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/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/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/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= +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/jhump/protoreflect v1.15.1 h1:HUMERORf3I3ZdX05WaQ6MIpd/NJ434hTp5YiKgfCL6c= +github.com/jhump/protoreflect v1.15.1/go.mod h1:jD/2GMKKE6OqX8qTjhADU1e6DShO+gavG9e0Q693nKo= +github.com/jmespath/go-jmespath v0.0.0-20160202185014-0b12d6b521d8/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/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/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351/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/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/klauspost/compress v1.11.2/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= +github.com/klauspost/compress v1.15.11 h1:Lcadnb3RKGin4FYM/orgq0qde+nc15E5Cbqg4B9Sx9c= +github.com/klauspost/compress v1.15.11/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM= +github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +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/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/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.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-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.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 h1:bq3VjFmv/sOjHtdEhmkEV4x1AJtvUvOJ2PFAZ5+peKQ= +github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= +github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= +github.com/mitchellh/cli v1.1.2/go.mod h1:6iaV0fGdElS6dPBx0EApTxHrcWvmJphyh2n8YBLPPZ4= +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-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/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +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/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/mongodb-forks/digest v1.0.5 h1:EJu3wtLZcA0HCvsZpX5yuD193/sW9tHiNvrEM5apXMk= +github.com/mongodb-forks/digest v1.0.5/go.mod h1:rb+EX8zotClD5Dj4NdgxnJXG9nwrlx3NWKJ8xttz1Dg= +github.com/mongodb/terraform-provider-mongodbatlas v1.14.0 h1:OZEEd/2krZiWCmsuxuJa+vHvRFTHLLzcr/ZO7won68A= +github.com/mongodb/terraform-provider-mongodbatlas v1.14.0/go.mod h1:oN2kCQznR5XA8YO4knzKHOQh1joVgkThyd+UwZZRaCQ= +github.com/mwielbut/pointy v1.1.0 h1:U5/YEfoIkaGCHv0St3CgjduqXID4FNRoyZgLM1kY9vg= +github.com/mwielbut/pointy v1.1.0/go.mod h1:MvvO+uMFj9T5DMda33HlvogsFBX7pWWKAkFIn4teYwY= +github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= +github.com/oklog/run v1.0.0 h1:Ru7dDtJNOyC66gQ5dQmaCa0qIsAUFY3sFpK1Xk8igrw= +github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= +github.com/openlyinc/pointy v1.1.2 h1:LywVV2BWC5Sp5v7FoP4bUD+2Yn5k0VNeRbU5vq9jUMY= +github.com/openlyinc/pointy v1.1.2/go.mod h1:w2Sytx+0FVuMKn37xpXIAyBNhFNBIJGR/v2m7ik1WtM= +github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= +github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= +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 h1:LrvDIY//XNo65Lq84G/akBuMGlawHvGBABv8f/ZN6DI= +github.com/posener/complete v1.2.1/go.mod h1:6gapUrK/U1TAN7ciCoNRIdVC5sbdBTUh1DKN0g6uH7E= +github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= +github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= +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 h1:XU+rvMAioB0UC3q1MFrIQy4Vo5/4VsRDQQXHsEya6xQ= +github.com/sergi/go-diff v1.2.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= +github.com/shopspring/decimal v1.2.0 h1:abSATXmQEYyShuxI4/vyW3tV1MrKAJzCZ/0zLUXYbsQ= +github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= +github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= +github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= +github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= +github.com/spf13/afero v1.9.2 h1:j49Hj62F0n+DaZ1dDCvhABaPNSGNkt32oRFxI33IEMw= +github.com/spf13/afero v1.9.2/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= +github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cast v1.6.0 h1:GEiTHELF+vaR5dhz3VqZfFSzZjYbgeKDpBxQVS4GYJ0= +github.com/spf13/cast v1.6.0/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo= +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/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.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 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.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.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= +github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/ulikunitz/xz v0.5.8/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= +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/vmihailenco/msgpack v3.3.3+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/v4 v4.3.12/go.mod h1:gborTTJjAo/GWTqqRjrLCn9pgNN+NXzzngzBKDPIqw4= +github.com/vmihailenco/msgpack/v5 v5.4.1 h1:cQriyiUvjTwOHg8QZaPihLWeRAAVoCpE00IUPn0Bjt8= +github.com/vmihailenco/msgpack/v5 v5.4.1/go.mod h1:GaZTsDaehaPpQVyxrf5mtQlH+pc21PIudVV/E3rRQok= +github.com/vmihailenco/tagparser v0.1.1/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI= +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/xanzy/ssh-agent v0.3.0/go.mod h1:3s9xbODqPuuhK9JV1R321M/FlMZSBvE5aY6eAcqrDh0= +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.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +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.8.2/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uUAzyuvAk= +github.com/zclconf/go-cty v1.14.1 h1:t9fyA35fwjjUMcmL5hLER+e/rEPqrbCK1/OSE4SI9KA= +github.com/zclconf/go-cty v1.14.1/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.2 h1:dNyg4QLTrv2IfJpm7Wtxi55ed5gLGOlPrZ6kMd51hY0= +github.com/zclconf/go-cty-yaml v1.0.2/go.mod h1:IP3Ylp0wQpYm50IHK8OZWKMu6sPJIUgKa8XhiVHura0= +go.mongodb.org/atlas v0.12.0/go.mod h1:wVCnHcm/7/IfTjEB6K8K35PLG70yGz8BdkRwX0oK9/M= +go.mongodb.org/atlas v0.36.0 h1:m05S3AO7zkl+bcG1qaNsEKBnAqnKx2FDwLooHpIG3j4= +go.mongodb.org/atlas v0.36.0/go.mod h1:nfPldE9dSama6G2IbIzmEza02Ly7yFZjMMVscaM0uEc= +go.mongodb.org/atlas-sdk/v20231115002 v20231115002.1.0 h1:x6nnq2pUIP9mN4WLD4/EseBzV88OmSgexxYchPilgno= +go.mongodb.org/atlas-sdk/v20231115002 v20231115002.1.0/go.mod h1:el7cm23kEiiw72HAYimhNweKqp/ubHsNJk+Mk30yJhM= +go.mongodb.org/realm v0.1.0 h1:zJiXyLaZrznQ+Pz947ziSrDKUep39DO4SfA0Fzx8M4M= +go.mongodb.org/realm v0.1.0/go.mod h1:4Vj6iy+Puo1TDERcoh4XZ+pjtwbOzPpzqy3Cwe8ZmDM= +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/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= +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-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-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +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-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +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-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-20220314234659-1baeb1ce4c0b/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.17.0 h1:r8bRNjWL3GshPW3gkd+RpvzWrZAwPS49OmTGZ/uhM4k= +golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= +golang.org/x/exp v0.0.0-20190121172915-509febef88a4/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-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-20230809150735-7b3493d9a819 h1:EDuYyU/MkFXllv9QF9819VlI9a4tzGuCbhG0ExK9o1U= +golang.org/x/exp v0.0.0-20230809150735-7b3493d9a819/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc= +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/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.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= +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-20190108225652-1e06a53dbb7e/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-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +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-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-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-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-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-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-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/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-20220909164309-bea034e7d591/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.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-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-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-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-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.13.0 h1:jDDenyj+WgFtmV3zYVoi8aE2BwtXFLWOA67ZfNWftiY= +golang.org/x/oauth2 v0.13.0/go.mod h1:/JMhi4ZRXAf4HG9LiNmxvk+45+96RUlVThiH8FzNBn0= +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-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-20220929204114-8fcdb60fdcc0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +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-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-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-20190412213103-97732733099d/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-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/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-20200122134326-e047566fdf82/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-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-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/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-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/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-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-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-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-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-20210823070655-63515b42dcdf/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-20210927094055-39ccf1dd6fa6/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-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-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-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-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc= +golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +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.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-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/tools v0.0.0-20180917221912-90fa682c2a6e/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-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-20190425150028-36563e24a262/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-20190606124116-d0a3d012864b/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-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/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-20191012152004-8de300cfc20a/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-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-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-20200618134242-20370b0cb4b2/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-20201028111035-eafbe7b904eb/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/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-20210105154028-b0ab187a4818/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.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= +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= +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.34.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= +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.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.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.90.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.100.0/go.mod h1:ZE3Z2+ZOr87Rx7dqFsdRQkRBk36kDtp/h+QpHbB7a70= +google.golang.org/api v0.128.0 h1:RjPESny5CnQRn9V6siglged+DZCgfu9l6mO9dkX9VOg= +google.golang.org/api v0.128.0/go.mod h1:Y611qgqaE92On/7g65MQgxYul3c0rEB894kniWLY750= +google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +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/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM= +google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds= +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-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-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-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-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-20201109203340-2640f1f9cdfb/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-20210513213006-bf773b8c8384/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-20210924002016-3dee208752a0/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-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-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-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-20221025140454-527a21cfbd71/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= +google.golang.org/genproto v0.0.0-20231002182017-d307bd883b97 h1:SeZZZx0cP0fqUyA+oRzP9k7cSwJlvDFiROO72uwD6i0= +google.golang.org/genproto v0.0.0-20231002182017-d307bd883b97/go.mod h1:t1VqOqqvce95G3hIDCT5FeO3YUc6Q4Oe24L/+rNMxRk= +google.golang.org/genproto/googleapis/api v0.0.0-20231002182017-d307bd883b97 h1:W18sezcAYs+3tDZX4F80yctqa12jcP1PUS2gQu1zTPU= +google.golang.org/genproto/googleapis/api v0.0.0-20231002182017-d307bd883b97/go.mod h1:iargEX0SFPm3xcfMI0d1domjg0ZF4Aa0p2awqyxhvF0= +google.golang.org/genproto/googleapis/rpc v0.0.0-20231002182017-d307bd883b97 h1:6GQBEOdGkX6MMTLT9V+TjtIRZCw9VPD5Z+yHY9wMgS0= +google.golang.org/genproto/googleapis/rpc v0.0.0-20231002182017-d307bd883b97/go.mod h1:v7nGkzlmW8P3n/bKmWBn2WpBjpOEx8Q6gMueudAmKfY= +google.golang.org/grpc v1.8.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= +google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= +google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +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.32.0/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.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.60.0 h1:6FQAR0kM31P6MRdeluor2w2gPaS4SVNrD/DNTxrQ15k= +google.golang.org/grpc v1.60.0/go.mod h1:OlCHIeLYqSSsLi6i49B5QGdzaMZK9+M7LXN2FKz4eGM= +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.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= +google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/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.27/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= +gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= +gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= +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.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.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +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= +rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= +rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= +rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= diff --git a/provider/shim/shim.go b/provider/shim/shim.go new file mode 100644 index 00000000..8c3b3bac --- /dev/null +++ b/provider/shim/shim.go @@ -0,0 +1,12 @@ +package shim + +import ( + "github.com/hashicorp/terraform-plugin-framework/provider" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" + + p "github.com/mongodb/terraform-provider-mongodbatlas/internal/provider" +) + +func FrameworkProvider() provider.Provider { return p.NewFrameworkProvider() } + +func SDKProvider() *schema.Provider { return p.NewSdkV2Provider() } diff --git a/sdk/dotnet/BackupCompliancePolicy.cs b/sdk/dotnet/BackupCompliancePolicy.cs index b0c5e5e1..12b99e0e 100644 --- a/sdk/dotnet/BackupCompliancePolicy.cs +++ b/sdk/dotnet/BackupCompliancePolicy.cs @@ -30,6 +30,18 @@ public partial class BackupCompliancePolicy : global::Pulumi.CustomResource [Output("authorizedEmail")] public Output AuthorizedEmail { get; private set; } = null!; + /// + /// First name of the user who authorized to update the Backup Compliance Policy settings. + /// + [Output("authorizedUserFirstName")] + public Output AuthorizedUserFirstName { get; private set; } = null!; + + /// + /// Last name of the user who authorized to update the Backup Compliance Policy settings. + /// + [Output("authorizedUserLastName")] + public Output AuthorizedUserLastName { get; private set; } = null!; + /// /// Flag that indicates whether to enable additional backup copies for the cluster. If unspecified, this value defaults to false. /// @@ -145,6 +157,18 @@ public sealed class BackupCompliancePolicyArgs : global::Pulumi.ResourceArgs [Input("authorizedEmail", required: true)] public Input AuthorizedEmail { get; set; } = null!; + /// + /// First name of the user who authorized to update the Backup Compliance Policy settings. + /// + [Input("authorizedUserFirstName", required: true)] + public Input AuthorizedUserFirstName { get; set; } = null!; + + /// + /// Last name of the user who authorized to update the Backup Compliance Policy settings. + /// + [Input("authorizedUserLastName", required: true)] + public Input AuthorizedUserLastName { get; set; } = null!; + /// /// Flag that indicates whether to enable additional backup copies for the cluster. If unspecified, this value defaults to false. /// @@ -214,6 +238,18 @@ public sealed class BackupCompliancePolicyState : global::Pulumi.ResourceArgs [Input("authorizedEmail")] public Input? AuthorizedEmail { get; set; } + /// + /// First name of the user who authorized to update the Backup Compliance Policy settings. + /// + [Input("authorizedUserFirstName")] + public Input? AuthorizedUserFirstName { get; set; } + + /// + /// Last name of the user who authorized to update the Backup Compliance Policy settings. + /// + [Input("authorizedUserLastName")] + public Input? AuthorizedUserLastName { get; set; } + /// /// Flag that indicates whether to enable additional backup copies for the cluster. If unspecified, this value defaults to false. /// diff --git a/sdk/dotnet/CloudProviderAccess.cs b/sdk/dotnet/CloudProviderAccess.cs index b75fff4d..f25f2406 100644 --- a/sdk/dotnet/CloudProviderAccess.cs +++ b/sdk/dotnet/CloudProviderAccess.cs @@ -206,7 +206,7 @@ public partial class CloudProviderAccess : global::Pulumi.CustomResource /// ARN of the IAM Role that Atlas assumes when accessing resources in your AWS account. This value is required after the creation (register of the role) as part of [Set Up Unified AWS Access](https://docs.atlas.mongodb.com/security/set-up-unified-aws-access/#set-up-unified-aws-access). /// [Output("iamAssumedRoleArn")] - public Output IamAssumedRoleArn { get; private set; } = null!; + public Output IamAssumedRoleArn { get; private set; } = null!; /// /// The unique ID for the project diff --git a/sdk/dotnet/Cluster.cs b/sdk/dotnet/Cluster.cs index e64bed3c..de04a550 100644 --- a/sdk/dotnet/Cluster.cs +++ b/sdk/dotnet/Cluster.cs @@ -84,7 +84,7 @@ public partial class Cluster : global::Pulumi.CustomResource public Output BiConnectorConfig { get; private set; } = null!; [Output("cloudBackup")] - public Output CloudBackup { get; private set; } = null!; + public Output CloudBackup { get; private set; } = null!; /// /// The cluster ID. diff --git a/sdk/dotnet/GetBackupCompliancePolicy.cs b/sdk/dotnet/GetBackupCompliancePolicy.cs index 3abd0152..15602aa8 100644 --- a/sdk/dotnet/GetBackupCompliancePolicy.cs +++ b/sdk/dotnet/GetBackupCompliancePolicy.cs @@ -106,6 +106,14 @@ public sealed class GetBackupCompliancePolicyResult /// public readonly string AuthorizedEmail; /// + /// First name of the user who authorized to update the Backup Compliance Policy settings. + /// + public readonly string AuthorizedUserFirstName; + /// + /// Last name of the user who authorized to update the Backup Compliance Policy settings. + /// + public readonly string AuthorizedUserLastName; + /// /// Flag that indicates whether to enable additional backup copies for the cluster. If unspecified, this value defaults to false. /// public readonly bool CopyProtectionEnabled; @@ -148,6 +156,10 @@ public sealed class GetBackupCompliancePolicyResult private GetBackupCompliancePolicyResult( string authorizedEmail, + string authorizedUserFirstName, + + string authorizedUserLastName, + bool copyProtectionEnabled, bool encryptionAtRestEnabled, @@ -177,6 +189,8 @@ private GetBackupCompliancePolicyResult( string updatedUser) { AuthorizedEmail = authorizedEmail; + AuthorizedUserFirstName = authorizedUserFirstName; + AuthorizedUserLastName = authorizedUserLastName; CopyProtectionEnabled = copyProtectionEnabled; EncryptionAtRestEnabled = encryptionAtRestEnabled; Id = id; diff --git a/sdk/dotnet/GetCluster.cs b/sdk/dotnet/GetCluster.cs index 369fa2be..0ccc6d6d 100644 --- a/sdk/dotnet/GetCluster.cs +++ b/sdk/dotnet/GetCluster.cs @@ -17,6 +17,7 @@ public static class GetCluster /// > **NOTE:** Groups and projects are synonymous terms. You may find group_id in the official documentation. /// /// > **IMPORTANT:** + /// <br> &#8226; Multi Region Cluster: The `mongodbatlas.Cluster` data source doesn't return the `container_id` for each region utilized by the cluster. For retrieving the `container_id`, we recommend the `mongodbatlas.AdvancedCluster` data source instead. /// <br> &#8226; Changes to cluster configurations can affect costs. Before making changes, please see [Billing](https://docs.atlas.mongodb.com/billing/). /// <br> &#8226; If your Atlas project contains a custom role that uses actions introduced in a specific MongoDB version, you cannot create a cluster with a MongoDB version less than that version unless you delete the custom role. /// @@ -29,6 +30,7 @@ public static Task InvokeAsync(GetClusterArgs args, InvokeOpti /// > **NOTE:** Groups and projects are synonymous terms. You may find group_id in the official documentation. /// /// > **IMPORTANT:** + /// <br> &#8226; Multi Region Cluster: The `mongodbatlas.Cluster` data source doesn't return the `container_id` for each region utilized by the cluster. For retrieving the `container_id`, we recommend the `mongodbatlas.AdvancedCluster` data source instead. /// <br> &#8226; Changes to cluster configurations can affect costs. Before making changes, please see [Billing](https://docs.atlas.mongodb.com/billing/). /// <br> &#8226; If your Atlas project contains a custom role that uses actions introduced in a specific MongoDB version, you cannot create a cluster with a MongoDB version less than that version unless you delete the custom role. /// diff --git a/sdk/dotnet/GetClusters.cs b/sdk/dotnet/GetClusters.cs index 59e37bc7..247a1657 100644 --- a/sdk/dotnet/GetClusters.cs +++ b/sdk/dotnet/GetClusters.cs @@ -17,6 +17,7 @@ public static class GetClusters /// > **NOTE:** Groups and projects are synonymous terms. You may find group_id in the official documentation. /// /// > **IMPORTANT:** + /// <br> &#8226; Multi Region Cluster: The `mongodbatlas.Cluster` data source doesn't return the `container_id` for each region utilized by the cluster. For retrieving the `container_id`, we recommend the `mongodbatlas.AdvancedCluster` data source instead. /// <br> &#8226; Changes to cluster configurations can affect costs. Before making changes, please see [Billing](https://docs.atlas.mongodb.com/billing/). /// <br> &#8226; If your Atlas project contains a custom role that uses actions introduced in a specific MongoDB version, you cannot create a cluster with a MongoDB version less than that version unless you delete the custom role. /// @@ -78,6 +79,7 @@ public static Task InvokeAsync(GetClustersArgs args, InvokeOp /// > **NOTE:** Groups and projects are synonymous terms. You may find group_id in the official documentation. /// /// > **IMPORTANT:** + /// <br> &#8226; Multi Region Cluster: The `mongodbatlas.Cluster` data source doesn't return the `container_id` for each region utilized by the cluster. For retrieving the `container_id`, we recommend the `mongodbatlas.AdvancedCluster` data source instead. /// <br> &#8226; Changes to cluster configurations can affect costs. Before making changes, please see [Billing](https://docs.atlas.mongodb.com/billing/). /// <br> &#8226; If your Atlas project contains a custom role that uses actions introduced in a specific MongoDB version, you cannot create a cluster with a MongoDB version less than that version unless you delete the custom role. /// diff --git a/sdk/dotnet/GetProjectApiKey.cs b/sdk/dotnet/GetProjectApiKey.cs index d03f2752..dc7dfc2f 100644 --- a/sdk/dotnet/GetProjectApiKey.cs +++ b/sdk/dotnet/GetProjectApiKey.cs @@ -31,6 +31,9 @@ public static Output Invoke(GetProjectApiKeyInvokeArgs a public sealed class GetProjectApiKeyArgs : global::Pulumi.InvokeArgs { + /// + /// Unique identifier for this Project API key. + /// [Input("apiKeyId", required: true)] public string ApiKeyId { get; set; } = null!; @@ -48,6 +51,9 @@ public GetProjectApiKeyArgs() public sealed class GetProjectApiKeyInvokeArgs : global::Pulumi.InvokeArgs { + /// + /// Unique identifier for this Project API key. + /// [Input("apiKeyId", required: true)] public Input ApiKeyId { get; set; } = null!; diff --git a/sdk/dotnet/GetProjectApiKeys.cs b/sdk/dotnet/GetProjectApiKeys.cs index e3f70805..71cab8d4 100644 --- a/sdk/dotnet/GetProjectApiKeys.cs +++ b/sdk/dotnet/GetProjectApiKeys.cs @@ -11,9 +11,59 @@ namespace Pulumi.Mongodbatlas { public static class GetProjectApiKeys { + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Mongodbatlas = Pulumi.Mongodbatlas; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var test = Mongodbatlas.GetProjectApiKeys.Invoke(new() + /// { + /// ItemsPerPage = 5, + /// PageNum = 1, + /// ProjectId = "32b6e34b3d91647abb20e7b8", + /// }); + /// + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// public static Task InvokeAsync(GetProjectApiKeysArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.InvokeAsync("mongodbatlas:index/getProjectApiKeys:getProjectApiKeys", args ?? new GetProjectApiKeysArgs(), options.WithDefaults()); + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Mongodbatlas = Pulumi.Mongodbatlas; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var test = Mongodbatlas.GetProjectApiKeys.Invoke(new() + /// { + /// ItemsPerPage = 5, + /// PageNum = 1, + /// ProjectId = "32b6e34b3d91647abb20e7b8", + /// }); + /// + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// public static Output Invoke(GetProjectApiKeysInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("mongodbatlas:index/getProjectApiKeys:getProjectApiKeys", args ?? new GetProjectApiKeysInvokeArgs(), options.WithDefaults()); } @@ -34,7 +84,7 @@ public sealed class GetProjectApiKeysArgs : global::Pulumi.InvokeArgs public int? PageNum { get; set; } /// - /// Unique identifier for the project whose API keys you want to retrieve. Use the /groups endpoint to retrieve all projects to which the authenticated user has access. + /// The unique ID for the project. /// [Input("projectId", required: true)] public string ProjectId { get; set; } = null!; @@ -60,7 +110,7 @@ public sealed class GetProjectApiKeysInvokeArgs : global::Pulumi.InvokeArgs public Input? PageNum { get; set; } /// - /// Unique identifier for the project whose API keys you want to retrieve. Use the /groups endpoint to retrieve all projects to which the authenticated user has access. + /// The unique ID for the project. /// [Input("projectId", required: true)] public Input ProjectId { get; set; } = null!; @@ -81,7 +131,13 @@ public sealed class GetProjectApiKeysResult public readonly string Id; public readonly int? ItemsPerPage; public readonly int? PageNum; + /// + /// Project ID to assign to Access Key + /// public readonly string ProjectId; + /// + /// A list where each element represents a API Key assigned to the project. + /// public readonly ImmutableArray Results; [OutputConstructor] diff --git a/sdk/dotnet/NetworkPeering.cs b/sdk/dotnet/NetworkPeering.cs index b0bafba4..61a73946 100644 --- a/sdk/dotnet/NetworkPeering.cs +++ b/sdk/dotnet/NetworkPeering.cs @@ -14,7 +14,7 @@ namespace Pulumi.Mongodbatlas /// /// Ensure you have first created a network container if it is required for your configuration. See the network_container resource documentation to determine if you need a network container first. Examples for creating both container and peering resource are shown below as well as examples for creating the peering connection only. /// - /// > **GCP AND AZURE ONLY:** Connect via Peering Only mode is deprecated, so no longer needed. See disable Peering Only mode to disable. + /// > **GCP AND AZURE ONLY:** Connect via Peering Only mode is deprecated, so no longer needed. See [disable Peering Only mode](https://docs.atlas.mongodb.com/reference/faq/connection-changes/#disable-peering-mode) for details /// /// > **AZURE ONLY:** To create the peering request with an Azure VNET, you must grant Atlas the following permissions on the virtual network. /// Microsoft.Network/virtualNetworks/virtualNetworkPeerings/read diff --git a/sdk/dotnet/Outputs/GetProjectApiKeysResultProjectAssignmentResult.cs b/sdk/dotnet/Outputs/GetProjectApiKeysResultProjectAssignmentResult.cs index a88dce5c..bf7c8ccb 100644 --- a/sdk/dotnet/Outputs/GetProjectApiKeysResultProjectAssignmentResult.cs +++ b/sdk/dotnet/Outputs/GetProjectApiKeysResultProjectAssignmentResult.cs @@ -14,14 +14,11 @@ namespace Pulumi.Mongodbatlas.Outputs public sealed class GetProjectApiKeysResultProjectAssignmentResult { /// - /// Project ID to assign to Access Key + /// The unique ID for the project. /// public readonly string ProjectId; /// /// List of Project roles that the Programmatic API key needs to have. Ensure you provide: at least one role and ensure all roles are valid for the Project. You must specify an array even if you are only associating a single role with the Programmatic API key. The [MongoDB Documentation](https://www.mongodb.com/docs/atlas/reference/user-roles/#project-roles) describes the valid roles that can be assigned. - /// - /// - /// See [MongoDB Atlas API - API Keys](https://www.mongodb.com/docs/atlas/reference/api/projectApiKeys/get-all-apiKeys-in-one-project/) - Documentation for more information. /// public readonly ImmutableArray RoleNames; diff --git a/sdk/dotnet/PrivateEndpointRegionalMode.cs b/sdk/dotnet/PrivateEndpointRegionalMode.cs index 1a9a494d..d33b24d1 100644 --- a/sdk/dotnet/PrivateEndpointRegionalMode.cs +++ b/sdk/dotnet/PrivateEndpointRegionalMode.cs @@ -29,7 +29,7 @@ public partial class PrivateEndpointRegionalMode : global::Pulumi.CustomResource /// You can create only sharded clusters when you enable the regionalized private endpoint setting. You can't create replica sets. /// [Output("enabled")] - public Output Enabled { get; private set; } = null!; + public Output Enabled { get; private set; } = null!; /// /// Unique identifier for the project. diff --git a/sdk/dotnet/ProjectApiKey.cs b/sdk/dotnet/ProjectApiKey.cs index 09fb703d..f9886e62 100644 --- a/sdk/dotnet/ProjectApiKey.cs +++ b/sdk/dotnet/ProjectApiKey.cs @@ -35,7 +35,6 @@ namespace Pulumi.Mongodbatlas /// }, /// }, /// }, - /// ProjectId = "64259ee860c43338194b0f8e", /// }); /// /// }); @@ -73,7 +72,6 @@ namespace Pulumi.Mongodbatlas /// }, /// }, /// }, - /// ProjectId = "64259ee860c43338194b0f8e", /// }); /// /// }); @@ -99,8 +97,6 @@ public partial class ProjectApiKey : global::Pulumi.CustomResource /// /// Description of this Project API key. - /// - /// > **NOTE:** Project created by API Keys must belong to an existing organization. /// [Output("description")] public Output Description { get; private set; } = null!; @@ -112,7 +108,9 @@ public partial class ProjectApiKey : global::Pulumi.CustomResource public Output> ProjectAssignments { get; private set; } = null!; /// - /// Unique 24-hexadecimal digit string that identifies your project. + /// Unique 24-hexadecimal digit string that identifies your project. **WARNING:** this parameter is deprecated as it no longer needs to be defined. It will be removed in version 1.16.0. + /// + /// > **NOTE:** Project created by API Keys must belong to an existing organization. /// [Output("projectId")] public Output ProjectId { get; private set; } = null!; @@ -172,13 +170,11 @@ public sealed class ProjectApiKeyArgs : global::Pulumi.ResourceArgs { /// /// Description of this Project API key. - /// - /// > **NOTE:** Project created by API Keys must belong to an existing organization. /// [Input("description", required: true)] public Input Description { get; set; } = null!; - [Input("projectAssignments")] + [Input("projectAssignments", required: true)] private InputList? _projectAssignments; public InputList ProjectAssignments { @@ -187,10 +183,12 @@ public InputList ProjectAssignments } /// - /// Unique 24-hexadecimal digit string that identifies your project. + /// Unique 24-hexadecimal digit string that identifies your project. **WARNING:** this parameter is deprecated as it no longer needs to be defined. It will be removed in version 1.16.0. + /// + /// > **NOTE:** Project created by API Keys must belong to an existing organization. /// - [Input("projectId", required: true)] - public Input ProjectId { get; set; } = null!; + [Input("projectId")] + public Input? ProjectId { get; set; } public ProjectApiKeyArgs() { @@ -208,8 +206,6 @@ public sealed class ProjectApiKeyState : global::Pulumi.ResourceArgs /// /// Description of this Project API key. - /// - /// > **NOTE:** Project created by API Keys must belong to an existing organization. /// [Input("description")] public Input? Description { get; set; } @@ -235,7 +231,9 @@ public InputList ProjectAssignment } /// - /// Unique 24-hexadecimal digit string that identifies your project. + /// Unique 24-hexadecimal digit string that identifies your project. **WARNING:** this parameter is deprecated as it no longer needs to be defined. It will be removed in version 1.16.0. + /// + /// > **NOTE:** Project created by API Keys must belong to an existing organization. /// [Input("projectId")] public Input? ProjectId { get; set; } diff --git a/sdk/dotnet/ThirdPartyIntegration.cs b/sdk/dotnet/ThirdPartyIntegration.cs index 66d4b2ca..cc6d4ed2 100644 --- a/sdk/dotnet/ThirdPartyIntegration.cs +++ b/sdk/dotnet/ThirdPartyIntegration.cs @@ -57,28 +57,28 @@ public partial class ThirdPartyIntegration : global::Pulumi.CustomResource /// Your API Key. /// [Output("apiKey")] - public Output ApiKey { get; private set; } = null!; + public Output ApiKey { get; private set; } = null!; [Output("channelName")] - public Output ChannelName { get; private set; } = null!; + public Output ChannelName { get; private set; } = null!; /// /// Whether your cluster has Prometheus enabled. /// [Output("enabled")] - public Output Enabled { get; private set; } = null!; + public Output Enabled { get; private set; } = null!; /// /// Your Microsoft Teams incoming webhook URL. /// [Output("microsoftTeamsWebhookUrl")] - public Output MicrosoftTeamsWebhookUrl { get; private set; } = null!; + public Output MicrosoftTeamsWebhookUrl { get; private set; } = null!; /// /// Your Prometheus password. /// [Output("password")] - public Output Password { get; private set; } = null!; + public Output Password { get; private set; } = null!; /// /// The unique ID for the project to get all Third-Party service integrations @@ -96,13 +96,13 @@ public partial class ThirdPartyIntegration : global::Pulumi.CustomResource /// An optional field for your Routing Key. /// [Output("routingKey")] - public Output RoutingKey { get; private set; } = null!; + public Output RoutingKey { get; private set; } = null!; /// /// Your Prometheus protocol scheme configured for requests. /// [Output("scheme")] - public Output Scheme { get; private set; } = null!; + public Output Scheme { get; private set; } = null!; /// /// An optional field for your webhook secret. @@ -114,16 +114,16 @@ public partial class ThirdPartyIntegration : global::Pulumi.CustomResource /// Indicates which service discovery method is used, either file or http. /// [Output("serviceDiscovery")] - public Output ServiceDiscovery { get; private set; } = null!; + public Output ServiceDiscovery { get; private set; } = null!; /// /// Your Service Key. /// [Output("serviceKey")] - public Output ServiceKey { get; private set; } = null!; + public Output ServiceKey { get; private set; } = null!; [Output("teamName")] - public Output TeamName { get; private set; } = null!; + public Output TeamName { get; private set; } = null!; /// /// Third-Party Integration Settings type @@ -142,13 +142,13 @@ public partial class ThirdPartyIntegration : global::Pulumi.CustomResource /// Your webhook URL. /// [Output("url")] - public Output Url { get; private set; } = null!; + public Output Url { get; private set; } = null!; /// /// Your Prometheus username. /// [Output("userName")] - public Output UserName { get; private set; } = null!; + public Output UserName { get; private set; } = null!; /// diff --git a/sdk/dotnet/X509AuthenticationDatabaseUser.cs b/sdk/dotnet/X509AuthenticationDatabaseUser.cs index 6f167fc2..a1a8ae63 100644 --- a/sdk/dotnet/X509AuthenticationDatabaseUser.cs +++ b/sdk/dotnet/X509AuthenticationDatabaseUser.cs @@ -19,6 +19,8 @@ namespace Pulumi.Mongodbatlas /// /// > **NOTE:** Groups and projects are synonymous terms. You may find group_id in the official documentation. /// + /// > **NOTE:** Before provider version 1.14.0, Self-managed X.509 Authentication was disabled for the project when this resource was deleted. Starting from that version onward, it will not be disabled, allowing other users to continue using X.509 within the same project. + /// /// ## Example Usage /// /// ### S diff --git a/sdk/go/mongodbatlas/backupCompliancePolicy.go b/sdk/go/mongodbatlas/backupCompliancePolicy.go index c251df2f..b65d267d 100644 --- a/sdk/go/mongodbatlas/backupCompliancePolicy.go +++ b/sdk/go/mongodbatlas/backupCompliancePolicy.go @@ -30,6 +30,10 @@ type BackupCompliancePolicy struct { // Email address of a security or legal representative for the Backup Compliance Policy who is authorized to update the Backup Compliance Policy settings. AuthorizedEmail pulumi.StringOutput `pulumi:"authorizedEmail"` + // First name of the user who authorized to update the Backup Compliance Policy settings. + AuthorizedUserFirstName pulumi.StringOutput `pulumi:"authorizedUserFirstName"` + // Last name of the user who authorized to update the Backup Compliance Policy settings. + AuthorizedUserLastName pulumi.StringOutput `pulumi:"authorizedUserLastName"` // Flag that indicates whether to enable additional backup copies for the cluster. If unspecified, this value defaults to false. CopyProtectionEnabled pulumi.BoolOutput `pulumi:"copyProtectionEnabled"` // Flag that indicates whether Encryption at Rest using Customer Key Management is required for all clusters with a Backup Compliance Policy. If unspecified, this value defaults to false. @@ -63,6 +67,12 @@ func NewBackupCompliancePolicy(ctx *pulumi.Context, if args.AuthorizedEmail == nil { return nil, errors.New("invalid value for required argument 'AuthorizedEmail'") } + if args.AuthorizedUserFirstName == nil { + return nil, errors.New("invalid value for required argument 'AuthorizedUserFirstName'") + } + if args.AuthorizedUserLastName == nil { + return nil, errors.New("invalid value for required argument 'AuthorizedUserLastName'") + } if args.CopyProtectionEnabled == nil { return nil, errors.New("invalid value for required argument 'CopyProtectionEnabled'") } @@ -103,6 +113,10 @@ func GetBackupCompliancePolicy(ctx *pulumi.Context, type backupCompliancePolicyState struct { // Email address of a security or legal representative for the Backup Compliance Policy who is authorized to update the Backup Compliance Policy settings. AuthorizedEmail *string `pulumi:"authorizedEmail"` + // First name of the user who authorized to update the Backup Compliance Policy settings. + AuthorizedUserFirstName *string `pulumi:"authorizedUserFirstName"` + // Last name of the user who authorized to update the Backup Compliance Policy settings. + AuthorizedUserLastName *string `pulumi:"authorizedUserLastName"` // Flag that indicates whether to enable additional backup copies for the cluster. If unspecified, this value defaults to false. CopyProtectionEnabled *bool `pulumi:"copyProtectionEnabled"` // Flag that indicates whether Encryption at Rest using Customer Key Management is required for all clusters with a Backup Compliance Policy. If unspecified, this value defaults to false. @@ -129,6 +143,10 @@ type backupCompliancePolicyState struct { type BackupCompliancePolicyState struct { // Email address of a security or legal representative for the Backup Compliance Policy who is authorized to update the Backup Compliance Policy settings. AuthorizedEmail pulumi.StringPtrInput + // First name of the user who authorized to update the Backup Compliance Policy settings. + AuthorizedUserFirstName pulumi.StringPtrInput + // Last name of the user who authorized to update the Backup Compliance Policy settings. + AuthorizedUserLastName pulumi.StringPtrInput // Flag that indicates whether to enable additional backup copies for the cluster. If unspecified, this value defaults to false. CopyProtectionEnabled pulumi.BoolPtrInput // Flag that indicates whether Encryption at Rest using Customer Key Management is required for all clusters with a Backup Compliance Policy. If unspecified, this value defaults to false. @@ -159,6 +177,10 @@ func (BackupCompliancePolicyState) ElementType() reflect.Type { type backupCompliancePolicyArgs struct { // Email address of a security or legal representative for the Backup Compliance Policy who is authorized to update the Backup Compliance Policy settings. AuthorizedEmail string `pulumi:"authorizedEmail"` + // First name of the user who authorized to update the Backup Compliance Policy settings. + AuthorizedUserFirstName string `pulumi:"authorizedUserFirstName"` + // Last name of the user who authorized to update the Backup Compliance Policy settings. + AuthorizedUserLastName string `pulumi:"authorizedUserLastName"` // Flag that indicates whether to enable additional backup copies for the cluster. If unspecified, this value defaults to false. CopyProtectionEnabled bool `pulumi:"copyProtectionEnabled"` // Flag that indicates whether Encryption at Rest using Customer Key Management is required for all clusters with a Backup Compliance Policy. If unspecified, this value defaults to false. @@ -180,6 +202,10 @@ type backupCompliancePolicyArgs struct { type BackupCompliancePolicyArgs struct { // Email address of a security or legal representative for the Backup Compliance Policy who is authorized to update the Backup Compliance Policy settings. AuthorizedEmail pulumi.StringInput + // First name of the user who authorized to update the Backup Compliance Policy settings. + AuthorizedUserFirstName pulumi.StringInput + // Last name of the user who authorized to update the Backup Compliance Policy settings. + AuthorizedUserLastName pulumi.StringInput // Flag that indicates whether to enable additional backup copies for the cluster. If unspecified, this value defaults to false. CopyProtectionEnabled pulumi.BoolInput // Flag that indicates whether Encryption at Rest using Customer Key Management is required for all clusters with a Backup Compliance Policy. If unspecified, this value defaults to false. @@ -289,6 +315,16 @@ func (o BackupCompliancePolicyOutput) AuthorizedEmail() pulumi.StringOutput { return o.ApplyT(func(v *BackupCompliancePolicy) pulumi.StringOutput { return v.AuthorizedEmail }).(pulumi.StringOutput) } +// First name of the user who authorized to update the Backup Compliance Policy settings. +func (o BackupCompliancePolicyOutput) AuthorizedUserFirstName() pulumi.StringOutput { + return o.ApplyT(func(v *BackupCompliancePolicy) pulumi.StringOutput { return v.AuthorizedUserFirstName }).(pulumi.StringOutput) +} + +// Last name of the user who authorized to update the Backup Compliance Policy settings. +func (o BackupCompliancePolicyOutput) AuthorizedUserLastName() pulumi.StringOutput { + return o.ApplyT(func(v *BackupCompliancePolicy) pulumi.StringOutput { return v.AuthorizedUserLastName }).(pulumi.StringOutput) +} + // Flag that indicates whether to enable additional backup copies for the cluster. If unspecified, this value defaults to false. func (o BackupCompliancePolicyOutput) CopyProtectionEnabled() pulumi.BoolOutput { return o.ApplyT(func(v *BackupCompliancePolicy) pulumi.BoolOutput { return v.CopyProtectionEnabled }).(pulumi.BoolOutput) diff --git a/sdk/go/mongodbatlas/cloudProviderAccess.go b/sdk/go/mongodbatlas/cloudProviderAccess.go index 1633f659..c1a35014 100644 --- a/sdk/go/mongodbatlas/cloudProviderAccess.go +++ b/sdk/go/mongodbatlas/cloudProviderAccess.go @@ -231,7 +231,7 @@ type CloudProviderAccess struct { // Atlas features this AWS IAM role is linked to. FeatureUsages CloudProviderAccessFeatureUsageArrayOutput `pulumi:"featureUsages"` // ARN of the IAM Role that Atlas assumes when accessing resources in your AWS account. This value is required after the creation (register of the role) as part of [Set Up Unified AWS Access](https://docs.atlas.mongodb.com/security/set-up-unified-aws-access/#set-up-unified-aws-access). - IamAssumedRoleArn pulumi.StringPtrOutput `pulumi:"iamAssumedRoleArn"` + IamAssumedRoleArn pulumi.StringOutput `pulumi:"iamAssumedRoleArn"` // The unique ID for the project ProjectId pulumi.StringOutput `pulumi:"projectId"` // The cloud provider for which to create a new role. Currently only AWS is supported. @@ -459,8 +459,8 @@ func (o CloudProviderAccessOutput) FeatureUsages() CloudProviderAccessFeatureUsa } // ARN of the IAM Role that Atlas assumes when accessing resources in your AWS account. This value is required after the creation (register of the role) as part of [Set Up Unified AWS Access](https://docs.atlas.mongodb.com/security/set-up-unified-aws-access/#set-up-unified-aws-access). -func (o CloudProviderAccessOutput) IamAssumedRoleArn() pulumi.StringPtrOutput { - return o.ApplyT(func(v *CloudProviderAccess) pulumi.StringPtrOutput { return v.IamAssumedRoleArn }).(pulumi.StringPtrOutput) +func (o CloudProviderAccessOutput) IamAssumedRoleArn() pulumi.StringOutput { + return o.ApplyT(func(v *CloudProviderAccess) pulumi.StringOutput { return v.IamAssumedRoleArn }).(pulumi.StringOutput) } // The unique ID for the project diff --git a/sdk/go/mongodbatlas/cluster.go b/sdk/go/mongodbatlas/cluster.go index e5edafdf..522c0520 100644 --- a/sdk/go/mongodbatlas/cluster.go +++ b/sdk/go/mongodbatlas/cluster.go @@ -65,7 +65,7 @@ type Cluster struct { BackupEnabled pulumi.BoolOutput `pulumi:"backupEnabled"` // Specifies BI Connector for Atlas configuration on this cluster. BI Connector for Atlas is only available for M10+ clusters. See BI Connector below for more details. BiConnectorConfig ClusterBiConnectorConfigOutput `pulumi:"biConnectorConfig"` - CloudBackup pulumi.BoolPtrOutput `pulumi:"cloudBackup"` + CloudBackup pulumi.BoolOutput `pulumi:"cloudBackup"` // The cluster ID. ClusterId pulumi.StringOutput `pulumi:"clusterId"` // Specifies the type of the cluster that you want to modify. You cannot convert a sharded cluster deployment to a replica set deployment. @@ -852,8 +852,8 @@ func (o ClusterOutput) BiConnectorConfig() ClusterBiConnectorConfigOutput { return o.ApplyT(func(v *Cluster) ClusterBiConnectorConfigOutput { return v.BiConnectorConfig }).(ClusterBiConnectorConfigOutput) } -func (o ClusterOutput) CloudBackup() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *Cluster) pulumi.BoolPtrOutput { return v.CloudBackup }).(pulumi.BoolPtrOutput) +func (o ClusterOutput) CloudBackup() pulumi.BoolOutput { + return o.ApplyT(func(v *Cluster) pulumi.BoolOutput { return v.CloudBackup }).(pulumi.BoolOutput) } // The cluster ID. diff --git a/sdk/go/mongodbatlas/getBackupCompliancePolicy.go b/sdk/go/mongodbatlas/getBackupCompliancePolicy.go index 77397438..711b2526 100644 --- a/sdk/go/mongodbatlas/getBackupCompliancePolicy.go +++ b/sdk/go/mongodbatlas/getBackupCompliancePolicy.go @@ -36,6 +36,10 @@ type LookupBackupCompliancePolicyArgs struct { type LookupBackupCompliancePolicyResult struct { // Email address of the user who is authorized to update the Backup Compliance Policy settings. AuthorizedEmail string `pulumi:"authorizedEmail"` + // First name of the user who authorized to update the Backup Compliance Policy settings. + AuthorizedUserFirstName string `pulumi:"authorizedUserFirstName"` + // Last name of the user who authorized to update the Backup Compliance Policy settings. + AuthorizedUserLastName string `pulumi:"authorizedUserLastName"` // Flag that indicates whether to enable additional backup copies for the cluster. If unspecified, this value defaults to false. CopyProtectionEnabled bool `pulumi:"copyProtectionEnabled"` // Flag that indicates whether Encryption at Rest using Customer Key Management is required for all clusters with a Backup Compliance Policy. If unspecified, this value defaults to false. @@ -108,6 +112,16 @@ func (o LookupBackupCompliancePolicyResultOutput) AuthorizedEmail() pulumi.Strin return o.ApplyT(func(v LookupBackupCompliancePolicyResult) string { return v.AuthorizedEmail }).(pulumi.StringOutput) } +// First name of the user who authorized to update the Backup Compliance Policy settings. +func (o LookupBackupCompliancePolicyResultOutput) AuthorizedUserFirstName() pulumi.StringOutput { + return o.ApplyT(func(v LookupBackupCompliancePolicyResult) string { return v.AuthorizedUserFirstName }).(pulumi.StringOutput) +} + +// Last name of the user who authorized to update the Backup Compliance Policy settings. +func (o LookupBackupCompliancePolicyResultOutput) AuthorizedUserLastName() pulumi.StringOutput { + return o.ApplyT(func(v LookupBackupCompliancePolicyResult) string { return v.AuthorizedUserLastName }).(pulumi.StringOutput) +} + // Flag that indicates whether to enable additional backup copies for the cluster. If unspecified, this value defaults to false. func (o LookupBackupCompliancePolicyResultOutput) CopyProtectionEnabled() pulumi.BoolOutput { return o.ApplyT(func(v LookupBackupCompliancePolicyResult) bool { return v.CopyProtectionEnabled }).(pulumi.BoolOutput) diff --git a/sdk/go/mongodbatlas/getCluster.go b/sdk/go/mongodbatlas/getCluster.go index f3737a5b..50c2cbd7 100644 --- a/sdk/go/mongodbatlas/getCluster.go +++ b/sdk/go/mongodbatlas/getCluster.go @@ -16,6 +16,7 @@ import ( // > **NOTE:** Groups and projects are synonymous terms. You may find groupId in the official documentation. // // > **IMPORTANT:** +//
• Multi Region Cluster: The `Cluster` data source doesn't return the `containerId` for each region utilized by the cluster. For retrieving the `containerId`, we recommend the `AdvancedCluster` data source instead. //
• Changes to cluster configurations can affect costs. Before making changes, please see [Billing](https://docs.atlas.mongodb.com/billing/). //
• If your Atlas project contains a custom role that uses actions introduced in a specific MongoDB version, you cannot create a cluster with a MongoDB version less than that version unless you delete the custom role. func LookupCluster(ctx *pulumi.Context, args *LookupClusterArgs, opts ...pulumi.InvokeOption) (*LookupClusterResult, error) { diff --git a/sdk/go/mongodbatlas/getClusters.go b/sdk/go/mongodbatlas/getClusters.go index 7e909aec..9762b491 100644 --- a/sdk/go/mongodbatlas/getClusters.go +++ b/sdk/go/mongodbatlas/getClusters.go @@ -16,6 +16,7 @@ import ( // > **NOTE:** Groups and projects are synonymous terms. You may find groupId in the official documentation. // // > **IMPORTANT:** +//
• Multi Region Cluster: The `Cluster` data source doesn't return the `containerId` for each region utilized by the cluster. For retrieving the `containerId`, we recommend the `AdvancedCluster` data source instead. //
• Changes to cluster configurations can affect costs. Before making changes, please see [Billing](https://docs.atlas.mongodb.com/billing/). //
• If your Atlas project contains a custom role that uses actions introduced in a specific MongoDB version, you cannot create a cluster with a MongoDB version less than that version unless you delete the custom role. // diff --git a/sdk/go/mongodbatlas/getProjectApiKey.go b/sdk/go/mongodbatlas/getProjectApiKey.go index 695286ab..9f140a03 100644 --- a/sdk/go/mongodbatlas/getProjectApiKey.go +++ b/sdk/go/mongodbatlas/getProjectApiKey.go @@ -24,6 +24,7 @@ func LookupProjectApiKey(ctx *pulumi.Context, args *LookupProjectApiKeyArgs, opt // A collection of arguments for invoking getProjectApiKey. type LookupProjectApiKeyArgs struct { + // Unique identifier for this Project API key. ApiKeyId string `pulumi:"apiKeyId"` // The unique ID for the project. ProjectId string `pulumi:"projectId"` @@ -60,6 +61,7 @@ func LookupProjectApiKeyOutput(ctx *pulumi.Context, args LookupProjectApiKeyOutp // A collection of arguments for invoking getProjectApiKey. type LookupProjectApiKeyOutputArgs struct { + // Unique identifier for this Project API key. ApiKeyId pulumi.StringInput `pulumi:"apiKeyId"` // The unique ID for the project. ProjectId pulumi.StringInput `pulumi:"projectId"` diff --git a/sdk/go/mongodbatlas/getProjectApiKeys.go b/sdk/go/mongodbatlas/getProjectApiKeys.go index fa5e9475..cb62d2a3 100644 --- a/sdk/go/mongodbatlas/getProjectApiKeys.go +++ b/sdk/go/mongodbatlas/getProjectApiKeys.go @@ -11,6 +11,33 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := mongodbatlas.LookupProjectApiKeys(ctx, &mongodbatlas.LookupProjectApiKeysArgs{ +// ItemsPerPage: pulumi.IntRef(5), +// PageNum: pulumi.IntRef(1), +// ProjectId: "32b6e34b3d91647abb20e7b8", +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` func LookupProjectApiKeys(ctx *pulumi.Context, args *LookupProjectApiKeysArgs, opts ...pulumi.InvokeOption) (*LookupProjectApiKeysResult, error) { opts = internal.PkgInvokeDefaultOpts(opts) var rv LookupProjectApiKeysResult @@ -27,18 +54,20 @@ type LookupProjectApiKeysArgs struct { ItemsPerPage *int `pulumi:"itemsPerPage"` // The page to return. Defaults to `1`. PageNum *int `pulumi:"pageNum"` - // Unique identifier for the project whose API keys you want to retrieve. Use the /groups endpoint to retrieve all projects to which the authenticated user has access. + // The unique ID for the project. ProjectId string `pulumi:"projectId"` } // A collection of values returned by getProjectApiKeys. type LookupProjectApiKeysResult struct { // The provider-assigned unique ID for this managed resource. - Id string `pulumi:"id"` - ItemsPerPage *int `pulumi:"itemsPerPage"` - PageNum *int `pulumi:"pageNum"` - ProjectId string `pulumi:"projectId"` - Results []GetProjectApiKeysResult `pulumi:"results"` + Id string `pulumi:"id"` + ItemsPerPage *int `pulumi:"itemsPerPage"` + PageNum *int `pulumi:"pageNum"` + // Project ID to assign to Access Key + ProjectId string `pulumi:"projectId"` + // A list where each element represents a API Key assigned to the project. + Results []GetProjectApiKeysResult `pulumi:"results"` } func LookupProjectApiKeysOutput(ctx *pulumi.Context, args LookupProjectApiKeysOutputArgs, opts ...pulumi.InvokeOption) LookupProjectApiKeysResultOutput { @@ -60,7 +89,7 @@ type LookupProjectApiKeysOutputArgs struct { ItemsPerPage pulumi.IntPtrInput `pulumi:"itemsPerPage"` // The page to return. Defaults to `1`. PageNum pulumi.IntPtrInput `pulumi:"pageNum"` - // Unique identifier for the project whose API keys you want to retrieve. Use the /groups endpoint to retrieve all projects to which the authenticated user has access. + // The unique ID for the project. ProjectId pulumi.StringInput `pulumi:"projectId"` } @@ -96,10 +125,12 @@ func (o LookupProjectApiKeysResultOutput) PageNum() pulumi.IntPtrOutput { return o.ApplyT(func(v LookupProjectApiKeysResult) *int { return v.PageNum }).(pulumi.IntPtrOutput) } +// Project ID to assign to Access Key func (o LookupProjectApiKeysResultOutput) ProjectId() pulumi.StringOutput { return o.ApplyT(func(v LookupProjectApiKeysResult) string { return v.ProjectId }).(pulumi.StringOutput) } +// A list where each element represents a API Key assigned to the project. func (o LookupProjectApiKeysResultOutput) Results() GetProjectApiKeysResultArrayOutput { return o.ApplyT(func(v LookupProjectApiKeysResult) []GetProjectApiKeysResult { return v.Results }).(GetProjectApiKeysResultArrayOutput) } diff --git a/sdk/go/mongodbatlas/networkPeering.go b/sdk/go/mongodbatlas/networkPeering.go index c67bf099..09a3b5d6 100644 --- a/sdk/go/mongodbatlas/networkPeering.go +++ b/sdk/go/mongodbatlas/networkPeering.go @@ -16,7 +16,7 @@ import ( // // Ensure you have first created a network container if it is required for your configuration. See the networkContainer resource documentation to determine if you need a network container first. Examples for creating both container and peering resource are shown below as well as examples for creating the peering connection only. // -// > **GCP AND AZURE ONLY:** Connect via Peering Only mode is deprecated, so no longer needed. See disable Peering Only mode to disable. +// > **GCP AND AZURE ONLY:** Connect via Peering Only mode is deprecated, so no longer needed. See [disable Peering Only mode](https://docs.atlas.mongodb.com/reference/faq/connection-changes/#disable-peering-mode) for details // // > **AZURE ONLY:** To create the peering request with an Azure VNET, you must grant Atlas the following permissions on the virtual network. // diff --git a/sdk/go/mongodbatlas/privateEndpointRegionalMode.go b/sdk/go/mongodbatlas/privateEndpointRegionalMode.go index 24fedd4e..80c7f94d 100644 --- a/sdk/go/mongodbatlas/privateEndpointRegionalMode.go +++ b/sdk/go/mongodbatlas/privateEndpointRegionalMode.go @@ -30,7 +30,7 @@ type PrivateEndpointRegionalMode struct { // * More than one private endpoint in more than one region, or // * More than one private endpoint in one region and one private endpoint in one or more regions. // You can create only sharded clusters when you enable the regionalized private endpoint setting. You can't create replica sets. - Enabled pulumi.BoolPtrOutput `pulumi:"enabled"` + Enabled pulumi.BoolOutput `pulumi:"enabled"` // Unique identifier for the project. ProjectId pulumi.StringOutput `pulumi:"projectId"` } @@ -203,8 +203,8 @@ func (o PrivateEndpointRegionalModeOutput) ToPrivateEndpointRegionalModeOutputWi // - More than one private endpoint in more than one region, or // - More than one private endpoint in one region and one private endpoint in one or more regions. // You can create only sharded clusters when you enable the regionalized private endpoint setting. You can't create replica sets. -func (o PrivateEndpointRegionalModeOutput) Enabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *PrivateEndpointRegionalMode) pulumi.BoolPtrOutput { return v.Enabled }).(pulumi.BoolPtrOutput) +func (o PrivateEndpointRegionalModeOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v *PrivateEndpointRegionalMode) pulumi.BoolOutput { return v.Enabled }).(pulumi.BoolOutput) } // Unique identifier for the project. diff --git a/sdk/go/mongodbatlas/projectApiKey.go b/sdk/go/mongodbatlas/projectApiKey.go index dae852f8..99d847d0 100644 --- a/sdk/go/mongodbatlas/projectApiKey.go +++ b/sdk/go/mongodbatlas/projectApiKey.go @@ -37,7 +37,6 @@ import ( // }, // }, // }, -// ProjectId: pulumi.String("64259ee860c43338194b0f8e"), // }) // if err != nil { // return err @@ -78,7 +77,6 @@ import ( // }, // }, // }, -// ProjectId: pulumi.String("64259ee860c43338194b0f8e"), // }) // if err != nil { // return err @@ -106,12 +104,14 @@ type ProjectApiKey struct { // Unique identifier for this Project API key. ApiKeyId pulumi.StringOutput `pulumi:"apiKeyId"` // Description of this Project API key. - // - // > **NOTE:** Project created by API Keys must belong to an existing organization. Description pulumi.StringOutput `pulumi:"description"` PrivateKey pulumi.StringOutput `pulumi:"privateKey"` ProjectAssignments ProjectApiKeyProjectAssignmentArrayOutput `pulumi:"projectAssignments"` - // Unique 24-hexadecimal digit string that identifies your project. + // Unique 24-hexadecimal digit string that identifies your project. **WARNING:** this parameter is deprecated as it no longer needs to be defined. It will be removed in version 1.16.0. + // + // > **NOTE:** Project created by API Keys must belong to an existing organization. + // + // Deprecated: this parameter is deprecated and will be removed in version 1.16.0 ProjectId pulumi.StringOutput `pulumi:"projectId"` PublicKey pulumi.StringOutput `pulumi:"publicKey"` } @@ -126,8 +126,8 @@ func NewProjectApiKey(ctx *pulumi.Context, if args.Description == nil { return nil, errors.New("invalid value for required argument 'Description'") } - if args.ProjectId == nil { - return nil, errors.New("invalid value for required argument 'ProjectId'") + if args.ProjectAssignments == nil { + return nil, errors.New("invalid value for required argument 'ProjectAssignments'") } secrets := pulumi.AdditionalSecretOutputs([]string{ "privateKey", @@ -159,12 +159,14 @@ type projectApiKeyState struct { // Unique identifier for this Project API key. ApiKeyId *string `pulumi:"apiKeyId"` // Description of this Project API key. - // - // > **NOTE:** Project created by API Keys must belong to an existing organization. Description *string `pulumi:"description"` PrivateKey *string `pulumi:"privateKey"` ProjectAssignments []ProjectApiKeyProjectAssignment `pulumi:"projectAssignments"` - // Unique 24-hexadecimal digit string that identifies your project. + // Unique 24-hexadecimal digit string that identifies your project. **WARNING:** this parameter is deprecated as it no longer needs to be defined. It will be removed in version 1.16.0. + // + // > **NOTE:** Project created by API Keys must belong to an existing organization. + // + // Deprecated: this parameter is deprecated and will be removed in version 1.16.0 ProjectId *string `pulumi:"projectId"` PublicKey *string `pulumi:"publicKey"` } @@ -173,12 +175,14 @@ type ProjectApiKeyState struct { // Unique identifier for this Project API key. ApiKeyId pulumi.StringPtrInput // Description of this Project API key. - // - // > **NOTE:** Project created by API Keys must belong to an existing organization. Description pulumi.StringPtrInput PrivateKey pulumi.StringPtrInput ProjectAssignments ProjectApiKeyProjectAssignmentArrayInput - // Unique 24-hexadecimal digit string that identifies your project. + // Unique 24-hexadecimal digit string that identifies your project. **WARNING:** this parameter is deprecated as it no longer needs to be defined. It will be removed in version 1.16.0. + // + // > **NOTE:** Project created by API Keys must belong to an existing organization. + // + // Deprecated: this parameter is deprecated and will be removed in version 1.16.0 ProjectId pulumi.StringPtrInput PublicKey pulumi.StringPtrInput } @@ -189,23 +193,27 @@ func (ProjectApiKeyState) ElementType() reflect.Type { type projectApiKeyArgs struct { // Description of this Project API key. - // - // > **NOTE:** Project created by API Keys must belong to an existing organization. Description string `pulumi:"description"` ProjectAssignments []ProjectApiKeyProjectAssignment `pulumi:"projectAssignments"` - // Unique 24-hexadecimal digit string that identifies your project. - ProjectId string `pulumi:"projectId"` + // Unique 24-hexadecimal digit string that identifies your project. **WARNING:** this parameter is deprecated as it no longer needs to be defined. It will be removed in version 1.16.0. + // + // > **NOTE:** Project created by API Keys must belong to an existing organization. + // + // Deprecated: this parameter is deprecated and will be removed in version 1.16.0 + ProjectId *string `pulumi:"projectId"` } // The set of arguments for constructing a ProjectApiKey resource. type ProjectApiKeyArgs struct { // Description of this Project API key. - // - // > **NOTE:** Project created by API Keys must belong to an existing organization. Description pulumi.StringInput ProjectAssignments ProjectApiKeyProjectAssignmentArrayInput - // Unique 24-hexadecimal digit string that identifies your project. - ProjectId pulumi.StringInput + // Unique 24-hexadecimal digit string that identifies your project. **WARNING:** this parameter is deprecated as it no longer needs to be defined. It will be removed in version 1.16.0. + // + // > **NOTE:** Project created by API Keys must belong to an existing organization. + // + // Deprecated: this parameter is deprecated and will be removed in version 1.16.0 + ProjectId pulumi.StringPtrInput } func (ProjectApiKeyArgs) ElementType() reflect.Type { @@ -301,8 +309,6 @@ func (o ProjectApiKeyOutput) ApiKeyId() pulumi.StringOutput { } // Description of this Project API key. -// -// > **NOTE:** Project created by API Keys must belong to an existing organization. func (o ProjectApiKeyOutput) Description() pulumi.StringOutput { return o.ApplyT(func(v *ProjectApiKey) pulumi.StringOutput { return v.Description }).(pulumi.StringOutput) } @@ -315,7 +321,11 @@ func (o ProjectApiKeyOutput) ProjectAssignments() ProjectApiKeyProjectAssignment return o.ApplyT(func(v *ProjectApiKey) ProjectApiKeyProjectAssignmentArrayOutput { return v.ProjectAssignments }).(ProjectApiKeyProjectAssignmentArrayOutput) } -// Unique 24-hexadecimal digit string that identifies your project. +// Unique 24-hexadecimal digit string that identifies your project. **WARNING:** this parameter is deprecated as it no longer needs to be defined. It will be removed in version 1.16.0. +// +// > **NOTE:** Project created by API Keys must belong to an existing organization. +// +// Deprecated: this parameter is deprecated and will be removed in version 1.16.0 func (o ProjectApiKeyOutput) ProjectId() pulumi.StringOutput { return o.ApplyT(func(v *ProjectApiKey) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) } diff --git a/sdk/go/mongodbatlas/pulumiTypes.go b/sdk/go/mongodbatlas/pulumiTypes.go index 48f8117d..e99f975d 100644 --- a/sdk/go/mongodbatlas/pulumiTypes.go +++ b/sdk/go/mongodbatlas/pulumiTypes.go @@ -43370,11 +43370,9 @@ func (o GetProjectApiKeysResultArrayOutput) Index(i pulumi.IntInput) GetProjectA } type GetProjectApiKeysResultProjectAssignment struct { - // Project ID to assign to Access Key + // The unique ID for the project. ProjectId string `pulumi:"projectId"` // List of Project roles that the Programmatic API key needs to have. Ensure you provide: at least one role and ensure all roles are valid for the Project. You must specify an array even if you are only associating a single role with the Programmatic API key. The [MongoDB Documentation](https://www.mongodb.com/docs/atlas/reference/user-roles/#project-roles) describes the valid roles that can be assigned. - // - // See [MongoDB Atlas API - API Keys](https://www.mongodb.com/docs/atlas/reference/api/projectApiKeys/get-all-apiKeys-in-one-project/) - Documentation for more information. RoleNames []string `pulumi:"roleNames"` } @@ -43390,11 +43388,9 @@ type GetProjectApiKeysResultProjectAssignmentInput interface { } type GetProjectApiKeysResultProjectAssignmentArgs struct { - // Project ID to assign to Access Key + // The unique ID for the project. ProjectId pulumi.StringInput `pulumi:"projectId"` // List of Project roles that the Programmatic API key needs to have. Ensure you provide: at least one role and ensure all roles are valid for the Project. You must specify an array even if you are only associating a single role with the Programmatic API key. The [MongoDB Documentation](https://www.mongodb.com/docs/atlas/reference/user-roles/#project-roles) describes the valid roles that can be assigned. - // - // See [MongoDB Atlas API - API Keys](https://www.mongodb.com/docs/atlas/reference/api/projectApiKeys/get-all-apiKeys-in-one-project/) - Documentation for more information. RoleNames pulumi.StringArrayInput `pulumi:"roleNames"` } @@ -43449,14 +43445,12 @@ func (o GetProjectApiKeysResultProjectAssignmentOutput) ToGetProjectApiKeysResul return o } -// Project ID to assign to Access Key +// The unique ID for the project. func (o GetProjectApiKeysResultProjectAssignmentOutput) ProjectId() pulumi.StringOutput { return o.ApplyT(func(v GetProjectApiKeysResultProjectAssignment) string { return v.ProjectId }).(pulumi.StringOutput) } // List of Project roles that the Programmatic API key needs to have. Ensure you provide: at least one role and ensure all roles are valid for the Project. You must specify an array even if you are only associating a single role with the Programmatic API key. The [MongoDB Documentation](https://www.mongodb.com/docs/atlas/reference/user-roles/#project-roles) describes the valid roles that can be assigned. -// -// See [MongoDB Atlas API - API Keys](https://www.mongodb.com/docs/atlas/reference/api/projectApiKeys/get-all-apiKeys-in-one-project/) - Documentation for more information. func (o GetProjectApiKeysResultProjectAssignmentOutput) RoleNames() pulumi.StringArrayOutput { return o.ApplyT(func(v GetProjectApiKeysResultProjectAssignment) []string { return v.RoleNames }).(pulumi.StringArrayOutput) } diff --git a/sdk/go/mongodbatlas/thirdPartyIntegration.go b/sdk/go/mongodbatlas/thirdPartyIntegration.go index 8c0744bc..85c0edcc 100644 --- a/sdk/go/mongodbatlas/thirdPartyIntegration.go +++ b/sdk/go/mongodbatlas/thirdPartyIntegration.go @@ -66,29 +66,29 @@ type ThirdPartyIntegration struct { pulumi.CustomResourceState // Your API Key. - ApiKey pulumi.StringPtrOutput `pulumi:"apiKey"` - ChannelName pulumi.StringPtrOutput `pulumi:"channelName"` + ApiKey pulumi.StringOutput `pulumi:"apiKey"` + ChannelName pulumi.StringOutput `pulumi:"channelName"` // Whether your cluster has Prometheus enabled. - Enabled pulumi.BoolPtrOutput `pulumi:"enabled"` + Enabled pulumi.BoolOutput `pulumi:"enabled"` // Your Microsoft Teams incoming webhook URL. - MicrosoftTeamsWebhookUrl pulumi.StringPtrOutput `pulumi:"microsoftTeamsWebhookUrl"` + MicrosoftTeamsWebhookUrl pulumi.StringOutput `pulumi:"microsoftTeamsWebhookUrl"` // Your Prometheus password. - Password pulumi.StringPtrOutput `pulumi:"password"` + Password pulumi.StringOutput `pulumi:"password"` // The unique ID for the project to get all Third-Party service integrations ProjectId pulumi.StringOutput `pulumi:"projectId"` // Indicates which API URL to use, either "US" or "EU". OpsGenie will use "US" by default. Region pulumi.StringOutput `pulumi:"region"` // An optional field for your Routing Key. - RoutingKey pulumi.StringPtrOutput `pulumi:"routingKey"` + RoutingKey pulumi.StringOutput `pulumi:"routingKey"` // Your Prometheus protocol scheme configured for requests. - Scheme pulumi.StringPtrOutput `pulumi:"scheme"` + Scheme pulumi.StringOutput `pulumi:"scheme"` // An optional field for your webhook secret. Secret pulumi.StringPtrOutput `pulumi:"secret"` // Indicates which service discovery method is used, either file or http. - ServiceDiscovery pulumi.StringPtrOutput `pulumi:"serviceDiscovery"` + ServiceDiscovery pulumi.StringOutput `pulumi:"serviceDiscovery"` // Your Service Key. - ServiceKey pulumi.StringPtrOutput `pulumi:"serviceKey"` - TeamName pulumi.StringPtrOutput `pulumi:"teamName"` + ServiceKey pulumi.StringOutput `pulumi:"serviceKey"` + TeamName pulumi.StringOutput `pulumi:"teamName"` // Third-Party Integration Settings type // * PAGER_DUTY // * DATADOG @@ -99,9 +99,9 @@ type ThirdPartyIntegration struct { // * PROMETHEUS Type pulumi.StringOutput `pulumi:"type"` // Your webhook URL. - Url pulumi.StringPtrOutput `pulumi:"url"` + Url pulumi.StringOutput `pulumi:"url"` // Your Prometheus username. - UserName pulumi.StringPtrOutput `pulumi:"userName"` + UserName pulumi.StringOutput `pulumi:"userName"` } // NewThirdPartyIntegration registers a new resource with the given unique name, arguments, and options. @@ -427,27 +427,27 @@ func (o ThirdPartyIntegrationOutput) ToThirdPartyIntegrationOutputWithContext(ct } // Your API Key. -func (o ThirdPartyIntegrationOutput) ApiKey() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ThirdPartyIntegration) pulumi.StringPtrOutput { return v.ApiKey }).(pulumi.StringPtrOutput) +func (o ThirdPartyIntegrationOutput) ApiKey() pulumi.StringOutput { + return o.ApplyT(func(v *ThirdPartyIntegration) pulumi.StringOutput { return v.ApiKey }).(pulumi.StringOutput) } -func (o ThirdPartyIntegrationOutput) ChannelName() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ThirdPartyIntegration) pulumi.StringPtrOutput { return v.ChannelName }).(pulumi.StringPtrOutput) +func (o ThirdPartyIntegrationOutput) ChannelName() pulumi.StringOutput { + return o.ApplyT(func(v *ThirdPartyIntegration) pulumi.StringOutput { return v.ChannelName }).(pulumi.StringOutput) } // Whether your cluster has Prometheus enabled. -func (o ThirdPartyIntegrationOutput) Enabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *ThirdPartyIntegration) pulumi.BoolPtrOutput { return v.Enabled }).(pulumi.BoolPtrOutput) +func (o ThirdPartyIntegrationOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v *ThirdPartyIntegration) pulumi.BoolOutput { return v.Enabled }).(pulumi.BoolOutput) } // Your Microsoft Teams incoming webhook URL. -func (o ThirdPartyIntegrationOutput) MicrosoftTeamsWebhookUrl() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ThirdPartyIntegration) pulumi.StringPtrOutput { return v.MicrosoftTeamsWebhookUrl }).(pulumi.StringPtrOutput) +func (o ThirdPartyIntegrationOutput) MicrosoftTeamsWebhookUrl() pulumi.StringOutput { + return o.ApplyT(func(v *ThirdPartyIntegration) pulumi.StringOutput { return v.MicrosoftTeamsWebhookUrl }).(pulumi.StringOutput) } // Your Prometheus password. -func (o ThirdPartyIntegrationOutput) Password() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ThirdPartyIntegration) pulumi.StringPtrOutput { return v.Password }).(pulumi.StringPtrOutput) +func (o ThirdPartyIntegrationOutput) Password() pulumi.StringOutput { + return o.ApplyT(func(v *ThirdPartyIntegration) pulumi.StringOutput { return v.Password }).(pulumi.StringOutput) } // The unique ID for the project to get all Third-Party service integrations @@ -461,13 +461,13 @@ func (o ThirdPartyIntegrationOutput) Region() pulumi.StringOutput { } // An optional field for your Routing Key. -func (o ThirdPartyIntegrationOutput) RoutingKey() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ThirdPartyIntegration) pulumi.StringPtrOutput { return v.RoutingKey }).(pulumi.StringPtrOutput) +func (o ThirdPartyIntegrationOutput) RoutingKey() pulumi.StringOutput { + return o.ApplyT(func(v *ThirdPartyIntegration) pulumi.StringOutput { return v.RoutingKey }).(pulumi.StringOutput) } // Your Prometheus protocol scheme configured for requests. -func (o ThirdPartyIntegrationOutput) Scheme() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ThirdPartyIntegration) pulumi.StringPtrOutput { return v.Scheme }).(pulumi.StringPtrOutput) +func (o ThirdPartyIntegrationOutput) Scheme() pulumi.StringOutput { + return o.ApplyT(func(v *ThirdPartyIntegration) pulumi.StringOutput { return v.Scheme }).(pulumi.StringOutput) } // An optional field for your webhook secret. @@ -476,17 +476,17 @@ func (o ThirdPartyIntegrationOutput) Secret() pulumi.StringPtrOutput { } // Indicates which service discovery method is used, either file or http. -func (o ThirdPartyIntegrationOutput) ServiceDiscovery() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ThirdPartyIntegration) pulumi.StringPtrOutput { return v.ServiceDiscovery }).(pulumi.StringPtrOutput) +func (o ThirdPartyIntegrationOutput) ServiceDiscovery() pulumi.StringOutput { + return o.ApplyT(func(v *ThirdPartyIntegration) pulumi.StringOutput { return v.ServiceDiscovery }).(pulumi.StringOutput) } // Your Service Key. -func (o ThirdPartyIntegrationOutput) ServiceKey() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ThirdPartyIntegration) pulumi.StringPtrOutput { return v.ServiceKey }).(pulumi.StringPtrOutput) +func (o ThirdPartyIntegrationOutput) ServiceKey() pulumi.StringOutput { + return o.ApplyT(func(v *ThirdPartyIntegration) pulumi.StringOutput { return v.ServiceKey }).(pulumi.StringOutput) } -func (o ThirdPartyIntegrationOutput) TeamName() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ThirdPartyIntegration) pulumi.StringPtrOutput { return v.TeamName }).(pulumi.StringPtrOutput) +func (o ThirdPartyIntegrationOutput) TeamName() pulumi.StringOutput { + return o.ApplyT(func(v *ThirdPartyIntegration) pulumi.StringOutput { return v.TeamName }).(pulumi.StringOutput) } // Third-Party Integration Settings type @@ -502,13 +502,13 @@ func (o ThirdPartyIntegrationOutput) Type() pulumi.StringOutput { } // Your webhook URL. -func (o ThirdPartyIntegrationOutput) Url() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ThirdPartyIntegration) pulumi.StringPtrOutput { return v.Url }).(pulumi.StringPtrOutput) +func (o ThirdPartyIntegrationOutput) Url() pulumi.StringOutput { + return o.ApplyT(func(v *ThirdPartyIntegration) pulumi.StringOutput { return v.Url }).(pulumi.StringOutput) } // Your Prometheus username. -func (o ThirdPartyIntegrationOutput) UserName() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ThirdPartyIntegration) pulumi.StringPtrOutput { return v.UserName }).(pulumi.StringPtrOutput) +func (o ThirdPartyIntegrationOutput) UserName() pulumi.StringOutput { + return o.ApplyT(func(v *ThirdPartyIntegration) pulumi.StringOutput { return v.UserName }).(pulumi.StringOutput) } type ThirdPartyIntegrationArrayOutput struct{ *pulumi.OutputState } diff --git a/sdk/go/mongodbatlas/x509authenticationDatabaseUser.go b/sdk/go/mongodbatlas/x509authenticationDatabaseUser.go index 42123798..0b9be150 100644 --- a/sdk/go/mongodbatlas/x509authenticationDatabaseUser.go +++ b/sdk/go/mongodbatlas/x509authenticationDatabaseUser.go @@ -21,6 +21,8 @@ import ( // // > **NOTE:** Groups and projects are synonymous terms. You may find groupId in the official documentation. // +// > **NOTE:** Before provider version 1.14.0, Self-managed X.509 Authentication was disabled for the project when this resource was deleted. Starting from that version onward, it will not be disabled, allowing other users to continue using X.509 within the same project. +// // ## Example Usage // // ### S diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/BackupCompliancePolicy.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/BackupCompliancePolicy.java index 727310f2..24168009 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/BackupCompliancePolicy.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/BackupCompliancePolicy.java @@ -51,6 +51,34 @@ public class BackupCompliancePolicy extends com.pulumi.resources.CustomResource public Output authorizedEmail() { return this.authorizedEmail; } + /** + * First name of the user who authorized to update the Backup Compliance Policy settings. + * + */ + @Export(name="authorizedUserFirstName", refs={String.class}, tree="[0]") + private Output authorizedUserFirstName; + + /** + * @return First name of the user who authorized to update the Backup Compliance Policy settings. + * + */ + public Output authorizedUserFirstName() { + return this.authorizedUserFirstName; + } + /** + * Last name of the user who authorized to update the Backup Compliance Policy settings. + * + */ + @Export(name="authorizedUserLastName", refs={String.class}, tree="[0]") + private Output authorizedUserLastName; + + /** + * @return Last name of the user who authorized to update the Backup Compliance Policy settings. + * + */ + public Output authorizedUserLastName() { + return this.authorizedUserLastName; + } /** * Flag that indicates whether to enable additional backup copies for the cluster. If unspecified, this value defaults to false. * diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/BackupCompliancePolicyArgs.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/BackupCompliancePolicyArgs.java index 5227d5d0..119d88ee 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/BackupCompliancePolicyArgs.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/BackupCompliancePolicyArgs.java @@ -38,6 +38,36 @@ public Output authorizedEmail() { return this.authorizedEmail; } + /** + * First name of the user who authorized to update the Backup Compliance Policy settings. + * + */ + @Import(name="authorizedUserFirstName", required=true) + private Output authorizedUserFirstName; + + /** + * @return First name of the user who authorized to update the Backup Compliance Policy settings. + * + */ + public Output authorizedUserFirstName() { + return this.authorizedUserFirstName; + } + + /** + * Last name of the user who authorized to update the Backup Compliance Policy settings. + * + */ + @Import(name="authorizedUserLastName", required=true) + private Output authorizedUserLastName; + + /** + * @return Last name of the user who authorized to update the Backup Compliance Policy settings. + * + */ + public Output authorizedUserLastName() { + return this.authorizedUserLastName; + } + /** * Flag that indicates whether to enable additional backup copies for the cluster. If unspecified, this value defaults to false. * @@ -152,6 +182,8 @@ private BackupCompliancePolicyArgs() {} private BackupCompliancePolicyArgs(BackupCompliancePolicyArgs $) { this.authorizedEmail = $.authorizedEmail; + this.authorizedUserFirstName = $.authorizedUserFirstName; + this.authorizedUserLastName = $.authorizedUserLastName; this.copyProtectionEnabled = $.copyProtectionEnabled; this.encryptionAtRestEnabled = $.encryptionAtRestEnabled; this.onDemandPolicyItem = $.onDemandPolicyItem; @@ -203,6 +235,48 @@ public Builder authorizedEmail(String authorizedEmail) { return authorizedEmail(Output.of(authorizedEmail)); } + /** + * @param authorizedUserFirstName First name of the user who authorized to update the Backup Compliance Policy settings. + * + * @return builder + * + */ + public Builder authorizedUserFirstName(Output authorizedUserFirstName) { + $.authorizedUserFirstName = authorizedUserFirstName; + return this; + } + + /** + * @param authorizedUserFirstName First name of the user who authorized to update the Backup Compliance Policy settings. + * + * @return builder + * + */ + public Builder authorizedUserFirstName(String authorizedUserFirstName) { + return authorizedUserFirstName(Output.of(authorizedUserFirstName)); + } + + /** + * @param authorizedUserLastName Last name of the user who authorized to update the Backup Compliance Policy settings. + * + * @return builder + * + */ + public Builder authorizedUserLastName(Output authorizedUserLastName) { + $.authorizedUserLastName = authorizedUserLastName; + return this; + } + + /** + * @param authorizedUserLastName Last name of the user who authorized to update the Backup Compliance Policy settings. + * + * @return builder + * + */ + public Builder authorizedUserLastName(String authorizedUserLastName) { + return authorizedUserLastName(Output.of(authorizedUserLastName)); + } + /** * @param copyProtectionEnabled Flag that indicates whether to enable additional backup copies for the cluster. If unspecified, this value defaults to false. * @@ -363,6 +437,8 @@ public Builder restoreWindowDays(Integer restoreWindowDays) { public BackupCompliancePolicyArgs build() { $.authorizedEmail = Objects.requireNonNull($.authorizedEmail, "expected parameter 'authorizedEmail' to be non-null"); + $.authorizedUserFirstName = Objects.requireNonNull($.authorizedUserFirstName, "expected parameter 'authorizedUserFirstName' to be non-null"); + $.authorizedUserLastName = Objects.requireNonNull($.authorizedUserLastName, "expected parameter 'authorizedUserLastName' to be non-null"); $.copyProtectionEnabled = Objects.requireNonNull($.copyProtectionEnabled, "expected parameter 'copyProtectionEnabled' to be non-null"); $.encryptionAtRestEnabled = Objects.requireNonNull($.encryptionAtRestEnabled, "expected parameter 'encryptionAtRestEnabled' to be non-null"); $.onDemandPolicyItem = Objects.requireNonNull($.onDemandPolicyItem, "expected parameter 'onDemandPolicyItem' to be non-null"); diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/CloudProviderAccess.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/CloudProviderAccess.java index ea44e2dc..9de623cb 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/CloudProviderAccess.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/CloudProviderAccess.java @@ -13,7 +13,6 @@ import com.pulumi.mongodbatlas.outputs.CloudProviderAccessFeatureUsage; import java.lang.String; import java.util.List; -import java.util.Optional; import javax.annotation.Nullable; /** @@ -323,14 +322,14 @@ public Output> featureUsages() { * */ @Export(name="iamAssumedRoleArn", refs={String.class}, tree="[0]") - private Output iamAssumedRoleArn; + private Output iamAssumedRoleArn; /** * @return ARN of the IAM Role that Atlas assumes when accessing resources in your AWS account. This value is required after the creation (register of the role) as part of [Set Up Unified AWS Access](https://docs.atlas.mongodb.com/security/set-up-unified-aws-access/#set-up-unified-aws-access). * */ - public Output> iamAssumedRoleArn() { - return Codegen.optional(this.iamAssumedRoleArn); + public Output iamAssumedRoleArn() { + return this.iamAssumedRoleArn; } /** * The unique ID for the project diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/Cluster.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/Cluster.java index 74e99448..7ac02828 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/Cluster.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/Cluster.java @@ -197,10 +197,10 @@ public Output biConnectorConfig() { return this.biConnectorConfig; } @Export(name="cloudBackup", refs={Boolean.class}, tree="[0]") - private Output cloudBackup; + private Output cloudBackup; - public Output> cloudBackup() { - return Codegen.optional(this.cloudBackup); + public Output cloudBackup() { + return this.cloudBackup; } /** * The cluster ID. diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/MongodbatlasFunctions.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/MongodbatlasFunctions.java index c9196138..6e86e5e5 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/MongodbatlasFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/MongodbatlasFunctions.java @@ -3318,6 +3318,7 @@ public static CompletableFuture getCloudProvi * > **NOTE:** Groups and projects are synonymous terms. You may find group_id in the official documentation. * * > **IMPORTANT:** + * <br> &#8226; Multi Region Cluster: The `mongodbatlas.Cluster` data source doesn't return the `container_id` for each region utilized by the cluster. For retrieving the `container_id`, we recommend the `mongodbatlas.AdvancedCluster` data source instead. * <br> &#8226; Changes to cluster configurations can affect costs. Before making changes, please see [Billing](https://docs.atlas.mongodb.com/billing/). * <br> &#8226; If your Atlas project contains a custom role that uses actions introduced in a specific MongoDB version, you cannot create a cluster with a MongoDB version less than that version unless you delete the custom role. * @@ -3331,6 +3332,7 @@ public static Output getCluster(GetClusterArgs args) { * > **NOTE:** Groups and projects are synonymous terms. You may find group_id in the official documentation. * * > **IMPORTANT:** + * <br> &#8226; Multi Region Cluster: The `mongodbatlas.Cluster` data source doesn't return the `container_id` for each region utilized by the cluster. For retrieving the `container_id`, we recommend the `mongodbatlas.AdvancedCluster` data source instead. * <br> &#8226; Changes to cluster configurations can affect costs. Before making changes, please see [Billing](https://docs.atlas.mongodb.com/billing/). * <br> &#8226; If your Atlas project contains a custom role that uses actions introduced in a specific MongoDB version, you cannot create a cluster with a MongoDB version less than that version unless you delete the custom role. * @@ -3344,6 +3346,7 @@ public static CompletableFuture getClusterPlain(GetClusterPlai * > **NOTE:** Groups and projects are synonymous terms. You may find group_id in the official documentation. * * > **IMPORTANT:** + * <br> &#8226; Multi Region Cluster: The `mongodbatlas.Cluster` data source doesn't return the `container_id` for each region utilized by the cluster. For retrieving the `container_id`, we recommend the `mongodbatlas.AdvancedCluster` data source instead. * <br> &#8226; Changes to cluster configurations can affect costs. Before making changes, please see [Billing](https://docs.atlas.mongodb.com/billing/). * <br> &#8226; If your Atlas project contains a custom role that uses actions introduced in a specific MongoDB version, you cannot create a cluster with a MongoDB version less than that version unless you delete the custom role. * @@ -3357,6 +3360,7 @@ public static Output getCluster(GetClusterArgs args, InvokeOpt * > **NOTE:** Groups and projects are synonymous terms. You may find group_id in the official documentation. * * > **IMPORTANT:** + * <br> &#8226; Multi Region Cluster: The `mongodbatlas.Cluster` data source doesn't return the `container_id` for each region utilized by the cluster. For retrieving the `container_id`, we recommend the `mongodbatlas.AdvancedCluster` data source instead. * <br> &#8226; Changes to cluster configurations can affect costs. Before making changes, please see [Billing](https://docs.atlas.mongodb.com/billing/). * <br> &#8226; If your Atlas project contains a custom role that uses actions introduced in a specific MongoDB version, you cannot create a cluster with a MongoDB version less than that version unless you delete the custom role. * @@ -3518,6 +3522,7 @@ public static CompletableFuture getClusterOuta * > **NOTE:** Groups and projects are synonymous terms. You may find group_id in the official documentation. * * > **IMPORTANT:** + * <br> &#8226; Multi Region Cluster: The `mongodbatlas.Cluster` data source doesn't return the `container_id` for each region utilized by the cluster. For retrieving the `container_id`, we recommend the `mongodbatlas.AdvancedCluster` data source instead. * <br> &#8226; Changes to cluster configurations can affect costs. Before making changes, please see [Billing](https://docs.atlas.mongodb.com/billing/). * <br> &#8226; If your Atlas project contains a custom role that uses actions introduced in a specific MongoDB version, you cannot create a cluster with a MongoDB version less than that version unless you delete the custom role. * @@ -3582,6 +3587,7 @@ public static Output getClusters(GetClustersArgs args) * > **NOTE:** Groups and projects are synonymous terms. You may find group_id in the official documentation. * * > **IMPORTANT:** + * <br> &#8226; Multi Region Cluster: The `mongodbatlas.Cluster` data source doesn't return the `container_id` for each region utilized by the cluster. For retrieving the `container_id`, we recommend the `mongodbatlas.AdvancedCluster` data source instead. * <br> &#8226; Changes to cluster configurations can affect costs. Before making changes, please see [Billing](https://docs.atlas.mongodb.com/billing/). * <br> &#8226; If your Atlas project contains a custom role that uses actions introduced in a specific MongoDB version, you cannot create a cluster with a MongoDB version less than that version unless you delete the custom role. * @@ -3646,6 +3652,7 @@ public static CompletableFuture getClustersPlain(GetClu * > **NOTE:** Groups and projects are synonymous terms. You may find group_id in the official documentation. * * > **IMPORTANT:** + * <br> &#8226; Multi Region Cluster: The `mongodbatlas.Cluster` data source doesn't return the `container_id` for each region utilized by the cluster. For retrieving the `container_id`, we recommend the `mongodbatlas.AdvancedCluster` data source instead. * <br> &#8226; Changes to cluster configurations can affect costs. Before making changes, please see [Billing](https://docs.atlas.mongodb.com/billing/). * <br> &#8226; If your Atlas project contains a custom role that uses actions introduced in a specific MongoDB version, you cannot create a cluster with a MongoDB version less than that version unless you delete the custom role. * @@ -3710,6 +3717,7 @@ public static Output getClusters(GetClustersArgs args, * > **NOTE:** Groups and projects are synonymous terms. You may find group_id in the official documentation. * * > **IMPORTANT:** + * <br> &#8226; Multi Region Cluster: The `mongodbatlas.Cluster` data source doesn't return the `container_id` for each region utilized by the cluster. For retrieving the `container_id`, we recommend the `mongodbatlas.AdvancedCluster` data source instead. * <br> &#8226; Changes to cluster configurations can affect costs. Before making changes, please see [Billing](https://docs.atlas.mongodb.com/billing/). * <br> &#8226; If your Atlas project contains a custom role that uses actions introduced in a specific MongoDB version, you cannot create a cluster with a MongoDB version less than that version unless you delete the custom role. * @@ -10268,15 +10276,12 @@ public static CompletableFuture getProjectApiKeyPlain(Ge } /** * ## Example Usage - * * ```java * package generated_program; * * import com.pulumi.Context; * import com.pulumi.Pulumi; * import com.pulumi.core.Output; - * import com.pulumi.mongodbatlas.ProjectApiKey; - * import com.pulumi.mongodbatlas.ProjectApiKeyArgs; * import com.pulumi.mongodbatlas.MongodbatlasFunctions; * import com.pulumi.mongodbatlas.inputs.GetProjectApiKeysArgs; * import java.util.List; @@ -10292,13 +10297,7 @@ public static CompletableFuture getProjectApiKeyPlain(Ge * } * * public static void stack(Context ctx) { - * var testProjectApiKey = new ProjectApiKey("testProjectApiKey", ProjectApiKeyArgs.builder() - * .description("Description of the API key") - * .projectId("32b6e34b3d91647abb20e7b8") - * .roleNames("GROUP_READ_ONLY") - * .build()); - * - * final var testProjectApiKeys = MongodbatlasFunctions.getProjectApiKeys(GetProjectApiKeysArgs.builder() + * final var test = MongodbatlasFunctions.getProjectApiKeys(GetProjectApiKeysArgs.builder() * .itemsPerPage(5) * .pageNum(1) * .projectId("32b6e34b3d91647abb20e7b8") @@ -10314,15 +10313,12 @@ public static Output getProjectApiKeys(GetProject } /** * ## Example Usage - * * ```java * package generated_program; * * import com.pulumi.Context; * import com.pulumi.Pulumi; * import com.pulumi.core.Output; - * import com.pulumi.mongodbatlas.ProjectApiKey; - * import com.pulumi.mongodbatlas.ProjectApiKeyArgs; * import com.pulumi.mongodbatlas.MongodbatlasFunctions; * import com.pulumi.mongodbatlas.inputs.GetProjectApiKeysArgs; * import java.util.List; @@ -10338,13 +10334,7 @@ public static Output getProjectApiKeys(GetProject * } * * public static void stack(Context ctx) { - * var testProjectApiKey = new ProjectApiKey("testProjectApiKey", ProjectApiKeyArgs.builder() - * .description("Description of the API key") - * .projectId("32b6e34b3d91647abb20e7b8") - * .roleNames("GROUP_READ_ONLY") - * .build()); - * - * final var testProjectApiKeys = MongodbatlasFunctions.getProjectApiKeys(GetProjectApiKeysArgs.builder() + * final var test = MongodbatlasFunctions.getProjectApiKeys(GetProjectApiKeysArgs.builder() * .itemsPerPage(5) * .pageNum(1) * .projectId("32b6e34b3d91647abb20e7b8") @@ -10360,15 +10350,12 @@ public static CompletableFuture getProjectApiKeys } /** * ## Example Usage - * * ```java * package generated_program; * * import com.pulumi.Context; * import com.pulumi.Pulumi; * import com.pulumi.core.Output; - * import com.pulumi.mongodbatlas.ProjectApiKey; - * import com.pulumi.mongodbatlas.ProjectApiKeyArgs; * import com.pulumi.mongodbatlas.MongodbatlasFunctions; * import com.pulumi.mongodbatlas.inputs.GetProjectApiKeysArgs; * import java.util.List; @@ -10384,13 +10371,7 @@ public static CompletableFuture getProjectApiKeys * } * * public static void stack(Context ctx) { - * var testProjectApiKey = new ProjectApiKey("testProjectApiKey", ProjectApiKeyArgs.builder() - * .description("Description of the API key") - * .projectId("32b6e34b3d91647abb20e7b8") - * .roleNames("GROUP_READ_ONLY") - * .build()); - * - * final var testProjectApiKeys = MongodbatlasFunctions.getProjectApiKeys(GetProjectApiKeysArgs.builder() + * final var test = MongodbatlasFunctions.getProjectApiKeys(GetProjectApiKeysArgs.builder() * .itemsPerPage(5) * .pageNum(1) * .projectId("32b6e34b3d91647abb20e7b8") @@ -10406,15 +10387,12 @@ public static Output getProjectApiKeys(GetProject } /** * ## Example Usage - * * ```java * package generated_program; * * import com.pulumi.Context; * import com.pulumi.Pulumi; * import com.pulumi.core.Output; - * import com.pulumi.mongodbatlas.ProjectApiKey; - * import com.pulumi.mongodbatlas.ProjectApiKeyArgs; * import com.pulumi.mongodbatlas.MongodbatlasFunctions; * import com.pulumi.mongodbatlas.inputs.GetProjectApiKeysArgs; * import java.util.List; @@ -10430,13 +10408,7 @@ public static Output getProjectApiKeys(GetProject * } * * public static void stack(Context ctx) { - * var testProjectApiKey = new ProjectApiKey("testProjectApiKey", ProjectApiKeyArgs.builder() - * .description("Description of the API key") - * .projectId("32b6e34b3d91647abb20e7b8") - * .roleNames("GROUP_READ_ONLY") - * .build()); - * - * final var testProjectApiKeys = MongodbatlasFunctions.getProjectApiKeys(GetProjectApiKeysArgs.builder() + * final var test = MongodbatlasFunctions.getProjectApiKeys(GetProjectApiKeysArgs.builder() * .itemsPerPage(5) * .pageNum(1) * .projectId("32b6e34b3d91647abb20e7b8") diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/NetworkContainer.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/NetworkContainer.java index f108e9f1..29ce090c 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/NetworkContainer.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/NetworkContainer.java @@ -300,14 +300,14 @@ public Output regionName() { * */ @Export(name="regions", refs={List.class,String.class}, tree="[0,1]") - private Output> regions; + private Output> regions; /** * @return Atlas regions where the container resides. Provide this field only if you provide an `atlas_cidr_block` smaller than `/18`. [GCP Regions values](https://docs.atlas.mongodb.com/reference/api/vpc-create-container/#request-body-parameters). * */ - public Output>> regions() { - return Codegen.optional(this.regions); + public Output> regions() { + return this.regions; } /** * The name of the Azure VNet. Returns null. This value is populated once you create a new network peering connection with the network peering resource. diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/NetworkPeering.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/NetworkPeering.java index 601a2c2b..dd0d627a 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/NetworkPeering.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/NetworkPeering.java @@ -18,7 +18,7 @@ * * Ensure you have first created a network container if it is required for your configuration. See the network_container resource documentation to determine if you need a network container first. Examples for creating both container and peering resource are shown below as well as examples for creating the peering connection only. * - * > **GCP AND AZURE ONLY:** Connect via Peering Only mode is deprecated, so no longer needed. See disable Peering Only mode to disable. + * > **GCP AND AZURE ONLY:** Connect via Peering Only mode is deprecated, so no longer needed. See [disable Peering Only mode](https://docs.atlas.mongodb.com/reference/faq/connection-changes/#disable-peering-mode) for details * * > **AZURE ONLY:** To create the peering request with an Azure VNET, you must grant Atlas the following permissions on the virtual network. * Microsoft.Network/virtualNetworks/virtualNetworkPeerings/read diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/OrgInvitation.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/OrgInvitation.java index 05c53c3b..d115d564 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/OrgInvitation.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/OrgInvitation.java @@ -12,7 +12,6 @@ import com.pulumi.mongodbatlas.inputs.OrgInvitationState; import java.lang.String; import java.util.List; -import java.util.Optional; import javax.annotation.Nullable; /** @@ -216,14 +215,14 @@ public Output> roles() { * */ @Export(name="teamsIds", refs={List.class,String.class}, tree="[0,1]") - private Output> teamsIds; + private Output> teamsIds; /** * @return An array of unique 24-hexadecimal digit strings that identify the teams that the user was invited to join. * */ - public Output>> teamsIds() { - return Codegen.optional(this.teamsIds); + public Output> teamsIds() { + return this.teamsIds; } /** * Email address of the invited user. This is the address to which Atlas sends the invite. If the user accepts the invitation, they log in to Atlas with this username. diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/PrivateEndpointRegionalMode.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/PrivateEndpointRegionalMode.java index 2f53361a..e9a11416 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/PrivateEndpointRegionalMode.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/PrivateEndpointRegionalMode.java @@ -12,7 +12,6 @@ import com.pulumi.mongodbatlas.inputs.PrivateEndpointRegionalModeState; import java.lang.Boolean; import java.lang.String; -import java.util.Optional; import javax.annotation.Nullable; /** @@ -36,7 +35,7 @@ public class PrivateEndpointRegionalMode extends com.pulumi.resources.CustomReso * */ @Export(name="enabled", refs={Boolean.class}, tree="[0]") - private Output enabled; + private Output enabled; /** * @return Flag that indicates whether the regionalized private endpoint setting is enabled for the project. Set this value to true to create more than one private endpoint in a cloud provider region to connect to multi-region and global Atlas sharded clusters. You can enable this setting only if your Atlas project contains no replica sets. You can't disable this setting if you have: @@ -45,8 +44,8 @@ public class PrivateEndpointRegionalMode extends com.pulumi.resources.CustomReso * You can create only sharded clusters when you enable the regionalized private endpoint setting. You can't create replica sets. * */ - public Output> enabled() { - return Codegen.optional(this.enabled); + public Output enabled() { + return this.enabled; } /** * Unique identifier for the project. diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/ProjectApiKey.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/ProjectApiKey.java index 88f8421e..5b19d6cc 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/ProjectApiKey.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/ProjectApiKey.java @@ -13,7 +13,6 @@ import com.pulumi.mongodbatlas.outputs.ProjectApiKeyProjectAssignment; import java.lang.String; import java.util.List; -import java.util.Optional; import javax.annotation.Nullable; /** @@ -47,7 +46,6 @@ * .projectId("64259ee860c43338194b0f8e") * .roleNames("GROUP_OWNER") * .build()) - * .projectId("64259ee860c43338194b0f8e") * .build()); * * } @@ -89,7 +87,6 @@ * .projectId("74259ee860c43338194b0f8e") * .roleNames("GROUP_READ_ONLY") * .build()) - * .projectId("64259ee860c43338194b0f8e") * .build()); * * } @@ -125,8 +122,6 @@ public Output apiKeyId() { /** * Description of this Project API key. * - * > **NOTE:** Project created by API Keys must belong to an existing organization. - * */ @Export(name="description", refs={String.class}, tree="[0]") private Output description; @@ -134,8 +129,6 @@ public Output apiKeyId() { /** * @return Description of this Project API key. * - * > **NOTE:** Project created by API Keys must belong to an existing organization. - * */ public Output description() { return this.description; @@ -147,20 +140,28 @@ public Output privateKey() { return this.privateKey; } @Export(name="projectAssignments", refs={List.class,ProjectApiKeyProjectAssignment.class}, tree="[0,1]") - private Output> projectAssignments; + private Output> projectAssignments; - public Output>> projectAssignments() { - return Codegen.optional(this.projectAssignments); + public Output> projectAssignments() { + return this.projectAssignments; } /** - * Unique 24-hexadecimal digit string that identifies your project. + * Unique 24-hexadecimal digit string that identifies your project. **WARNING:** this parameter is deprecated as it no longer needs to be defined. It will be removed in version 1.16.0. + * + * > **NOTE:** Project created by API Keys must belong to an existing organization. + * + * @deprecated + * this parameter is deprecated and will be removed in version 1.16.0 * */ + @Deprecated /* this parameter is deprecated and will be removed in version 1.16.0 */ @Export(name="projectId", refs={String.class}, tree="[0]") private Output projectId; /** - * @return Unique 24-hexadecimal digit string that identifies your project. + * @return Unique 24-hexadecimal digit string that identifies your project. **WARNING:** this parameter is deprecated as it no longer needs to be defined. It will be removed in version 1.16.0. + * + * > **NOTE:** Project created by API Keys must belong to an existing organization. * */ public Output projectId() { diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/ProjectApiKeyArgs.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/ProjectApiKeyArgs.java index 5e9d15bd..1b08e380 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/ProjectApiKeyArgs.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/ProjectApiKeyArgs.java @@ -20,8 +20,6 @@ public final class ProjectApiKeyArgs extends com.pulumi.resources.ResourceArgs { /** * Description of this Project API key. * - * > **NOTE:** Project created by API Keys must belong to an existing organization. - * */ @Import(name="description", required=true) private Output description; @@ -29,33 +27,43 @@ public final class ProjectApiKeyArgs extends com.pulumi.resources.ResourceArgs { /** * @return Description of this Project API key. * - * > **NOTE:** Project created by API Keys must belong to an existing organization. - * */ public Output description() { return this.description; } - @Import(name="projectAssignments") - private @Nullable Output> projectAssignments; + @Import(name="projectAssignments", required=true) + private Output> projectAssignments; - public Optional>> projectAssignments() { - return Optional.ofNullable(this.projectAssignments); + public Output> projectAssignments() { + return this.projectAssignments; } /** - * Unique 24-hexadecimal digit string that identifies your project. + * Unique 24-hexadecimal digit string that identifies your project. **WARNING:** this parameter is deprecated as it no longer needs to be defined. It will be removed in version 1.16.0. + * + * > **NOTE:** Project created by API Keys must belong to an existing organization. + * + * @deprecated + * this parameter is deprecated and will be removed in version 1.16.0 * */ - @Import(name="projectId", required=true) - private Output projectId; + @Deprecated /* this parameter is deprecated and will be removed in version 1.16.0 */ + @Import(name="projectId") + private @Nullable Output projectId; /** - * @return Unique 24-hexadecimal digit string that identifies your project. + * @return Unique 24-hexadecimal digit string that identifies your project. **WARNING:** this parameter is deprecated as it no longer needs to be defined. It will be removed in version 1.16.0. + * + * > **NOTE:** Project created by API Keys must belong to an existing organization. + * + * @deprecated + * this parameter is deprecated and will be removed in version 1.16.0 * */ - public Output projectId() { - return this.projectId; + @Deprecated /* this parameter is deprecated and will be removed in version 1.16.0 */ + public Optional> projectId() { + return Optional.ofNullable(this.projectId); } private ProjectApiKeyArgs() {} @@ -87,8 +95,6 @@ public Builder(ProjectApiKeyArgs defaults) { /** * @param description Description of this Project API key. * - * > **NOTE:** Project created by API Keys must belong to an existing organization. - * * @return builder * */ @@ -100,8 +106,6 @@ public Builder description(Output description) { /** * @param description Description of this Project API key. * - * > **NOTE:** Project created by API Keys must belong to an existing organization. - * * @return builder * */ @@ -109,7 +113,7 @@ public Builder description(String description) { return description(Output.of(description)); } - public Builder projectAssignments(@Nullable Output> projectAssignments) { + public Builder projectAssignments(Output> projectAssignments) { $.projectAssignments = projectAssignments; return this; } @@ -123,29 +127,41 @@ public Builder projectAssignments(ProjectApiKeyProjectAssignmentArgs... projectA } /** - * @param projectId Unique 24-hexadecimal digit string that identifies your project. + * @param projectId Unique 24-hexadecimal digit string that identifies your project. **WARNING:** this parameter is deprecated as it no longer needs to be defined. It will be removed in version 1.16.0. + * + * > **NOTE:** Project created by API Keys must belong to an existing organization. * * @return builder * + * @deprecated + * this parameter is deprecated and will be removed in version 1.16.0 + * */ - public Builder projectId(Output projectId) { + @Deprecated /* this parameter is deprecated and will be removed in version 1.16.0 */ + public Builder projectId(@Nullable Output projectId) { $.projectId = projectId; return this; } /** - * @param projectId Unique 24-hexadecimal digit string that identifies your project. + * @param projectId Unique 24-hexadecimal digit string that identifies your project. **WARNING:** this parameter is deprecated as it no longer needs to be defined. It will be removed in version 1.16.0. + * + * > **NOTE:** Project created by API Keys must belong to an existing organization. * * @return builder * + * @deprecated + * this parameter is deprecated and will be removed in version 1.16.0 + * */ + @Deprecated /* this parameter is deprecated and will be removed in version 1.16.0 */ public Builder projectId(String projectId) { return projectId(Output.of(projectId)); } public ProjectApiKeyArgs build() { $.description = Objects.requireNonNull($.description, "expected parameter 'description' to be non-null"); - $.projectId = Objects.requireNonNull($.projectId, "expected parameter 'projectId' to be non-null"); + $.projectAssignments = Objects.requireNonNull($.projectAssignments, "expected parameter 'projectAssignments' to be non-null"); return $; } } diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/ThirdPartyIntegration.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/ThirdPartyIntegration.java index 7535383a..3d578e5b 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/ThirdPartyIntegration.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/ThirdPartyIntegration.java @@ -77,62 +77,62 @@ public class ThirdPartyIntegration extends com.pulumi.resources.CustomResource { * */ @Export(name="apiKey", refs={String.class}, tree="[0]") - private Output apiKey; + private Output apiKey; /** * @return Your API Key. * */ - public Output> apiKey() { - return Codegen.optional(this.apiKey); + public Output apiKey() { + return this.apiKey; } @Export(name="channelName", refs={String.class}, tree="[0]") - private Output channelName; + private Output channelName; - public Output> channelName() { - return Codegen.optional(this.channelName); + public Output channelName() { + return this.channelName; } /** * Whether your cluster has Prometheus enabled. * */ @Export(name="enabled", refs={Boolean.class}, tree="[0]") - private Output enabled; + private Output enabled; /** * @return Whether your cluster has Prometheus enabled. * */ - public Output> enabled() { - return Codegen.optional(this.enabled); + public Output enabled() { + return this.enabled; } /** * Your Microsoft Teams incoming webhook URL. * */ @Export(name="microsoftTeamsWebhookUrl", refs={String.class}, tree="[0]") - private Output microsoftTeamsWebhookUrl; + private Output microsoftTeamsWebhookUrl; /** * @return Your Microsoft Teams incoming webhook URL. * */ - public Output> microsoftTeamsWebhookUrl() { - return Codegen.optional(this.microsoftTeamsWebhookUrl); + public Output microsoftTeamsWebhookUrl() { + return this.microsoftTeamsWebhookUrl; } /** * Your Prometheus password. * */ @Export(name="password", refs={String.class}, tree="[0]") - private Output password; + private Output password; /** * @return Your Prometheus password. * */ - public Output> password() { - return Codegen.optional(this.password); + public Output password() { + return this.password; } /** * The unique ID for the project to get all Third-Party service integrations @@ -167,28 +167,28 @@ public Output region() { * */ @Export(name="routingKey", refs={String.class}, tree="[0]") - private Output routingKey; + private Output routingKey; /** * @return An optional field for your Routing Key. * */ - public Output> routingKey() { - return Codegen.optional(this.routingKey); + public Output routingKey() { + return this.routingKey; } /** * Your Prometheus protocol scheme configured for requests. * */ @Export(name="scheme", refs={String.class}, tree="[0]") - private Output scheme; + private Output scheme; /** * @return Your Prometheus protocol scheme configured for requests. * */ - public Output> scheme() { - return Codegen.optional(this.scheme); + public Output scheme() { + return this.scheme; } /** * An optional field for your webhook secret. @@ -209,34 +209,34 @@ public Output> secret() { * */ @Export(name="serviceDiscovery", refs={String.class}, tree="[0]") - private Output serviceDiscovery; + private Output serviceDiscovery; /** * @return Indicates which service discovery method is used, either file or http. * */ - public Output> serviceDiscovery() { - return Codegen.optional(this.serviceDiscovery); + public Output serviceDiscovery() { + return this.serviceDiscovery; } /** * Your Service Key. * */ @Export(name="serviceKey", refs={String.class}, tree="[0]") - private Output serviceKey; + private Output serviceKey; /** * @return Your Service Key. * */ - public Output> serviceKey() { - return Codegen.optional(this.serviceKey); + public Output serviceKey() { + return this.serviceKey; } @Export(name="teamName", refs={String.class}, tree="[0]") - private Output teamName; + private Output teamName; - public Output> teamName() { - return Codegen.optional(this.teamName); + public Output teamName() { + return this.teamName; } /** * Third-Party Integration Settings type @@ -271,28 +271,28 @@ public Output type() { * */ @Export(name="url", refs={String.class}, tree="[0]") - private Output url; + private Output url; /** * @return Your webhook URL. * */ - public Output> url() { - return Codegen.optional(this.url); + public Output url() { + return this.url; } /** * Your Prometheus username. * */ @Export(name="userName", refs={String.class}, tree="[0]") - private Output userName; + private Output userName; /** * @return Your Prometheus username. * */ - public Output> userName() { - return Codegen.optional(this.userName); + public Output userName() { + return this.userName; } /** diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/X509AuthenticationDatabaseUser.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/X509AuthenticationDatabaseUser.java index f1168c4c..2ed3272b 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/X509AuthenticationDatabaseUser.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/X509AuthenticationDatabaseUser.java @@ -27,6 +27,8 @@ * * > **NOTE:** Groups and projects are synonymous terms. You may find group_id in the official documentation. * + * > **NOTE:** Before provider version 1.14.0, Self-managed X.509 Authentication was disabled for the project when this resource was deleted. Starting from that version onward, it will not be disabled, allowing other users to continue using X.509 within the same project. + * * ## Example Usage * * ### S diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/BackupCompliancePolicyState.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/BackupCompliancePolicyState.java index be131941..e30022ab 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/BackupCompliancePolicyState.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/BackupCompliancePolicyState.java @@ -38,6 +38,36 @@ public Optional> authorizedEmail() { return Optional.ofNullable(this.authorizedEmail); } + /** + * First name of the user who authorized to update the Backup Compliance Policy settings. + * + */ + @Import(name="authorizedUserFirstName") + private @Nullable Output authorizedUserFirstName; + + /** + * @return First name of the user who authorized to update the Backup Compliance Policy settings. + * + */ + public Optional> authorizedUserFirstName() { + return Optional.ofNullable(this.authorizedUserFirstName); + } + + /** + * Last name of the user who authorized to update the Backup Compliance Policy settings. + * + */ + @Import(name="authorizedUserLastName") + private @Nullable Output authorizedUserLastName; + + /** + * @return Last name of the user who authorized to update the Backup Compliance Policy settings. + * + */ + public Optional> authorizedUserLastName() { + return Optional.ofNullable(this.authorizedUserLastName); + } + /** * Flag that indicates whether to enable additional backup copies for the cluster. If unspecified, this value defaults to false. * @@ -197,6 +227,8 @@ private BackupCompliancePolicyState() {} private BackupCompliancePolicyState(BackupCompliancePolicyState $) { this.authorizedEmail = $.authorizedEmail; + this.authorizedUserFirstName = $.authorizedUserFirstName; + this.authorizedUserLastName = $.authorizedUserLastName; this.copyProtectionEnabled = $.copyProtectionEnabled; this.encryptionAtRestEnabled = $.encryptionAtRestEnabled; this.onDemandPolicyItem = $.onDemandPolicyItem; @@ -251,6 +283,48 @@ public Builder authorizedEmail(String authorizedEmail) { return authorizedEmail(Output.of(authorizedEmail)); } + /** + * @param authorizedUserFirstName First name of the user who authorized to update the Backup Compliance Policy settings. + * + * @return builder + * + */ + public Builder authorizedUserFirstName(@Nullable Output authorizedUserFirstName) { + $.authorizedUserFirstName = authorizedUserFirstName; + return this; + } + + /** + * @param authorizedUserFirstName First name of the user who authorized to update the Backup Compliance Policy settings. + * + * @return builder + * + */ + public Builder authorizedUserFirstName(String authorizedUserFirstName) { + return authorizedUserFirstName(Output.of(authorizedUserFirstName)); + } + + /** + * @param authorizedUserLastName Last name of the user who authorized to update the Backup Compliance Policy settings. + * + * @return builder + * + */ + public Builder authorizedUserLastName(@Nullable Output authorizedUserLastName) { + $.authorizedUserLastName = authorizedUserLastName; + return this; + } + + /** + * @param authorizedUserLastName Last name of the user who authorized to update the Backup Compliance Policy settings. + * + * @return builder + * + */ + public Builder authorizedUserLastName(String authorizedUserLastName) { + return authorizedUserLastName(Output.of(authorizedUserLastName)); + } + /** * @param copyProtectionEnabled Flag that indicates whether to enable additional backup copies for the cluster. If unspecified, this value defaults to false. * diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetProjectApiKeyArgs.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetProjectApiKeyArgs.java index ddbb8a0f..2bda4682 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetProjectApiKeyArgs.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetProjectApiKeyArgs.java @@ -13,9 +13,17 @@ public final class GetProjectApiKeyArgs extends com.pulumi.resources.InvokeArgs public static final GetProjectApiKeyArgs Empty = new GetProjectApiKeyArgs(); + /** + * Unique identifier for this Project API key. + * + */ @Import(name="apiKeyId", required=true) private Output apiKeyId; + /** + * @return Unique identifier for this Project API key. + * + */ public Output apiKeyId() { return this.apiKeyId; } @@ -60,11 +68,23 @@ public Builder(GetProjectApiKeyArgs defaults) { $ = new GetProjectApiKeyArgs(Objects.requireNonNull(defaults)); } + /** + * @param apiKeyId Unique identifier for this Project API key. + * + * @return builder + * + */ public Builder apiKeyId(Output apiKeyId) { $.apiKeyId = apiKeyId; return this; } + /** + * @param apiKeyId Unique identifier for this Project API key. + * + * @return builder + * + */ public Builder apiKeyId(String apiKeyId) { return apiKeyId(Output.of(apiKeyId)); } diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetProjectApiKeyPlainArgs.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetProjectApiKeyPlainArgs.java index 3c60b4de..454705f4 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetProjectApiKeyPlainArgs.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetProjectApiKeyPlainArgs.java @@ -12,9 +12,17 @@ public final class GetProjectApiKeyPlainArgs extends com.pulumi.resources.Invoke public static final GetProjectApiKeyPlainArgs Empty = new GetProjectApiKeyPlainArgs(); + /** + * Unique identifier for this Project API key. + * + */ @Import(name="apiKeyId", required=true) private String apiKeyId; + /** + * @return Unique identifier for this Project API key. + * + */ public String apiKeyId() { return this.apiKeyId; } @@ -59,6 +67,12 @@ public Builder(GetProjectApiKeyPlainArgs defaults) { $ = new GetProjectApiKeyPlainArgs(Objects.requireNonNull(defaults)); } + /** + * @param apiKeyId Unique identifier for this Project API key. + * + * @return builder + * + */ public Builder apiKeyId(String apiKeyId) { $.apiKeyId = apiKeyId; return this; diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetProjectApiKeysArgs.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetProjectApiKeysArgs.java index 831046dc..d8d965e1 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetProjectApiKeysArgs.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetProjectApiKeysArgs.java @@ -47,14 +47,14 @@ public Optional> pageNum() { } /** - * Unique identifier for the project whose API keys you want to retrieve. Use the /groups endpoint to retrieve all projects to which the authenticated user has access. + * The unique ID for the project. * */ @Import(name="projectId", required=true) private Output projectId; /** - * @return Unique identifier for the project whose API keys you want to retrieve. Use the /groups endpoint to retrieve all projects to which the authenticated user has access. + * @return The unique ID for the project. * */ public Output projectId() { @@ -130,7 +130,7 @@ public Builder pageNum(Integer pageNum) { } /** - * @param projectId Unique identifier for the project whose API keys you want to retrieve. Use the /groups endpoint to retrieve all projects to which the authenticated user has access. + * @param projectId The unique ID for the project. * * @return builder * @@ -141,7 +141,7 @@ public Builder projectId(Output projectId) { } /** - * @param projectId Unique identifier for the project whose API keys you want to retrieve. Use the /groups endpoint to retrieve all projects to which the authenticated user has access. + * @param projectId The unique ID for the project. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetProjectApiKeysPlainArgs.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetProjectApiKeysPlainArgs.java index 1dbcde70..d8386e0a 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetProjectApiKeysPlainArgs.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetProjectApiKeysPlainArgs.java @@ -46,14 +46,14 @@ public Optional pageNum() { } /** - * Unique identifier for the project whose API keys you want to retrieve. Use the /groups endpoint to retrieve all projects to which the authenticated user has access. + * The unique ID for the project. * */ @Import(name="projectId", required=true) private String projectId; /** - * @return Unique identifier for the project whose API keys you want to retrieve. Use the /groups endpoint to retrieve all projects to which the authenticated user has access. + * @return The unique ID for the project. * */ public String projectId() { @@ -109,7 +109,7 @@ public Builder pageNum(@Nullable Integer pageNum) { } /** - * @param projectId Unique identifier for the project whose API keys you want to retrieve. Use the /groups endpoint to retrieve all projects to which the authenticated user has access. + * @param projectId The unique ID for the project. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/ProjectApiKeyState.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/ProjectApiKeyState.java index 1c699a0c..cb76268c 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/ProjectApiKeyState.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/ProjectApiKeyState.java @@ -35,8 +35,6 @@ public Optional> apiKeyId() { /** * Description of this Project API key. * - * > **NOTE:** Project created by API Keys must belong to an existing organization. - * */ @Import(name="description") private @Nullable Output description; @@ -44,8 +42,6 @@ public Optional> apiKeyId() { /** * @return Description of this Project API key. * - * > **NOTE:** Project created by API Keys must belong to an existing organization. - * */ public Optional> description() { return Optional.ofNullable(this.description); @@ -66,16 +62,28 @@ public Optional>> projectAssignm } /** - * Unique 24-hexadecimal digit string that identifies your project. + * Unique 24-hexadecimal digit string that identifies your project. **WARNING:** this parameter is deprecated as it no longer needs to be defined. It will be removed in version 1.16.0. + * + * > **NOTE:** Project created by API Keys must belong to an existing organization. + * + * @deprecated + * this parameter is deprecated and will be removed in version 1.16.0 * */ + @Deprecated /* this parameter is deprecated and will be removed in version 1.16.0 */ @Import(name="projectId") private @Nullable Output projectId; /** - * @return Unique 24-hexadecimal digit string that identifies your project. + * @return Unique 24-hexadecimal digit string that identifies your project. **WARNING:** this parameter is deprecated as it no longer needs to be defined. It will be removed in version 1.16.0. + * + * > **NOTE:** Project created by API Keys must belong to an existing organization. + * + * @deprecated + * this parameter is deprecated and will be removed in version 1.16.0 * */ + @Deprecated /* this parameter is deprecated and will be removed in version 1.16.0 */ public Optional> projectId() { return Optional.ofNullable(this.projectId); } @@ -140,8 +148,6 @@ public Builder apiKeyId(String apiKeyId) { /** * @param description Description of this Project API key. * - * > **NOTE:** Project created by API Keys must belong to an existing organization. - * * @return builder * */ @@ -153,8 +159,6 @@ public Builder description(@Nullable Output description) { /** * @param description Description of this Project API key. * - * > **NOTE:** Project created by API Keys must belong to an existing organization. - * * @return builder * */ @@ -185,22 +189,34 @@ public Builder projectAssignments(ProjectApiKeyProjectAssignmentArgs... projectA } /** - * @param projectId Unique 24-hexadecimal digit string that identifies your project. + * @param projectId Unique 24-hexadecimal digit string that identifies your project. **WARNING:** this parameter is deprecated as it no longer needs to be defined. It will be removed in version 1.16.0. + * + * > **NOTE:** Project created by API Keys must belong to an existing organization. * * @return builder * + * @deprecated + * this parameter is deprecated and will be removed in version 1.16.0 + * */ + @Deprecated /* this parameter is deprecated and will be removed in version 1.16.0 */ public Builder projectId(@Nullable Output projectId) { $.projectId = projectId; return this; } /** - * @param projectId Unique 24-hexadecimal digit string that identifies your project. + * @param projectId Unique 24-hexadecimal digit string that identifies your project. **WARNING:** this parameter is deprecated as it no longer needs to be defined. It will be removed in version 1.16.0. + * + * > **NOTE:** Project created by API Keys must belong to an existing organization. * * @return builder * + * @deprecated + * this parameter is deprecated and will be removed in version 1.16.0 + * */ + @Deprecated /* this parameter is deprecated and will be removed in version 1.16.0 */ public Builder projectId(String projectId) { return projectId(Output.of(projectId)); } diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetBackupCompliancePolicyResult.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetBackupCompliancePolicyResult.java index 8f7982bf..4d1ae96f 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetBackupCompliancePolicyResult.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetBackupCompliancePolicyResult.java @@ -24,6 +24,16 @@ public final class GetBackupCompliancePolicyResult { * */ private String authorizedEmail; + /** + * @return First name of the user who authorized to update the Backup Compliance Policy settings. + * + */ + private String authorizedUserFirstName; + /** + * @return Last name of the user who authorized to update the Backup Compliance Policy settings. + * + */ + private String authorizedUserLastName; /** * @return Flag that indicates whether to enable additional backup copies for the cluster. If unspecified, this value defaults to false. * @@ -79,6 +89,20 @@ private GetBackupCompliancePolicyResult() {} public String authorizedEmail() { return this.authorizedEmail; } + /** + * @return First name of the user who authorized to update the Backup Compliance Policy settings. + * + */ + public String authorizedUserFirstName() { + return this.authorizedUserFirstName; + } + /** + * @return Last name of the user who authorized to update the Backup Compliance Policy settings. + * + */ + public String authorizedUserLastName() { + return this.authorizedUserLastName; + } /** * @return Flag that indicates whether to enable additional backup copies for the cluster. If unspecified, this value defaults to false. * @@ -164,6 +188,8 @@ public static Builder builder(GetBackupCompliancePolicyResult defaults) { @CustomType.Builder public static final class Builder { private String authorizedEmail; + private String authorizedUserFirstName; + private String authorizedUserLastName; private Boolean copyProtectionEnabled; private Boolean encryptionAtRestEnabled; private String id; @@ -182,6 +208,8 @@ public Builder() {} public Builder(GetBackupCompliancePolicyResult defaults) { Objects.requireNonNull(defaults); this.authorizedEmail = defaults.authorizedEmail; + this.authorizedUserFirstName = defaults.authorizedUserFirstName; + this.authorizedUserLastName = defaults.authorizedUserLastName; this.copyProtectionEnabled = defaults.copyProtectionEnabled; this.encryptionAtRestEnabled = defaults.encryptionAtRestEnabled; this.id = defaults.id; @@ -204,6 +232,16 @@ public Builder authorizedEmail(String authorizedEmail) { return this; } @CustomType.Setter + public Builder authorizedUserFirstName(String authorizedUserFirstName) { + this.authorizedUserFirstName = Objects.requireNonNull(authorizedUserFirstName); + return this; + } + @CustomType.Setter + public Builder authorizedUserLastName(String authorizedUserLastName) { + this.authorizedUserLastName = Objects.requireNonNull(authorizedUserLastName); + return this; + } + @CustomType.Setter public Builder copyProtectionEnabled(Boolean copyProtectionEnabled) { this.copyProtectionEnabled = Objects.requireNonNull(copyProtectionEnabled); return this; @@ -282,6 +320,8 @@ public Builder updatedUser(String updatedUser) { public GetBackupCompliancePolicyResult build() { final var _resultValue = new GetBackupCompliancePolicyResult(); _resultValue.authorizedEmail = authorizedEmail; + _resultValue.authorizedUserFirstName = authorizedUserFirstName; + _resultValue.authorizedUserLastName = authorizedUserLastName; _resultValue.copyProtectionEnabled = copyProtectionEnabled; _resultValue.encryptionAtRestEnabled = encryptionAtRestEnabled; _resultValue.id = id; diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetProjectApiKeysInvokeResult.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetProjectApiKeysInvokeResult.java index 62763fe7..89700296 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetProjectApiKeysInvokeResult.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetProjectApiKeysInvokeResult.java @@ -21,7 +21,15 @@ public final class GetProjectApiKeysInvokeResult { private String id; private @Nullable Integer itemsPerPage; private @Nullable Integer pageNum; + /** + * @return Project ID to assign to Access Key + * + */ private String projectId; + /** + * @return A list where each element represents a API Key assigned to the project. + * + */ private List results; private GetProjectApiKeysInvokeResult() {} @@ -38,9 +46,17 @@ public Optional itemsPerPage() { public Optional pageNum() { return Optional.ofNullable(this.pageNum); } + /** + * @return Project ID to assign to Access Key + * + */ public String projectId() { return this.projectId; } + /** + * @return A list where each element represents a API Key assigned to the project. + * + */ public List results() { return this.results; } diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetProjectApiKeysResultProjectAssignment.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetProjectApiKeysResultProjectAssignment.java index e8e23e66..c6a96353 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetProjectApiKeysResultProjectAssignment.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetProjectApiKeysResultProjectAssignment.java @@ -11,21 +11,19 @@ @CustomType public final class GetProjectApiKeysResultProjectAssignment { /** - * @return Project ID to assign to Access Key + * @return The unique ID for the project. * */ private String projectId; /** * @return List of Project roles that the Programmatic API key needs to have. Ensure you provide: at least one role and ensure all roles are valid for the Project. You must specify an array even if you are only associating a single role with the Programmatic API key. The [MongoDB Documentation](https://www.mongodb.com/docs/atlas/reference/user-roles/#project-roles) describes the valid roles that can be assigned. * - * See [MongoDB Atlas API - API Keys](https://www.mongodb.com/docs/atlas/reference/api/projectApiKeys/get-all-apiKeys-in-one-project/) - Documentation for more information. - * */ private List roleNames; private GetProjectApiKeysResultProjectAssignment() {} /** - * @return Project ID to assign to Access Key + * @return The unique ID for the project. * */ public String projectId() { @@ -34,8 +32,6 @@ public String projectId() { /** * @return List of Project roles that the Programmatic API key needs to have. Ensure you provide: at least one role and ensure all roles are valid for the Project. You must specify an array even if you are only associating a single role with the Programmatic API key. The [MongoDB Documentation](https://www.mongodb.com/docs/atlas/reference/user-roles/#project-roles) describes the valid roles that can be assigned. * - * See [MongoDB Atlas API - API Keys](https://www.mongodb.com/docs/atlas/reference/api/projectApiKeys/get-all-apiKeys-in-one-project/) - Documentation for more information. - * */ public List roleNames() { return this.roleNames; diff --git a/sdk/nodejs/backupCompliancePolicy.ts b/sdk/nodejs/backupCompliancePolicy.ts index 61e99130..2288350f 100644 --- a/sdk/nodejs/backupCompliancePolicy.ts +++ b/sdk/nodejs/backupCompliancePolicy.ts @@ -50,6 +50,14 @@ export class BackupCompliancePolicy extends pulumi.CustomResource { * Email address of a security or legal representative for the Backup Compliance Policy who is authorized to update the Backup Compliance Policy settings. */ public readonly authorizedEmail!: pulumi.Output; + /** + * First name of the user who authorized to update the Backup Compliance Policy settings. + */ + public readonly authorizedUserFirstName!: pulumi.Output; + /** + * Last name of the user who authorized to update the Backup Compliance Policy settings. + */ + public readonly authorizedUserLastName!: pulumi.Output; /** * Flag that indicates whether to enable additional backup copies for the cluster. If unspecified, this value defaults to false. */ @@ -102,6 +110,8 @@ export class BackupCompliancePolicy extends pulumi.CustomResource { if (opts.id) { const state = argsOrState as BackupCompliancePolicyState | undefined; resourceInputs["authorizedEmail"] = state ? state.authorizedEmail : undefined; + resourceInputs["authorizedUserFirstName"] = state ? state.authorizedUserFirstName : undefined; + resourceInputs["authorizedUserLastName"] = state ? state.authorizedUserLastName : undefined; resourceInputs["copyProtectionEnabled"] = state ? state.copyProtectionEnabled : undefined; resourceInputs["encryptionAtRestEnabled"] = state ? state.encryptionAtRestEnabled : undefined; resourceInputs["onDemandPolicyItem"] = state ? state.onDemandPolicyItem : undefined; @@ -120,6 +130,12 @@ export class BackupCompliancePolicy extends pulumi.CustomResource { if ((!args || args.authorizedEmail === undefined) && !opts.urn) { throw new Error("Missing required property 'authorizedEmail'"); } + if ((!args || args.authorizedUserFirstName === undefined) && !opts.urn) { + throw new Error("Missing required property 'authorizedUserFirstName'"); + } + if ((!args || args.authorizedUserLastName === undefined) && !opts.urn) { + throw new Error("Missing required property 'authorizedUserLastName'"); + } if ((!args || args.copyProtectionEnabled === undefined) && !opts.urn) { throw new Error("Missing required property 'copyProtectionEnabled'"); } @@ -136,6 +152,8 @@ export class BackupCompliancePolicy extends pulumi.CustomResource { throw new Error("Missing required property 'projectId'"); } resourceInputs["authorizedEmail"] = args ? args.authorizedEmail : undefined; + resourceInputs["authorizedUserFirstName"] = args ? args.authorizedUserFirstName : undefined; + resourceInputs["authorizedUserLastName"] = args ? args.authorizedUserLastName : undefined; resourceInputs["copyProtectionEnabled"] = args ? args.copyProtectionEnabled : undefined; resourceInputs["encryptionAtRestEnabled"] = args ? args.encryptionAtRestEnabled : undefined; resourceInputs["onDemandPolicyItem"] = args ? args.onDemandPolicyItem : undefined; @@ -163,6 +181,14 @@ export interface BackupCompliancePolicyState { * Email address of a security or legal representative for the Backup Compliance Policy who is authorized to update the Backup Compliance Policy settings. */ authorizedEmail?: pulumi.Input; + /** + * First name of the user who authorized to update the Backup Compliance Policy settings. + */ + authorizedUserFirstName?: pulumi.Input; + /** + * Last name of the user who authorized to update the Backup Compliance Policy settings. + */ + authorizedUserLastName?: pulumi.Input; /** * Flag that indicates whether to enable additional backup copies for the cluster. If unspecified, this value defaults to false. */ @@ -210,6 +236,14 @@ export interface BackupCompliancePolicyArgs { * Email address of a security or legal representative for the Backup Compliance Policy who is authorized to update the Backup Compliance Policy settings. */ authorizedEmail: pulumi.Input; + /** + * First name of the user who authorized to update the Backup Compliance Policy settings. + */ + authorizedUserFirstName: pulumi.Input; + /** + * Last name of the user who authorized to update the Backup Compliance Policy settings. + */ + authorizedUserLastName: pulumi.Input; /** * Flag that indicates whether to enable additional backup copies for the cluster. If unspecified, this value defaults to false. */ diff --git a/sdk/nodejs/cloudProviderAccess.ts b/sdk/nodejs/cloudProviderAccess.ts index 8fcd2084..8c016018 100644 --- a/sdk/nodejs/cloudProviderAccess.ts +++ b/sdk/nodejs/cloudProviderAccess.ts @@ -161,7 +161,7 @@ export class CloudProviderAccess extends pulumi.CustomResource { /** * ARN of the IAM Role that Atlas assumes when accessing resources in your AWS account. This value is required after the creation (register of the role) as part of [Set Up Unified AWS Access](https://docs.atlas.mongodb.com/security/set-up-unified-aws-access/#set-up-unified-aws-access). */ - public readonly iamAssumedRoleArn!: pulumi.Output; + public readonly iamAssumedRoleArn!: pulumi.Output; /** * The unique ID for the project */ diff --git a/sdk/nodejs/cluster.ts b/sdk/nodejs/cluster.ts index c9038829..2c6d4114 100644 --- a/sdk/nodejs/cluster.ts +++ b/sdk/nodejs/cluster.ts @@ -83,7 +83,7 @@ export class Cluster extends pulumi.CustomResource { * Specifies BI Connector for Atlas configuration on this cluster. BI Connector for Atlas is only available for M10+ clusters. See BI Connector below for more details. */ public readonly biConnectorConfig!: pulumi.Output; - public readonly cloudBackup!: pulumi.Output; + public readonly cloudBackup!: pulumi.Output; /** * The cluster ID. */ diff --git a/sdk/nodejs/getBackupCompliancePolicy.ts b/sdk/nodejs/getBackupCompliancePolicy.ts index 9cb72aa9..d9e367ef 100644 --- a/sdk/nodejs/getBackupCompliancePolicy.ts +++ b/sdk/nodejs/getBackupCompliancePolicy.ts @@ -42,6 +42,14 @@ export interface GetBackupCompliancePolicyResult { * Email address of the user who is authorized to update the Backup Compliance Policy settings. */ readonly authorizedEmail: string; + /** + * First name of the user who authorized to update the Backup Compliance Policy settings. + */ + readonly authorizedUserFirstName: string; + /** + * Last name of the user who authorized to update the Backup Compliance Policy settings. + */ + readonly authorizedUserLastName: string; /** * Flag that indicates whether to enable additional backup copies for the cluster. If unspecified, this value defaults to false. */ diff --git a/sdk/nodejs/getCluster.ts b/sdk/nodejs/getCluster.ts index 6834e745..2cf4be39 100644 --- a/sdk/nodejs/getCluster.ts +++ b/sdk/nodejs/getCluster.ts @@ -12,6 +12,7 @@ import * as utilities from "./utilities"; * > **NOTE:** Groups and projects are synonymous terms. You may find groupId in the official documentation. * * > **IMPORTANT:** + *
• Multi Region Cluster: The `mongodbatlas.Cluster` data source doesn't return the `containerId` for each region utilized by the cluster. For retrieving the `containerId`, we recommend the `mongodbatlas.AdvancedCluster` data source instead. *
• Changes to cluster configurations can affect costs. Before making changes, please see [Billing](https://docs.atlas.mongodb.com/billing/). *
• If your Atlas project contains a custom role that uses actions introduced in a specific MongoDB version, you cannot create a cluster with a MongoDB version less than that version unless you delete the custom role. */ @@ -221,6 +222,7 @@ export interface GetClusterResult { * > **NOTE:** Groups and projects are synonymous terms. You may find groupId in the official documentation. * * > **IMPORTANT:** + *
• Multi Region Cluster: The `mongodbatlas.Cluster` data source doesn't return the `containerId` for each region utilized by the cluster. For retrieving the `containerId`, we recommend the `mongodbatlas.AdvancedCluster` data source instead. *
• Changes to cluster configurations can affect costs. Before making changes, please see [Billing](https://docs.atlas.mongodb.com/billing/). *
• If your Atlas project contains a custom role that uses actions introduced in a specific MongoDB version, you cannot create a cluster with a MongoDB version less than that version unless you delete the custom role. */ diff --git a/sdk/nodejs/getClusters.ts b/sdk/nodejs/getClusters.ts index f275fdf2..37c79e82 100644 --- a/sdk/nodejs/getClusters.ts +++ b/sdk/nodejs/getClusters.ts @@ -12,6 +12,7 @@ import * as utilities from "./utilities"; * > **NOTE:** Groups and projects are synonymous terms. You may find groupId in the official documentation. * * > **IMPORTANT:** + *
• Multi Region Cluster: The `mongodbatlas.Cluster` data source doesn't return the `containerId` for each region utilized by the cluster. For retrieving the `containerId`, we recommend the `mongodbatlas.AdvancedCluster` data source instead. *
• Changes to cluster configurations can affect costs. Before making changes, please see [Billing](https://docs.atlas.mongodb.com/billing/). *
• If your Atlas project contains a custom role that uses actions introduced in a specific MongoDB version, you cannot create a cluster with a MongoDB version less than that version unless you delete the custom role. * @@ -81,6 +82,7 @@ export interface GetClustersResult { * > **NOTE:** Groups and projects are synonymous terms. You may find groupId in the official documentation. * * > **IMPORTANT:** + *
• Multi Region Cluster: The `mongodbatlas.Cluster` data source doesn't return the `containerId` for each region utilized by the cluster. For retrieving the `containerId`, we recommend the `mongodbatlas.AdvancedCluster` data source instead. *
• Changes to cluster configurations can affect costs. Before making changes, please see [Billing](https://docs.atlas.mongodb.com/billing/). *
• If your Atlas project contains a custom role that uses actions introduced in a specific MongoDB version, you cannot create a cluster with a MongoDB version less than that version unless you delete the custom role. * diff --git a/sdk/nodejs/getProjectApiKey.ts b/sdk/nodejs/getProjectApiKey.ts index 68e6e6c0..0cb53ad6 100644 --- a/sdk/nodejs/getProjectApiKey.ts +++ b/sdk/nodejs/getProjectApiKey.ts @@ -22,6 +22,9 @@ export function getProjectApiKey(args: GetProjectApiKeyArgs, opts?: pulumi.Invok * A collection of arguments for invoking getProjectApiKey. */ export interface GetProjectApiKeyArgs { + /** + * Unique identifier for this Project API key. + */ apiKeyId: string; /** * The unique ID for the project. @@ -67,6 +70,9 @@ export function getProjectApiKeyOutput(args: GetProjectApiKeyOutputArgs, opts?: * A collection of arguments for invoking getProjectApiKey. */ export interface GetProjectApiKeyOutputArgs { + /** + * Unique identifier for this Project API key. + */ apiKeyId: pulumi.Input; /** * The unique ID for the project. diff --git a/sdk/nodejs/getProjectApiKeys.ts b/sdk/nodejs/getProjectApiKeys.ts index 8886af79..542a3596 100644 --- a/sdk/nodejs/getProjectApiKeys.ts +++ b/sdk/nodejs/getProjectApiKeys.ts @@ -6,6 +6,20 @@ import * as inputs from "./types/input"; import * as outputs from "./types/output"; import * as utilities from "./utilities"; +/** + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as mongodbatlas from "@pulumi/mongodbatlas"; + * + * const test = mongodbatlas.getProjectApiKeys({ + * itemsPerPage: 5, + * pageNum: 1, + * projectId: "32b6e34b3d91647abb20e7b8", + * }); + * ``` + */ export function getProjectApiKeys(args: GetProjectApiKeysArgs, opts?: pulumi.InvokeOptions): Promise { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); @@ -29,7 +43,7 @@ export interface GetProjectApiKeysArgs { */ pageNum?: number; /** - * Unique identifier for the project whose API keys you want to retrieve. Use the /groups endpoint to retrieve all projects to which the authenticated user has access. + * The unique ID for the project. */ projectId: string; } @@ -44,9 +58,29 @@ export interface GetProjectApiKeysResult { readonly id: string; readonly itemsPerPage?: number; readonly pageNum?: number; + /** + * Project ID to assign to Access Key + */ readonly projectId: string; + /** + * A list where each element represents a API Key assigned to the project. + */ readonly results: outputs.GetProjectApiKeysResult[]; } +/** + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as mongodbatlas from "@pulumi/mongodbatlas"; + * + * const test = mongodbatlas.getProjectApiKeys({ + * itemsPerPage: 5, + * pageNum: 1, + * projectId: "32b6e34b3d91647abb20e7b8", + * }); + * ``` + */ export function getProjectApiKeysOutput(args: GetProjectApiKeysOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { return pulumi.output(args).apply((a: any) => getProjectApiKeys(a, opts)) } @@ -64,7 +98,7 @@ export interface GetProjectApiKeysOutputArgs { */ pageNum?: pulumi.Input; /** - * Unique identifier for the project whose API keys you want to retrieve. Use the /groups endpoint to retrieve all projects to which the authenticated user has access. + * The unique ID for the project. */ projectId: pulumi.Input; } diff --git a/sdk/nodejs/networkContainer.ts b/sdk/nodejs/networkContainer.ts index 86d16c46..58403248 100644 --- a/sdk/nodejs/networkContainer.ts +++ b/sdk/nodejs/networkContainer.ts @@ -148,7 +148,7 @@ export class NetworkContainer extends pulumi.CustomResource { /** * Atlas regions where the container resides. Provide this field only if you provide an `atlasCidrBlock` smaller than `/18`. [GCP Regions values](https://docs.atlas.mongodb.com/reference/api/vpc-create-container/#request-body-parameters). */ - public readonly regions!: pulumi.Output; + public readonly regions!: pulumi.Output; /** * The name of the Azure VNet. Returns null. This value is populated once you create a new network peering connection with the network peering resource. */ diff --git a/sdk/nodejs/networkPeering.ts b/sdk/nodejs/networkPeering.ts index 8c1474b8..5c2b4235 100644 --- a/sdk/nodejs/networkPeering.ts +++ b/sdk/nodejs/networkPeering.ts @@ -9,7 +9,7 @@ import * as utilities from "./utilities"; * * Ensure you have first created a network container if it is required for your configuration. See the networkContainer resource documentation to determine if you need a network container first. Examples for creating both container and peering resource are shown below as well as examples for creating the peering connection only. * - * > **GCP AND AZURE ONLY:** Connect via Peering Only mode is deprecated, so no longer needed. See disable Peering Only mode to disable. + * > **GCP AND AZURE ONLY:** Connect via Peering Only mode is deprecated, so no longer needed. See [disable Peering Only mode](https://docs.atlas.mongodb.com/reference/faq/connection-changes/#disable-peering-mode) for details * * > **AZURE ONLY:** To create the peering request with an Azure VNET, you must grant Atlas the following permissions on the virtual network. * Microsoft.Network/virtualNetworks/virtualNetworkPeerings/read diff --git a/sdk/nodejs/orgInvitation.ts b/sdk/nodejs/orgInvitation.ts index 332cdb80..dd3d4a03 100644 --- a/sdk/nodejs/orgInvitation.ts +++ b/sdk/nodejs/orgInvitation.ts @@ -113,7 +113,7 @@ export class OrgInvitation extends pulumi.CustomResource { /** * An array of unique 24-hexadecimal digit strings that identify the teams that the user was invited to join. */ - public readonly teamsIds!: pulumi.Output; + public readonly teamsIds!: pulumi.Output; /** * Email address of the invited user. This is the address to which Atlas sends the invite. If the user accepts the invitation, they log in to Atlas with this username. */ diff --git a/sdk/nodejs/package.json b/sdk/nodejs/package.json index 351fbbb2..bf5891ff 100644 --- a/sdk/nodejs/package.json +++ b/sdk/nodejs/package.json @@ -1,7 +1,7 @@ { "name": "@pulumi/mongodbatlas", "version": "${VERSION}", - "description": "A Pulumi package for creating and managing mongodbatlas cloud resources.. Based on terraform-provider-mongodbatlas: version vdevel", + "description": "A Pulumi package for creating and managing mongodbatlas cloud resources.", "keywords": [ "pulumi", "mongodbatlas" diff --git a/sdk/nodejs/privateEndpointRegionalMode.ts b/sdk/nodejs/privateEndpointRegionalMode.ts index 5b0a64f6..13fd61f7 100644 --- a/sdk/nodejs/privateEndpointRegionalMode.ts +++ b/sdk/nodejs/privateEndpointRegionalMode.ts @@ -48,7 +48,7 @@ export class PrivateEndpointRegionalMode extends pulumi.CustomResource { * * More than one private endpoint in one region and one private endpoint in one or more regions. * You can create only sharded clusters when you enable the regionalized private endpoint setting. You can't create replica sets. */ - public readonly enabled!: pulumi.Output; + public readonly enabled!: pulumi.Output; /** * Unique identifier for the project. */ diff --git a/sdk/nodejs/projectApiKey.ts b/sdk/nodejs/projectApiKey.ts index 9bc9402b..432ab11d 100644 --- a/sdk/nodejs/projectApiKey.ts +++ b/sdk/nodejs/projectApiKey.ts @@ -20,7 +20,6 @@ import * as utilities from "./utilities"; * projectId: "64259ee860c43338194b0f8e", * roleNames: ["GROUP_OWNER"], * }], - * projectId: "64259ee860c43338194b0f8e", * }); * ``` * ### Create And Assign PAK To Multiple Projects @@ -44,7 +43,6 @@ import * as utilities from "./utilities"; * roleNames: ["GROUP_READ_ONLY"], * }, * ], - * projectId: "64259ee860c43338194b0f8e", * }); * ``` * @@ -91,14 +89,16 @@ export class ProjectApiKey extends pulumi.CustomResource { public /*out*/ readonly apiKeyId!: pulumi.Output; /** * Description of this Project API key. - * - * > **NOTE:** Project created by API Keys must belong to an existing organization. */ public readonly description!: pulumi.Output; public /*out*/ readonly privateKey!: pulumi.Output; - public readonly projectAssignments!: pulumi.Output; + public readonly projectAssignments!: pulumi.Output; /** - * Unique 24-hexadecimal digit string that identifies your project. + * Unique 24-hexadecimal digit string that identifies your project. **WARNING:** this parameter is deprecated as it no longer needs to be defined. It will be removed in version 1.16.0. + * + * > **NOTE:** Project created by API Keys must belong to an existing organization. + * + * @deprecated this parameter is deprecated and will be removed in version 1.16.0 */ public readonly projectId!: pulumi.Output; public /*out*/ readonly publicKey!: pulumi.Output; @@ -127,8 +127,8 @@ export class ProjectApiKey extends pulumi.CustomResource { if ((!args || args.description === undefined) && !opts.urn) { throw new Error("Missing required property 'description'"); } - if ((!args || args.projectId === undefined) && !opts.urn) { - throw new Error("Missing required property 'projectId'"); + if ((!args || args.projectAssignments === undefined) && !opts.urn) { + throw new Error("Missing required property 'projectAssignments'"); } resourceInputs["description"] = args ? args.description : undefined; resourceInputs["projectAssignments"] = args ? args.projectAssignments : undefined; @@ -154,14 +154,16 @@ export interface ProjectApiKeyState { apiKeyId?: pulumi.Input; /** * Description of this Project API key. - * - * > **NOTE:** Project created by API Keys must belong to an existing organization. */ description?: pulumi.Input; privateKey?: pulumi.Input; projectAssignments?: pulumi.Input[]>; /** - * Unique 24-hexadecimal digit string that identifies your project. + * Unique 24-hexadecimal digit string that identifies your project. **WARNING:** this parameter is deprecated as it no longer needs to be defined. It will be removed in version 1.16.0. + * + * > **NOTE:** Project created by API Keys must belong to an existing organization. + * + * @deprecated this parameter is deprecated and will be removed in version 1.16.0 */ projectId?: pulumi.Input; publicKey?: pulumi.Input; @@ -173,13 +175,15 @@ export interface ProjectApiKeyState { export interface ProjectApiKeyArgs { /** * Description of this Project API key. - * - * > **NOTE:** Project created by API Keys must belong to an existing organization. */ description: pulumi.Input; - projectAssignments?: pulumi.Input[]>; + projectAssignments: pulumi.Input[]>; /** - * Unique 24-hexadecimal digit string that identifies your project. + * Unique 24-hexadecimal digit string that identifies your project. **WARNING:** this parameter is deprecated as it no longer needs to be defined. It will be removed in version 1.16.0. + * + * > **NOTE:** Project created by API Keys must belong to an existing organization. + * + * @deprecated this parameter is deprecated and will be removed in version 1.16.0 */ - projectId: pulumi.Input; + projectId?: pulumi.Input; } diff --git a/sdk/nodejs/thirdPartyIntegration.ts b/sdk/nodejs/thirdPartyIntegration.ts index 1b626fdc..4b275b03 100644 --- a/sdk/nodejs/thirdPartyIntegration.ts +++ b/sdk/nodejs/thirdPartyIntegration.ts @@ -69,20 +69,20 @@ export class ThirdPartyIntegration extends pulumi.CustomResource { /** * Your API Key. */ - public readonly apiKey!: pulumi.Output; - public readonly channelName!: pulumi.Output; + public readonly apiKey!: pulumi.Output; + public readonly channelName!: pulumi.Output; /** * Whether your cluster has Prometheus enabled. */ - public readonly enabled!: pulumi.Output; + public readonly enabled!: pulumi.Output; /** * Your Microsoft Teams incoming webhook URL. */ - public readonly microsoftTeamsWebhookUrl!: pulumi.Output; + public readonly microsoftTeamsWebhookUrl!: pulumi.Output; /** * Your Prometheus password. */ - public readonly password!: pulumi.Output; + public readonly password!: pulumi.Output; /** * The unique ID for the project to get all Third-Party service integrations */ @@ -94,11 +94,11 @@ export class ThirdPartyIntegration extends pulumi.CustomResource { /** * An optional field for your Routing Key. */ - public readonly routingKey!: pulumi.Output; + public readonly routingKey!: pulumi.Output; /** * Your Prometheus protocol scheme configured for requests. */ - public readonly scheme!: pulumi.Output; + public readonly scheme!: pulumi.Output; /** * An optional field for your webhook secret. */ @@ -106,12 +106,12 @@ export class ThirdPartyIntegration extends pulumi.CustomResource { /** * Indicates which service discovery method is used, either file or http. */ - public readonly serviceDiscovery!: pulumi.Output; + public readonly serviceDiscovery!: pulumi.Output; /** * Your Service Key. */ - public readonly serviceKey!: pulumi.Output; - public readonly teamName!: pulumi.Output; + public readonly serviceKey!: pulumi.Output; + public readonly teamName!: pulumi.Output; /** * Third-Party Integration Settings type * * PAGER_DUTY @@ -126,11 +126,11 @@ export class ThirdPartyIntegration extends pulumi.CustomResource { /** * Your webhook URL. */ - public readonly url!: pulumi.Output; + public readonly url!: pulumi.Output; /** * Your Prometheus username. */ - public readonly userName!: pulumi.Output; + public readonly userName!: pulumi.Output; /** * Create a ThirdPartyIntegration resource with the given unique name, arguments, and options. diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index 7999173f..5d6c8698 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -5324,14 +5324,11 @@ export interface GetProjectApiKeysResult { export interface GetProjectApiKeysResultProjectAssignment { /** - * Project ID to assign to Access Key + * The unique ID for the project. */ projectId: string; /** * List of Project roles that the Programmatic API key needs to have. Ensure you provide: at least one role and ensure all roles are valid for the Project. You must specify an array even if you are only associating a single role with the Programmatic API key. The [MongoDB Documentation](https://www.mongodb.com/docs/atlas/reference/user-roles/#project-roles) describes the valid roles that can be assigned. - * - * - * See [MongoDB Atlas API - API Keys](https://www.mongodb.com/docs/atlas/reference/api/projectApiKeys/get-all-apiKeys-in-one-project/) - Documentation for more information. */ roleNames: string[]; } diff --git a/sdk/nodejs/x509authenticationDatabaseUser.ts b/sdk/nodejs/x509authenticationDatabaseUser.ts index 4844e37e..f29c4b26 100644 --- a/sdk/nodejs/x509authenticationDatabaseUser.ts +++ b/sdk/nodejs/x509authenticationDatabaseUser.ts @@ -16,6 +16,8 @@ import * as utilities from "./utilities"; * * > **NOTE:** Groups and projects are synonymous terms. You may find groupId in the official documentation. * + * > **NOTE:** Before provider version 1.14.0, Self-managed X.509 Authentication was disabled for the project when this resource was deleted. Starting from that version onward, it will not be disabled, allowing other users to continue using X.509 within the same project. + * * ## Example Usage * * ### S diff --git a/sdk/python/pulumi_mongodbatlas/backup_compliance_policy.py b/sdk/python/pulumi_mongodbatlas/backup_compliance_policy.py index d2a5df1a..5cce7ca6 100644 --- a/sdk/python/pulumi_mongodbatlas/backup_compliance_policy.py +++ b/sdk/python/pulumi_mongodbatlas/backup_compliance_policy.py @@ -17,6 +17,8 @@ class BackupCompliancePolicyArgs: def __init__(__self__, *, authorized_email: pulumi.Input[str], + authorized_user_first_name: pulumi.Input[str], + authorized_user_last_name: pulumi.Input[str], copy_protection_enabled: pulumi.Input[bool], encryption_at_rest_enabled: pulumi.Input[bool], on_demand_policy_item: pulumi.Input['BackupCompliancePolicyOnDemandPolicyItemArgs'], @@ -30,6 +32,8 @@ def __init__(__self__, *, """ The set of arguments for constructing a BackupCompliancePolicy resource. :param pulumi.Input[str] authorized_email: Email address of a security or legal representative for the Backup Compliance Policy who is authorized to update the Backup Compliance Policy settings. + :param pulumi.Input[str] authorized_user_first_name: First name of the user who authorized to update the Backup Compliance Policy settings. + :param pulumi.Input[str] authorized_user_last_name: Last name of the user who authorized to update the Backup Compliance Policy settings. :param pulumi.Input[bool] copy_protection_enabled: Flag that indicates whether to enable additional backup copies for the cluster. If unspecified, this value defaults to false. :param pulumi.Input[bool] encryption_at_rest_enabled: Flag that indicates whether Encryption at Rest using Customer Key Management is required for all clusters with a Backup Compliance Policy. If unspecified, this value defaults to false. :param pulumi.Input[bool] pit_enabled: Flag that indicates whether the cluster uses Continuous Cloud Backups with a Backup Compliance Policy. If unspecified, this value defaults to false. @@ -37,6 +41,8 @@ def __init__(__self__, *, :param pulumi.Input[int] restore_window_days: Number of previous days that you can restore back to with Continuous Cloud Backup with a Backup Compliance Policy. You must specify a positive, non-zero integer, and the maximum retention window can't exceed the hourly retention time. This parameter applies only to Continuous Cloud Backups with a Backup Compliance Policy. """ pulumi.set(__self__, "authorized_email", authorized_email) + pulumi.set(__self__, "authorized_user_first_name", authorized_user_first_name) + pulumi.set(__self__, "authorized_user_last_name", authorized_user_last_name) pulumi.set(__self__, "copy_protection_enabled", copy_protection_enabled) pulumi.set(__self__, "encryption_at_rest_enabled", encryption_at_rest_enabled) pulumi.set(__self__, "on_demand_policy_item", on_demand_policy_item) @@ -65,6 +71,30 @@ def authorized_email(self) -> pulumi.Input[str]: def authorized_email(self, value: pulumi.Input[str]): pulumi.set(self, "authorized_email", value) + @property + @pulumi.getter(name="authorizedUserFirstName") + def authorized_user_first_name(self) -> pulumi.Input[str]: + """ + First name of the user who authorized to update the Backup Compliance Policy settings. + """ + return pulumi.get(self, "authorized_user_first_name") + + @authorized_user_first_name.setter + def authorized_user_first_name(self, value: pulumi.Input[str]): + pulumi.set(self, "authorized_user_first_name", value) + + @property + @pulumi.getter(name="authorizedUserLastName") + def authorized_user_last_name(self) -> pulumi.Input[str]: + """ + Last name of the user who authorized to update the Backup Compliance Policy settings. + """ + return pulumi.get(self, "authorized_user_last_name") + + @authorized_user_last_name.setter + def authorized_user_last_name(self, value: pulumi.Input[str]): + pulumi.set(self, "authorized_user_last_name", value) + @property @pulumi.getter(name="copyProtectionEnabled") def copy_protection_enabled(self) -> pulumi.Input[bool]: @@ -175,6 +205,8 @@ def restore_window_days(self, value: Optional[pulumi.Input[int]]): class _BackupCompliancePolicyState: def __init__(__self__, *, authorized_email: Optional[pulumi.Input[str]] = None, + authorized_user_first_name: Optional[pulumi.Input[str]] = None, + authorized_user_last_name: Optional[pulumi.Input[str]] = None, copy_protection_enabled: Optional[pulumi.Input[bool]] = None, encryption_at_rest_enabled: Optional[pulumi.Input[bool]] = None, on_demand_policy_item: Optional[pulumi.Input['BackupCompliancePolicyOnDemandPolicyItemArgs']] = None, @@ -191,6 +223,8 @@ def __init__(__self__, *, """ Input properties used for looking up and filtering BackupCompliancePolicy resources. :param pulumi.Input[str] authorized_email: Email address of a security or legal representative for the Backup Compliance Policy who is authorized to update the Backup Compliance Policy settings. + :param pulumi.Input[str] authorized_user_first_name: First name of the user who authorized to update the Backup Compliance Policy settings. + :param pulumi.Input[str] authorized_user_last_name: Last name of the user who authorized to update the Backup Compliance Policy settings. :param pulumi.Input[bool] copy_protection_enabled: Flag that indicates whether to enable additional backup copies for the cluster. If unspecified, this value defaults to false. :param pulumi.Input[bool] encryption_at_rest_enabled: Flag that indicates whether Encryption at Rest using Customer Key Management is required for all clusters with a Backup Compliance Policy. If unspecified, this value defaults to false. :param pulumi.Input[bool] pit_enabled: Flag that indicates whether the cluster uses Continuous Cloud Backups with a Backup Compliance Policy. If unspecified, this value defaults to false. @@ -202,6 +236,10 @@ def __init__(__self__, *, """ if authorized_email is not None: pulumi.set(__self__, "authorized_email", authorized_email) + if authorized_user_first_name is not None: + pulumi.set(__self__, "authorized_user_first_name", authorized_user_first_name) + if authorized_user_last_name is not None: + pulumi.set(__self__, "authorized_user_last_name", authorized_user_last_name) if copy_protection_enabled is not None: pulumi.set(__self__, "copy_protection_enabled", copy_protection_enabled) if encryption_at_rest_enabled is not None: @@ -241,6 +279,30 @@ def authorized_email(self) -> Optional[pulumi.Input[str]]: def authorized_email(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "authorized_email", value) + @property + @pulumi.getter(name="authorizedUserFirstName") + def authorized_user_first_name(self) -> Optional[pulumi.Input[str]]: + """ + First name of the user who authorized to update the Backup Compliance Policy settings. + """ + return pulumi.get(self, "authorized_user_first_name") + + @authorized_user_first_name.setter + def authorized_user_first_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "authorized_user_first_name", value) + + @property + @pulumi.getter(name="authorizedUserLastName") + def authorized_user_last_name(self) -> Optional[pulumi.Input[str]]: + """ + Last name of the user who authorized to update the Backup Compliance Policy settings. + """ + return pulumi.get(self, "authorized_user_last_name") + + @authorized_user_last_name.setter + def authorized_user_last_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "authorized_user_last_name", value) + @property @pulumi.getter(name="copyProtectionEnabled") def copy_protection_enabled(self) -> Optional[pulumi.Input[bool]]: @@ -389,6 +451,8 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, authorized_email: Optional[pulumi.Input[str]] = None, + authorized_user_first_name: Optional[pulumi.Input[str]] = None, + authorized_user_last_name: Optional[pulumi.Input[str]] = None, copy_protection_enabled: Optional[pulumi.Input[bool]] = None, encryption_at_rest_enabled: Optional[pulumi.Input[bool]] = None, on_demand_policy_item: Optional[pulumi.Input[pulumi.InputType['BackupCompliancePolicyOnDemandPolicyItemArgs']]] = None, @@ -415,6 +479,8 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] authorized_email: Email address of a security or legal representative for the Backup Compliance Policy who is authorized to update the Backup Compliance Policy settings. + :param pulumi.Input[str] authorized_user_first_name: First name of the user who authorized to update the Backup Compliance Policy settings. + :param pulumi.Input[str] authorized_user_last_name: Last name of the user who authorized to update the Backup Compliance Policy settings. :param pulumi.Input[bool] copy_protection_enabled: Flag that indicates whether to enable additional backup copies for the cluster. If unspecified, this value defaults to false. :param pulumi.Input[bool] encryption_at_rest_enabled: Flag that indicates whether Encryption at Rest using Customer Key Management is required for all clusters with a Backup Compliance Policy. If unspecified, this value defaults to false. :param pulumi.Input[bool] pit_enabled: Flag that indicates whether the cluster uses Continuous Cloud Backups with a Backup Compliance Policy. If unspecified, this value defaults to false. @@ -455,6 +521,8 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, authorized_email: Optional[pulumi.Input[str]] = None, + authorized_user_first_name: Optional[pulumi.Input[str]] = None, + authorized_user_last_name: Optional[pulumi.Input[str]] = None, copy_protection_enabled: Optional[pulumi.Input[bool]] = None, encryption_at_rest_enabled: Optional[pulumi.Input[bool]] = None, on_demand_policy_item: Optional[pulumi.Input[pulumi.InputType['BackupCompliancePolicyOnDemandPolicyItemArgs']]] = None, @@ -477,6 +545,12 @@ def _internal_init(__self__, if authorized_email is None and not opts.urn: raise TypeError("Missing required property 'authorized_email'") __props__.__dict__["authorized_email"] = authorized_email + if authorized_user_first_name is None and not opts.urn: + raise TypeError("Missing required property 'authorized_user_first_name'") + __props__.__dict__["authorized_user_first_name"] = authorized_user_first_name + if authorized_user_last_name is None and not opts.urn: + raise TypeError("Missing required property 'authorized_user_last_name'") + __props__.__dict__["authorized_user_last_name"] = authorized_user_last_name if copy_protection_enabled is None and not opts.urn: raise TypeError("Missing required property 'copy_protection_enabled'") __props__.__dict__["copy_protection_enabled"] = copy_protection_enabled @@ -511,6 +585,8 @@ def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, authorized_email: Optional[pulumi.Input[str]] = None, + authorized_user_first_name: Optional[pulumi.Input[str]] = None, + authorized_user_last_name: Optional[pulumi.Input[str]] = None, copy_protection_enabled: Optional[pulumi.Input[bool]] = None, encryption_at_rest_enabled: Optional[pulumi.Input[bool]] = None, on_demand_policy_item: Optional[pulumi.Input[pulumi.InputType['BackupCompliancePolicyOnDemandPolicyItemArgs']]] = None, @@ -532,6 +608,8 @@ def get(resource_name: str, :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] authorized_email: Email address of a security or legal representative for the Backup Compliance Policy who is authorized to update the Backup Compliance Policy settings. + :param pulumi.Input[str] authorized_user_first_name: First name of the user who authorized to update the Backup Compliance Policy settings. + :param pulumi.Input[str] authorized_user_last_name: Last name of the user who authorized to update the Backup Compliance Policy settings. :param pulumi.Input[bool] copy_protection_enabled: Flag that indicates whether to enable additional backup copies for the cluster. If unspecified, this value defaults to false. :param pulumi.Input[bool] encryption_at_rest_enabled: Flag that indicates whether Encryption at Rest using Customer Key Management is required for all clusters with a Backup Compliance Policy. If unspecified, this value defaults to false. :param pulumi.Input[bool] pit_enabled: Flag that indicates whether the cluster uses Continuous Cloud Backups with a Backup Compliance Policy. If unspecified, this value defaults to false. @@ -546,6 +624,8 @@ def get(resource_name: str, __props__ = _BackupCompliancePolicyState.__new__(_BackupCompliancePolicyState) __props__.__dict__["authorized_email"] = authorized_email + __props__.__dict__["authorized_user_first_name"] = authorized_user_first_name + __props__.__dict__["authorized_user_last_name"] = authorized_user_last_name __props__.__dict__["copy_protection_enabled"] = copy_protection_enabled __props__.__dict__["encryption_at_rest_enabled"] = encryption_at_rest_enabled __props__.__dict__["on_demand_policy_item"] = on_demand_policy_item @@ -569,6 +649,22 @@ def authorized_email(self) -> pulumi.Output[str]: """ return pulumi.get(self, "authorized_email") + @property + @pulumi.getter(name="authorizedUserFirstName") + def authorized_user_first_name(self) -> pulumi.Output[str]: + """ + First name of the user who authorized to update the Backup Compliance Policy settings. + """ + return pulumi.get(self, "authorized_user_first_name") + + @property + @pulumi.getter(name="authorizedUserLastName") + def authorized_user_last_name(self) -> pulumi.Output[str]: + """ + Last name of the user who authorized to update the Backup Compliance Policy settings. + """ + return pulumi.get(self, "authorized_user_last_name") + @property @pulumi.getter(name="copyProtectionEnabled") def copy_protection_enabled(self) -> pulumi.Output[bool]: diff --git a/sdk/python/pulumi_mongodbatlas/cloud_provider_access.py b/sdk/python/pulumi_mongodbatlas/cloud_provider_access.py index a2a12071..ef4e8a63 100644 --- a/sdk/python/pulumi_mongodbatlas/cloud_provider_access.py +++ b/sdk/python/pulumi_mongodbatlas/cloud_provider_access.py @@ -571,7 +571,7 @@ def feature_usages(self) -> pulumi.Output[Sequence['outputs.CloudProviderAccessF @property @pulumi.getter(name="iamAssumedRoleArn") - def iam_assumed_role_arn(self) -> pulumi.Output[Optional[str]]: + def iam_assumed_role_arn(self) -> pulumi.Output[str]: """ ARN of the IAM Role that Atlas assumes when accessing resources in your AWS account. This value is required after the creation (register of the role) as part of [Set Up Unified AWS Access](https://docs.atlas.mongodb.com/security/set-up-unified-aws-access/#set-up-unified-aws-access). """ diff --git a/sdk/python/pulumi_mongodbatlas/cluster.py b/sdk/python/pulumi_mongodbatlas/cluster.py index b941f6cc..1ebd583c 100644 --- a/sdk/python/pulumi_mongodbatlas/cluster.py +++ b/sdk/python/pulumi_mongodbatlas/cluster.py @@ -1901,7 +1901,7 @@ def bi_connector_config(self) -> pulumi.Output['outputs.ClusterBiConnectorConfig @property @pulumi.getter(name="cloudBackup") - def cloud_backup(self) -> pulumi.Output[Optional[bool]]: + def cloud_backup(self) -> pulumi.Output[bool]: return pulumi.get(self, "cloud_backup") @property diff --git a/sdk/python/pulumi_mongodbatlas/get_backup_compliance_policy.py b/sdk/python/pulumi_mongodbatlas/get_backup_compliance_policy.py index da2dd1cc..8a09b964 100644 --- a/sdk/python/pulumi_mongodbatlas/get_backup_compliance_policy.py +++ b/sdk/python/pulumi_mongodbatlas/get_backup_compliance_policy.py @@ -23,10 +23,16 @@ class GetBackupCompliancePolicyResult: """ A collection of values returned by getBackupCompliancePolicy. """ - def __init__(__self__, authorized_email=None, copy_protection_enabled=None, encryption_at_rest_enabled=None, id=None, on_demand_policy_item=None, pit_enabled=None, policy_item_daily=None, policy_item_hourly=None, policy_item_monthlies=None, policy_item_weeklies=None, project_id=None, restore_window_days=None, state=None, updated_date=None, updated_user=None): + def __init__(__self__, authorized_email=None, authorized_user_first_name=None, authorized_user_last_name=None, copy_protection_enabled=None, encryption_at_rest_enabled=None, id=None, on_demand_policy_item=None, pit_enabled=None, policy_item_daily=None, policy_item_hourly=None, policy_item_monthlies=None, policy_item_weeklies=None, project_id=None, restore_window_days=None, state=None, updated_date=None, updated_user=None): if authorized_email and not isinstance(authorized_email, str): raise TypeError("Expected argument 'authorized_email' to be a str") pulumi.set(__self__, "authorized_email", authorized_email) + if authorized_user_first_name and not isinstance(authorized_user_first_name, str): + raise TypeError("Expected argument 'authorized_user_first_name' to be a str") + pulumi.set(__self__, "authorized_user_first_name", authorized_user_first_name) + if authorized_user_last_name and not isinstance(authorized_user_last_name, str): + raise TypeError("Expected argument 'authorized_user_last_name' to be a str") + pulumi.set(__self__, "authorized_user_last_name", authorized_user_last_name) if copy_protection_enabled and not isinstance(copy_protection_enabled, bool): raise TypeError("Expected argument 'copy_protection_enabled' to be a bool") pulumi.set(__self__, "copy_protection_enabled", copy_protection_enabled) @@ -78,6 +84,22 @@ def authorized_email(self) -> str: """ return pulumi.get(self, "authorized_email") + @property + @pulumi.getter(name="authorizedUserFirstName") + def authorized_user_first_name(self) -> str: + """ + First name of the user who authorized to update the Backup Compliance Policy settings. + """ + return pulumi.get(self, "authorized_user_first_name") + + @property + @pulumi.getter(name="authorizedUserLastName") + def authorized_user_last_name(self) -> str: + """ + Last name of the user who authorized to update the Backup Compliance Policy settings. + """ + return pulumi.get(self, "authorized_user_last_name") + @property @pulumi.getter(name="copyProtectionEnabled") def copy_protection_enabled(self) -> bool: @@ -180,6 +202,8 @@ def __await__(self): yield self return GetBackupCompliancePolicyResult( authorized_email=self.authorized_email, + authorized_user_first_name=self.authorized_user_first_name, + authorized_user_last_name=self.authorized_user_last_name, copy_protection_enabled=self.copy_protection_enabled, encryption_at_rest_enabled=self.encryption_at_rest_enabled, id=self.id, @@ -220,6 +244,8 @@ def get_backup_compliance_policy(on_demand_policy_item: Optional[pulumi.InputTyp return AwaitableGetBackupCompliancePolicyResult( authorized_email=pulumi.get(__ret__, 'authorized_email'), + authorized_user_first_name=pulumi.get(__ret__, 'authorized_user_first_name'), + authorized_user_last_name=pulumi.get(__ret__, 'authorized_user_last_name'), copy_protection_enabled=pulumi.get(__ret__, 'copy_protection_enabled'), encryption_at_rest_enabled=pulumi.get(__ret__, 'encryption_at_rest_enabled'), id=pulumi.get(__ret__, 'id'), diff --git a/sdk/python/pulumi_mongodbatlas/get_cluster.py b/sdk/python/pulumi_mongodbatlas/get_cluster.py index ce9428fb..9c509bd2 100644 --- a/sdk/python/pulumi_mongodbatlas/get_cluster.py +++ b/sdk/python/pulumi_mongodbatlas/get_cluster.py @@ -559,6 +559,7 @@ def get_cluster(name: Optional[str] = None, > **NOTE:** Groups and projects are synonymous terms. You may find group_id in the official documentation. > **IMPORTANT:** +
• Multi Region Cluster: The `Cluster` data source doesn't return the `container_id` for each region utilized by the cluster. For retrieving the `container_id`, we recommend the `AdvancedCluster` data source instead.
• Changes to cluster configurations can affect costs. Before making changes, please see [Billing](https://docs.atlas.mongodb.com/billing/).
• If your Atlas project contains a custom role that uses actions introduced in a specific MongoDB version, you cannot create a cluster with a MongoDB version less than that version unless you delete the custom role. @@ -628,6 +629,7 @@ def get_cluster_output(name: Optional[pulumi.Input[str]] = None, > **NOTE:** Groups and projects are synonymous terms. You may find group_id in the official documentation. > **IMPORTANT:** +
• Multi Region Cluster: The `Cluster` data source doesn't return the `container_id` for each region utilized by the cluster. For retrieving the `container_id`, we recommend the `AdvancedCluster` data source instead.
• Changes to cluster configurations can affect costs. Before making changes, please see [Billing](https://docs.atlas.mongodb.com/billing/).
• If your Atlas project contains a custom role that uses actions introduced in a specific MongoDB version, you cannot create a cluster with a MongoDB version less than that version unless you delete the custom role. diff --git a/sdk/python/pulumi_mongodbatlas/get_clusters.py b/sdk/python/pulumi_mongodbatlas/get_clusters.py index 94af47bc..765b65c5 100644 --- a/sdk/python/pulumi_mongodbatlas/get_clusters.py +++ b/sdk/python/pulumi_mongodbatlas/get_clusters.py @@ -74,6 +74,7 @@ def get_clusters(project_id: Optional[str] = None, > **NOTE:** Groups and projects are synonymous terms. You may find group_id in the official documentation. > **IMPORTANT:** +
• Multi Region Cluster: The `Cluster` data source doesn't return the `container_id` for each region utilized by the cluster. For retrieving the `container_id`, we recommend the `AdvancedCluster` data source instead.
• Changes to cluster configurations can affect costs. Before making changes, please see [Billing](https://docs.atlas.mongodb.com/billing/).
• If your Atlas project contains a custom role that uses actions introduced in a specific MongoDB version, you cannot create a cluster with a MongoDB version less than that version unless you delete the custom role. @@ -125,6 +126,7 @@ def get_clusters_output(project_id: Optional[pulumi.Input[str]] = None, > **NOTE:** Groups and projects are synonymous terms. You may find group_id in the official documentation. > **IMPORTANT:** +
• Multi Region Cluster: The `Cluster` data source doesn't return the `container_id` for each region utilized by the cluster. For retrieving the `container_id`, we recommend the `AdvancedCluster` data source instead.
• Changes to cluster configurations can affect costs. Before making changes, please see [Billing](https://docs.atlas.mongodb.com/billing/).
• If your Atlas project contains a custom role that uses actions introduced in a specific MongoDB version, you cannot create a cluster with a MongoDB version less than that version unless you delete the custom role. diff --git a/sdk/python/pulumi_mongodbatlas/get_project_api_key.py b/sdk/python/pulumi_mongodbatlas/get_project_api_key.py index 384f7251..3c711fe4 100644 --- a/sdk/python/pulumi_mongodbatlas/get_project_api_key.py +++ b/sdk/python/pulumi_mongodbatlas/get_project_api_key.py @@ -118,6 +118,7 @@ def get_project_api_key(api_key_id: Optional[str] = None, ## Example Usage + :param str api_key_id: Unique identifier for this Project API key. :param str project_id: The unique ID for the project. """ __args__ = dict() @@ -144,6 +145,7 @@ def get_project_api_key_output(api_key_id: Optional[pulumi.Input[str]] = None, ## Example Usage + :param str api_key_id: Unique identifier for this Project API key. :param str project_id: The unique ID for the project. """ ... diff --git a/sdk/python/pulumi_mongodbatlas/get_project_api_keys.py b/sdk/python/pulumi_mongodbatlas/get_project_api_keys.py index 1d8907bb..4e002cd4 100644 --- a/sdk/python/pulumi_mongodbatlas/get_project_api_keys.py +++ b/sdk/python/pulumi_mongodbatlas/get_project_api_keys.py @@ -60,11 +60,17 @@ def page_num(self) -> Optional[int]: @property @pulumi.getter(name="projectId") def project_id(self) -> str: + """ + Project ID to assign to Access Key + """ return pulumi.get(self, "project_id") @property @pulumi.getter def results(self) -> Sequence['outputs.GetProjectApiKeysResultResult']: + """ + A list where each element represents a API Key assigned to the project. + """ return pulumi.get(self, "results") @@ -86,11 +92,21 @@ def get_project_api_keys(items_per_page: Optional[int] = None, project_id: Optional[str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetProjectApiKeysResult: """ - Use this data source to access information about an existing resource. + ## Example Usage + + ```python + import pulumi + import pulumi_mongodbatlas as mongodbatlas + + test = mongodbatlas.get_project_api_keys(items_per_page=5, + page_num=1, + project_id="32b6e34b3d91647abb20e7b8") + ``` + :param int items_per_page: Number of items to return per page, up to a maximum of 500. Defaults to `100`. :param int page_num: The page to return. Defaults to `1`. - :param str project_id: Unique identifier for the project whose API keys you want to retrieve. Use the /groups endpoint to retrieve all projects to which the authenticated user has access. + :param str project_id: The unique ID for the project. """ __args__ = dict() __args__['itemsPerPage'] = items_per_page @@ -113,10 +129,20 @@ def get_project_api_keys_output(items_per_page: Optional[pulumi.Input[Optional[i project_id: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetProjectApiKeysResult]: """ - Use this data source to access information about an existing resource. + ## Example Usage + + ```python + import pulumi + import pulumi_mongodbatlas as mongodbatlas + + test = mongodbatlas.get_project_api_keys(items_per_page=5, + page_num=1, + project_id="32b6e34b3d91647abb20e7b8") + ``` + :param int items_per_page: Number of items to return per page, up to a maximum of 500. Defaults to `100`. :param int page_num: The page to return. Defaults to `1`. - :param str project_id: Unique identifier for the project whose API keys you want to retrieve. Use the /groups endpoint to retrieve all projects to which the authenticated user has access. + :param str project_id: The unique ID for the project. """ ... diff --git a/sdk/python/pulumi_mongodbatlas/network_container.py b/sdk/python/pulumi_mongodbatlas/network_container.py index 07e344a9..7d3aec2a 100644 --- a/sdk/python/pulumi_mongodbatlas/network_container.py +++ b/sdk/python/pulumi_mongodbatlas/network_container.py @@ -723,7 +723,7 @@ def region_name(self) -> pulumi.Output[str]: @property @pulumi.getter - def regions(self) -> pulumi.Output[Optional[Sequence[str]]]: + def regions(self) -> pulumi.Output[Sequence[str]]: """ Atlas regions where the container resides. Provide this field only if you provide an `atlas_cidr_block` smaller than `/18`. [GCP Regions values](https://docs.atlas.mongodb.com/reference/api/vpc-create-container/#request-body-parameters). """ diff --git a/sdk/python/pulumi_mongodbatlas/network_peering.py b/sdk/python/pulumi_mongodbatlas/network_peering.py index 7c0659bb..1fda9596 100644 --- a/sdk/python/pulumi_mongodbatlas/network_peering.py +++ b/sdk/python/pulumi_mongodbatlas/network_peering.py @@ -695,7 +695,7 @@ def __init__(__self__, Ensure you have first created a network container if it is required for your configuration. See the network_container resource documentation to determine if you need a network container first. Examples for creating both container and peering resource are shown below as well as examples for creating the peering connection only. - > **GCP AND AZURE ONLY:** Connect via Peering Only mode is deprecated, so no longer needed. See disable Peering Only mode to disable. + > **GCP AND AZURE ONLY:** Connect via Peering Only mode is deprecated, so no longer needed. See [disable Peering Only mode](https://docs.atlas.mongodb.com/reference/faq/connection-changes/#disable-peering-mode) for details > **AZURE ONLY:** To create the peering request with an Azure VNET, you must grant Atlas the following permissions on the virtual network. Microsoft.Network/virtualNetworks/virtualNetworkPeerings/read @@ -996,7 +996,7 @@ def __init__(__self__, Ensure you have first created a network container if it is required for your configuration. See the network_container resource documentation to determine if you need a network container first. Examples for creating both container and peering resource are shown below as well as examples for creating the peering connection only. - > **GCP AND AZURE ONLY:** Connect via Peering Only mode is deprecated, so no longer needed. See disable Peering Only mode to disable. + > **GCP AND AZURE ONLY:** Connect via Peering Only mode is deprecated, so no longer needed. See [disable Peering Only mode](https://docs.atlas.mongodb.com/reference/faq/connection-changes/#disable-peering-mode) for details > **AZURE ONLY:** To create the peering request with an Azure VNET, you must grant Atlas the following permissions on the virtual network. Microsoft.Network/virtualNetworks/virtualNetworkPeerings/read diff --git a/sdk/python/pulumi_mongodbatlas/org_invitation.py b/sdk/python/pulumi_mongodbatlas/org_invitation.py index 5a89ba07..a621b4a1 100644 --- a/sdk/python/pulumi_mongodbatlas/org_invitation.py +++ b/sdk/python/pulumi_mongodbatlas/org_invitation.py @@ -481,7 +481,7 @@ def roles(self) -> pulumi.Output[Sequence[str]]: @property @pulumi.getter(name="teamsIds") - def teams_ids(self) -> pulumi.Output[Optional[Sequence[str]]]: + def teams_ids(self) -> pulumi.Output[Sequence[str]]: """ An array of unique 24-hexadecimal digit strings that identify the teams that the user was invited to join. """ diff --git a/sdk/python/pulumi_mongodbatlas/outputs.py b/sdk/python/pulumi_mongodbatlas/outputs.py index 3d60878f..a52ac170 100644 --- a/sdk/python/pulumi_mongodbatlas/outputs.py +++ b/sdk/python/pulumi_mongodbatlas/outputs.py @@ -19139,11 +19139,8 @@ def __init__(__self__, *, project_id: str, role_names: Sequence[str]): """ - :param str project_id: Project ID to assign to Access Key + :param str project_id: The unique ID for the project. :param Sequence[str] role_names: List of Project roles that the Programmatic API key needs to have. Ensure you provide: at least one role and ensure all roles are valid for the Project. You must specify an array even if you are only associating a single role with the Programmatic API key. The [MongoDB Documentation](https://www.mongodb.com/docs/atlas/reference/user-roles/#project-roles) describes the valid roles that can be assigned. - - - See [MongoDB Atlas API - API Keys](https://www.mongodb.com/docs/atlas/reference/api/projectApiKeys/get-all-apiKeys-in-one-project/) - Documentation for more information. """ pulumi.set(__self__, "project_id", project_id) pulumi.set(__self__, "role_names", role_names) @@ -19152,7 +19149,7 @@ def __init__(__self__, *, @pulumi.getter(name="projectId") def project_id(self) -> str: """ - Project ID to assign to Access Key + The unique ID for the project. """ return pulumi.get(self, "project_id") @@ -19161,9 +19158,6 @@ def project_id(self) -> str: def role_names(self) -> Sequence[str]: """ List of Project roles that the Programmatic API key needs to have. Ensure you provide: at least one role and ensure all roles are valid for the Project. You must specify an array even if you are only associating a single role with the Programmatic API key. The [MongoDB Documentation](https://www.mongodb.com/docs/atlas/reference/user-roles/#project-roles) describes the valid roles that can be assigned. - - - See [MongoDB Atlas API - API Keys](https://www.mongodb.com/docs/atlas/reference/api/projectApiKeys/get-all-apiKeys-in-one-project/) - Documentation for more information. """ return pulumi.get(self, "role_names") diff --git a/sdk/python/pulumi_mongodbatlas/private_endpoint_regional_mode.py b/sdk/python/pulumi_mongodbatlas/private_endpoint_regional_mode.py index dacaced2..f6e552a9 100644 --- a/sdk/python/pulumi_mongodbatlas/private_endpoint_regional_mode.py +++ b/sdk/python/pulumi_mongodbatlas/private_endpoint_regional_mode.py @@ -209,7 +209,7 @@ def get(resource_name: str, @property @pulumi.getter - def enabled(self) -> pulumi.Output[Optional[bool]]: + def enabled(self) -> pulumi.Output[bool]: """ Flag that indicates whether the regionalized private endpoint setting is enabled for the project. Set this value to true to create more than one private endpoint in a cloud provider region to connect to multi-region and global Atlas sharded clusters. You can enable this setting only if your Atlas project contains no replica sets. You can't disable this setting if you have: * More than one private endpoint in more than one region, or diff --git a/sdk/python/pulumi_mongodbatlas/project_api_key.py b/sdk/python/pulumi_mongodbatlas/project_api_key.py index 78f3eba4..14423789 100644 --- a/sdk/python/pulumi_mongodbatlas/project_api_key.py +++ b/sdk/python/pulumi_mongodbatlas/project_api_key.py @@ -17,27 +17,28 @@ class ProjectApiKeyArgs: def __init__(__self__, *, description: pulumi.Input[str], - project_id: pulumi.Input[str], - project_assignments: Optional[pulumi.Input[Sequence[pulumi.Input['ProjectApiKeyProjectAssignmentArgs']]]] = None): + project_assignments: pulumi.Input[Sequence[pulumi.Input['ProjectApiKeyProjectAssignmentArgs']]], + project_id: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a ProjectApiKey resource. :param pulumi.Input[str] description: Description of this Project API key. + :param pulumi.Input[str] project_id: Unique 24-hexadecimal digit string that identifies your project. **WARNING:** this parameter is deprecated as it no longer needs to be defined. It will be removed in version 1.16.0. > **NOTE:** Project created by API Keys must belong to an existing organization. - :param pulumi.Input[str] project_id: Unique 24-hexadecimal digit string that identifies your project. """ pulumi.set(__self__, "description", description) - pulumi.set(__self__, "project_id", project_id) - if project_assignments is not None: - pulumi.set(__self__, "project_assignments", project_assignments) + pulumi.set(__self__, "project_assignments", project_assignments) + if project_id is not None: + warnings.warn("""this parameter is deprecated and will be removed in version 1.16.0""", DeprecationWarning) + pulumi.log.warn("""project_id is deprecated: this parameter is deprecated and will be removed in version 1.16.0""") + if project_id is not None: + pulumi.set(__self__, "project_id", project_id) @property @pulumi.getter def description(self) -> pulumi.Input[str]: """ Description of this Project API key. - - > **NOTE:** Project created by API Keys must belong to an existing organization. """ return pulumi.get(self, "description") @@ -45,27 +46,32 @@ def description(self) -> pulumi.Input[str]: def description(self, value: pulumi.Input[str]): pulumi.set(self, "description", value) + @property + @pulumi.getter(name="projectAssignments") + def project_assignments(self) -> pulumi.Input[Sequence[pulumi.Input['ProjectApiKeyProjectAssignmentArgs']]]: + return pulumi.get(self, "project_assignments") + + @project_assignments.setter + def project_assignments(self, value: pulumi.Input[Sequence[pulumi.Input['ProjectApiKeyProjectAssignmentArgs']]]): + pulumi.set(self, "project_assignments", value) + @property @pulumi.getter(name="projectId") - def project_id(self) -> pulumi.Input[str]: + def project_id(self) -> Optional[pulumi.Input[str]]: """ - Unique 24-hexadecimal digit string that identifies your project. + Unique 24-hexadecimal digit string that identifies your project. **WARNING:** this parameter is deprecated as it no longer needs to be defined. It will be removed in version 1.16.0. + + > **NOTE:** Project created by API Keys must belong to an existing organization. """ + warnings.warn("""this parameter is deprecated and will be removed in version 1.16.0""", DeprecationWarning) + pulumi.log.warn("""project_id is deprecated: this parameter is deprecated and will be removed in version 1.16.0""") + return pulumi.get(self, "project_id") @project_id.setter - def project_id(self, value: pulumi.Input[str]): + def project_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "project_id", value) - @property - @pulumi.getter(name="projectAssignments") - def project_assignments(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ProjectApiKeyProjectAssignmentArgs']]]]: - return pulumi.get(self, "project_assignments") - - @project_assignments.setter - def project_assignments(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ProjectApiKeyProjectAssignmentArgs']]]]): - pulumi.set(self, "project_assignments", value) - @pulumi.input_type class _ProjectApiKeyState: @@ -80,9 +86,9 @@ def __init__(__self__, *, Input properties used for looking up and filtering ProjectApiKey resources. :param pulumi.Input[str] api_key_id: Unique identifier for this Project API key. :param pulumi.Input[str] description: Description of this Project API key. + :param pulumi.Input[str] project_id: Unique 24-hexadecimal digit string that identifies your project. **WARNING:** this parameter is deprecated as it no longer needs to be defined. It will be removed in version 1.16.0. > **NOTE:** Project created by API Keys must belong to an existing organization. - :param pulumi.Input[str] project_id: Unique 24-hexadecimal digit string that identifies your project. """ if api_key_id is not None: pulumi.set(__self__, "api_key_id", api_key_id) @@ -92,6 +98,9 @@ def __init__(__self__, *, pulumi.set(__self__, "private_key", private_key) if project_assignments is not None: pulumi.set(__self__, "project_assignments", project_assignments) + if project_id is not None: + warnings.warn("""this parameter is deprecated and will be removed in version 1.16.0""", DeprecationWarning) + pulumi.log.warn("""project_id is deprecated: this parameter is deprecated and will be removed in version 1.16.0""") if project_id is not None: pulumi.set(__self__, "project_id", project_id) if public_key is not None: @@ -114,8 +123,6 @@ def api_key_id(self, value: Optional[pulumi.Input[str]]): def description(self) -> Optional[pulumi.Input[str]]: """ Description of this Project API key. - - > **NOTE:** Project created by API Keys must belong to an existing organization. """ return pulumi.get(self, "description") @@ -145,8 +152,13 @@ def project_assignments(self, value: Optional[pulumi.Input[Sequence[pulumi.Input @pulumi.getter(name="projectId") def project_id(self) -> Optional[pulumi.Input[str]]: """ - Unique 24-hexadecimal digit string that identifies your project. + Unique 24-hexadecimal digit string that identifies your project. **WARNING:** this parameter is deprecated as it no longer needs to be defined. It will be removed in version 1.16.0. + + > **NOTE:** Project created by API Keys must belong to an existing organization. """ + warnings.warn("""this parameter is deprecated and will be removed in version 1.16.0""", DeprecationWarning) + pulumi.log.warn("""project_id is deprecated: this parameter is deprecated and will be removed in version 1.16.0""") + return pulumi.get(self, "project_id") @project_id.setter @@ -185,8 +197,7 @@ def __init__(__self__, project_assignments=[mongodbatlas.ProjectApiKeyProjectAssignmentArgs( project_id="64259ee860c43338194b0f8e", role_names=["GROUP_OWNER"], - )], - project_id="64259ee860c43338194b0f8e") + )]) ``` ### Create And Assign PAK To Multiple Projects @@ -208,8 +219,7 @@ def __init__(__self__, project_id="74259ee860c43338194b0f8e", role_names=["GROUP_READ_ONLY"], ), - ], - project_id="64259ee860c43338194b0f8e") + ]) ``` ## Import @@ -224,9 +234,9 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] description: Description of this Project API key. + :param pulumi.Input[str] project_id: Unique 24-hexadecimal digit string that identifies your project. **WARNING:** this parameter is deprecated as it no longer needs to be defined. It will be removed in version 1.16.0. > **NOTE:** Project created by API Keys must belong to an existing organization. - :param pulumi.Input[str] project_id: Unique 24-hexadecimal digit string that identifies your project. """ ... @overload @@ -247,8 +257,7 @@ def __init__(__self__, project_assignments=[mongodbatlas.ProjectApiKeyProjectAssignmentArgs( project_id="64259ee860c43338194b0f8e", role_names=["GROUP_OWNER"], - )], - project_id="64259ee860c43338194b0f8e") + )]) ``` ### Create And Assign PAK To Multiple Projects @@ -270,8 +279,7 @@ def __init__(__self__, project_id="74259ee860c43338194b0f8e", role_names=["GROUP_READ_ONLY"], ), - ], - project_id="64259ee860c43338194b0f8e") + ]) ``` ## Import @@ -313,9 +321,9 @@ def _internal_init(__self__, if description is None and not opts.urn: raise TypeError("Missing required property 'description'") __props__.__dict__["description"] = description + if project_assignments is None and not opts.urn: + raise TypeError("Missing required property 'project_assignments'") __props__.__dict__["project_assignments"] = project_assignments - if project_id is None and not opts.urn: - raise TypeError("Missing required property 'project_id'") __props__.__dict__["project_id"] = project_id __props__.__dict__["api_key_id"] = None __props__.__dict__["private_key"] = None @@ -347,9 +355,9 @@ def get(resource_name: str, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] api_key_id: Unique identifier for this Project API key. :param pulumi.Input[str] description: Description of this Project API key. + :param pulumi.Input[str] project_id: Unique 24-hexadecimal digit string that identifies your project. **WARNING:** this parameter is deprecated as it no longer needs to be defined. It will be removed in version 1.16.0. > **NOTE:** Project created by API Keys must belong to an existing organization. - :param pulumi.Input[str] project_id: Unique 24-hexadecimal digit string that identifies your project. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -376,8 +384,6 @@ def api_key_id(self) -> pulumi.Output[str]: def description(self) -> pulumi.Output[str]: """ Description of this Project API key. - - > **NOTE:** Project created by API Keys must belong to an existing organization. """ return pulumi.get(self, "description") @@ -388,15 +394,20 @@ def private_key(self) -> pulumi.Output[str]: @property @pulumi.getter(name="projectAssignments") - def project_assignments(self) -> pulumi.Output[Optional[Sequence['outputs.ProjectApiKeyProjectAssignment']]]: + def project_assignments(self) -> pulumi.Output[Sequence['outputs.ProjectApiKeyProjectAssignment']]: return pulumi.get(self, "project_assignments") @property @pulumi.getter(name="projectId") def project_id(self) -> pulumi.Output[str]: """ - Unique 24-hexadecimal digit string that identifies your project. + Unique 24-hexadecimal digit string that identifies your project. **WARNING:** this parameter is deprecated as it no longer needs to be defined. It will be removed in version 1.16.0. + + > **NOTE:** Project created by API Keys must belong to an existing organization. """ + warnings.warn("""this parameter is deprecated and will be removed in version 1.16.0""", DeprecationWarning) + pulumi.log.warn("""project_id is deprecated: this parameter is deprecated and will be removed in version 1.16.0""") + return pulumi.get(self, "project_id") @property diff --git a/sdk/python/pulumi_mongodbatlas/third_party_integration.py b/sdk/python/pulumi_mongodbatlas/third_party_integration.py index 54ae44c2..6ac39028 100644 --- a/sdk/python/pulumi_mongodbatlas/third_party_integration.py +++ b/sdk/python/pulumi_mongodbatlas/third_party_integration.py @@ -808,7 +808,7 @@ def get(resource_name: str, @property @pulumi.getter(name="apiKey") - def api_key(self) -> pulumi.Output[Optional[str]]: + def api_key(self) -> pulumi.Output[str]: """ Your API Key. """ @@ -816,12 +816,12 @@ def api_key(self) -> pulumi.Output[Optional[str]]: @property @pulumi.getter(name="channelName") - def channel_name(self) -> pulumi.Output[Optional[str]]: + def channel_name(self) -> pulumi.Output[str]: return pulumi.get(self, "channel_name") @property @pulumi.getter - def enabled(self) -> pulumi.Output[Optional[bool]]: + def enabled(self) -> pulumi.Output[bool]: """ Whether your cluster has Prometheus enabled. """ @@ -829,7 +829,7 @@ def enabled(self) -> pulumi.Output[Optional[bool]]: @property @pulumi.getter(name="microsoftTeamsWebhookUrl") - def microsoft_teams_webhook_url(self) -> pulumi.Output[Optional[str]]: + def microsoft_teams_webhook_url(self) -> pulumi.Output[str]: """ Your Microsoft Teams incoming webhook URL. """ @@ -837,7 +837,7 @@ def microsoft_teams_webhook_url(self) -> pulumi.Output[Optional[str]]: @property @pulumi.getter - def password(self) -> pulumi.Output[Optional[str]]: + def password(self) -> pulumi.Output[str]: """ Your Prometheus password. """ @@ -861,7 +861,7 @@ def region(self) -> pulumi.Output[str]: @property @pulumi.getter(name="routingKey") - def routing_key(self) -> pulumi.Output[Optional[str]]: + def routing_key(self) -> pulumi.Output[str]: """ An optional field for your Routing Key. """ @@ -869,7 +869,7 @@ def routing_key(self) -> pulumi.Output[Optional[str]]: @property @pulumi.getter - def scheme(self) -> pulumi.Output[Optional[str]]: + def scheme(self) -> pulumi.Output[str]: """ Your Prometheus protocol scheme configured for requests. """ @@ -885,7 +885,7 @@ def secret(self) -> pulumi.Output[Optional[str]]: @property @pulumi.getter(name="serviceDiscovery") - def service_discovery(self) -> pulumi.Output[Optional[str]]: + def service_discovery(self) -> pulumi.Output[str]: """ Indicates which service discovery method is used, either file or http. """ @@ -893,7 +893,7 @@ def service_discovery(self) -> pulumi.Output[Optional[str]]: @property @pulumi.getter(name="serviceKey") - def service_key(self) -> pulumi.Output[Optional[str]]: + def service_key(self) -> pulumi.Output[str]: """ Your Service Key. """ @@ -901,7 +901,7 @@ def service_key(self) -> pulumi.Output[Optional[str]]: @property @pulumi.getter(name="teamName") - def team_name(self) -> pulumi.Output[Optional[str]]: + def team_name(self) -> pulumi.Output[str]: return pulumi.get(self, "team_name") @property @@ -921,7 +921,7 @@ def type(self) -> pulumi.Output[str]: @property @pulumi.getter - def url(self) -> pulumi.Output[Optional[str]]: + def url(self) -> pulumi.Output[str]: """ Your webhook URL. """ @@ -929,7 +929,7 @@ def url(self) -> pulumi.Output[Optional[str]]: @property @pulumi.getter(name="userName") - def user_name(self) -> pulumi.Output[Optional[str]]: + def user_name(self) -> pulumi.Output[str]: """ Your Prometheus username. """ diff --git a/sdk/python/pulumi_mongodbatlas/x509_authentication_database_user.py b/sdk/python/pulumi_mongodbatlas/x509_authentication_database_user.py index 46865281..13117b6e 100644 --- a/sdk/python/pulumi_mongodbatlas/x509_authentication_database_user.py +++ b/sdk/python/pulumi_mongodbatlas/x509_authentication_database_user.py @@ -208,6 +208,8 @@ def __init__(__self__, > **NOTE:** Groups and projects are synonymous terms. You may find group_id in the official documentation. + > **NOTE:** Before provider version 1.14.0, Self-managed X.509 Authentication was disabled for the project when this resource was deleted. Starting from that version onward, it will not be disabled, allowing other users to continue using X.509 within the same project. + ## Example Usage ### S @@ -251,6 +253,8 @@ def __init__(__self__, > **NOTE:** Groups and projects are synonymous terms. You may find group_id in the official documentation. + > **NOTE:** Before provider version 1.14.0, Self-managed X.509 Authentication was disabled for the project when this resource was deleted. Starting from that version onward, it will not be disabled, allowing other users to continue using X.509 within the same project. + ## Example Usage ### S