diff --git a/provider/cmd/pulumi-resource-mongodbatlas/bridge-metadata.json b/provider/cmd/pulumi-resource-mongodbatlas/bridge-metadata.json index 5661ca3b..7a326fb3 100644 --- a/provider/cmd/pulumi-resource-mongodbatlas/bridge-metadata.json +++ b/provider/cmd/pulumi-resource-mongodbatlas/bridge-metadata.json @@ -199,15 +199,6 @@ } } }, - "mongodbatlas_cloud_provider_access": { - "current": "mongodbatlas:index/cloudProviderAccess:CloudProviderAccess", - "majorVersion": 3, - "fields": { - "feature_usages": { - "maxItemsOne": false - } - } - }, "mongodbatlas_cloud_provider_access_authorization": { "current": "mongodbatlas:index/cloudProviderAccessAuthorization:CloudProviderAccessAuthorization", "majorVersion": 3, @@ -505,6 +496,12 @@ "fields": { "associated_domains": { "maxItemsOne": false + }, + "audience_claim": { + "maxItemsOne": false + }, + "requested_scopes": { + "maxItemsOne": false } } }, @@ -675,6 +672,27 @@ "current": "mongodbatlas:index/project:Project", "majorVersion": 3, "fields": { + "ip_addresses": { + "fields": { + "services": { + "fields": { + "clusters": { + "maxItemsOne": false, + "elem": { + "fields": { + "inbound": { + "maxItemsOne": false + }, + "outbound": { + "maxItemsOne": false + } + } + } + } + } + } + } + }, "limits": { "maxItemsOne": false }, @@ -1220,22 +1238,6 @@ } } }, - "mongodbatlas_cloud_provider_access": { - "current": "mongodbatlas:index/getCloudProviderAccess:getCloudProviderAccess", - "majorVersion": 3, - "fields": { - "aws_iam_roles": { - "maxItemsOne": false, - "elem": { - "fields": { - "feature_usages": { - "maxItemsOne": false - } - } - } - } - } - }, "mongodbatlas_cloud_provider_access_setup": { "current": "mongodbatlas:index/getCloudProviderAccessSetup:getCloudProviderAccessSetup", "majorVersion": 3, @@ -1834,6 +1836,9 @@ } } }, + "audience_claim": { + "maxItemsOne": false + }, "pem_file_info": { "maxItemsOne": false, "elem": { @@ -1843,6 +1848,9 @@ } } } + }, + "requested_scopes": { + "maxItemsOne": false } } }, @@ -1883,6 +1891,9 @@ } } }, + "audience_claim": { + "maxItemsOne": false + }, "pem_file_info": { "maxItemsOne": false, "elem": { @@ -1892,6 +1903,9 @@ } } } + }, + "requested_scopes": { + "maxItemsOne": false } } } @@ -2199,6 +2213,27 @@ "current": "mongodbatlas:index/getProject:getProject", "majorVersion": 3, "fields": { + "ip_addresses": { + "fields": { + "services": { + "fields": { + "clusters": { + "maxItemsOne": false, + "elem": { + "fields": { + "inbound": { + "maxItemsOne": false + }, + "outbound": { + "maxItemsOne": false + } + } + } + } + } + } + } + }, "limits": { "maxItemsOne": false }, @@ -2274,6 +2309,27 @@ "maxItemsOne": false, "elem": { "fields": { + "ip_addresses": { + "fields": { + "services": { + "fields": { + "clusters": { + "maxItemsOne": false, + "elem": { + "fields": { + "inbound": { + "maxItemsOne": false + }, + "outbound": { + "maxItemsOne": false + } + } + } + } + } + } + } + }, "limits": { "maxItemsOne": false }, @@ -2444,6 +2500,13 @@ }, "auto-settings": { "datasources": { + "mongodbatlas_backup_compliance_policy": { + "maxItemsOneOverrides": { + "on_demand_policy_item": true, + "policy_item_daily": true, + "policy_item_hourly": true + } + }, "mongodbatlas_x509_authentication_database_user": { "renames": [ "mongodbatlas:index/get509AuthenticationDatabaseUser:get509AuthenticationDatabaseUser" @@ -2464,7 +2527,6 @@ "mongodbatlas:index/cloudBackupSnapshotExportBucket:CloudBackupSnapshotExportBucket": 0, "mongodbatlas:index/cloudBackupSnapshotExportJob:CloudBackupSnapshotExportJob": 0, "mongodbatlas:index/cloudBackupSnapshotRestoreJob:CloudBackupSnapshotRestoreJob": 0, - "mongodbatlas:index/cloudProviderAccess:CloudProviderAccess": 0, "mongodbatlas:index/cloudProviderAccessAuthorization:CloudProviderAccessAuthorization": 0, "mongodbatlas:index/cloudProviderAccessSetup:CloudProviderAccessSetup": 0, "mongodbatlas:index/cluster:Cluster": 0, @@ -2530,7 +2592,6 @@ "mongodbatlas:index/getCloudBackupSnapshotRestoreJob:getCloudBackupSnapshotRestoreJob": 0, "mongodbatlas:index/getCloudBackupSnapshotRestoreJobs:getCloudBackupSnapshotRestoreJobs": 0, "mongodbatlas:index/getCloudBackupSnapshots:getCloudBackupSnapshots": 0, - "mongodbatlas:index/getCloudProviderAccess:getCloudProviderAccess": 0, "mongodbatlas:index/getCloudProviderAccessSetup:getCloudProviderAccessSetup": 0, "mongodbatlas:index/getCluster:getCluster": 0, "mongodbatlas:index/getClusterOutageSimulation:getClusterOutageSimulation": 0, @@ -2613,7 +2674,6 @@ "mongodbatlas:index/cloudBackupSnapshotExportBucket:CloudBackupSnapshotExportBucket": "mongodbatlas_cloud_backup_snapshot_export_bucket", "mongodbatlas:index/cloudBackupSnapshotExportJob:CloudBackupSnapshotExportJob": "mongodbatlas_cloud_backup_snapshot_export_job", "mongodbatlas:index/cloudBackupSnapshotRestoreJob:CloudBackupSnapshotRestoreJob": "mongodbatlas_cloud_backup_snapshot_restore_job", - "mongodbatlas:index/cloudProviderAccess:CloudProviderAccess": "mongodbatlas_cloud_provider_access", "mongodbatlas:index/cloudProviderAccessAuthorization:CloudProviderAccessAuthorization": "mongodbatlas_cloud_provider_access_authorization", "mongodbatlas:index/cloudProviderAccessSetup:CloudProviderAccessSetup": "mongodbatlas_cloud_provider_access_setup", "mongodbatlas:index/cluster:Cluster": "mongodbatlas_cluster", @@ -2679,7 +2739,6 @@ "mongodbatlas:index/getCloudBackupSnapshotRestoreJob:getCloudBackupSnapshotRestoreJob": "mongodbatlas_cloud_backup_snapshot_restore_job", "mongodbatlas:index/getCloudBackupSnapshotRestoreJobs:getCloudBackupSnapshotRestoreJobs": "mongodbatlas_cloud_backup_snapshot_restore_jobs", "mongodbatlas:index/getCloudBackupSnapshots:getCloudBackupSnapshots": "mongodbatlas_cloud_backup_snapshots", - "mongodbatlas:index/getCloudProviderAccess:getCloudProviderAccess": "mongodbatlas_cloud_provider_access", "mongodbatlas:index/getCloudProviderAccessSetup:getCloudProviderAccessSetup": "mongodbatlas_cloud_provider_access_setup", "mongodbatlas:index/getCluster:getCluster": "mongodbatlas_cluster", "mongodbatlas:index/getClusterOutageSimulation:getClusterOutageSimulation": "mongodbatlas_cluster_outage_simulation", @@ -2957,10 +3016,6 @@ "featureId": "feature_id", "featureType": "feature_type" }, - "mongodbatlas:index/CloudProviderAccessFeatureUsage:CloudProviderAccessFeatureUsage": { - "featureId": "feature_id", - "featureType": "feature_type" - }, "mongodbatlas:index/CloudProviderAccessSetupAwsConfig:CloudProviderAccessSetupAwsConfig": { "atlasAssumedRoleExternalId": "atlas_assumed_role_external_id", "atlasAwsAccountArn": "atlas_aws_account_arn" @@ -3187,6 +3242,11 @@ "projectId": "project_id", "roleNames": "role_names" }, + "mongodbatlas:index/ProjectIpAddressesServicesCluster:ProjectIpAddressesServicesCluster": { + "clusterName": "cluster_name", + "inbounds": "inbound", + "outbounds": "outbound" + }, "mongodbatlas:index/ProjectLimit:ProjectLimit": { "currentUsage": "current_usage", "defaultLimit": "default_limit", @@ -3347,17 +3407,6 @@ "snapshotId": "snapshot_id", "snapshotRestoreJobId": "snapshot_restore_job_id" }, - "mongodbatlas:index/cloudProviderAccess:CloudProviderAccess": { - "atlasAssumedRoleExternalId": "atlas_assumed_role_external_id", - "atlasAwsAccountArn": "atlas_aws_account_arn", - "authorizedDate": "authorized_date", - "createdDate": "created_date", - "featureUsages": "feature_usages", - "iamAssumedRoleArn": "iam_assumed_role_arn", - "projectId": "project_id", - "providerName": "provider_name", - "roleId": "role_id" - }, "mongodbatlas:index/cloudProviderAccessAuthorization:CloudProviderAccessAuthorization": { "authorizedDate": "authorized_date", "featureUsages": "feature_usages", @@ -3490,13 +3539,19 @@ }, "mongodbatlas:index/federatedSettingsIdentityProvider:FederatedSettingsIdentityProvider": { "associatedDomains": "associated_domains", + "audienceClaims": "audience_claim", + "clientId": "client_id", "federationSettingsId": "federation_settings_id", + "groupsClaim": "groups_claim", + "idpId": "idp_id", "issuerUri": "issuer_uri", "oktaIdpId": "okta_idp_id", "requestBinding": "request_binding", + "requestedScopes": "requested_scopes", "responseSignatureAlgorithm": "response_signature_algorithm", "ssoDebugEnabled": "sso_debug_enabled", - "ssoUrl": "sso_url" + "ssoUrl": "sso_url", + "userClaim": "user_claim" }, "mongodbatlas:index/federatedSettingsOrgConfig:FederatedSettingsOrgConfig": { "domainAllowLists": "domain_allow_list", @@ -4123,24 +4178,6 @@ "cloudProvider": "cloud_provider", "replicaSetName": "replica_set_name" }, - "mongodbatlas:index/getCloudProviderAccess:getCloudProviderAccess": { - "awsIamRoles": "aws_iam_roles", - "projectId": "project_id" - }, - "mongodbatlas:index/getCloudProviderAccessAwsIamRole:getCloudProviderAccessAwsIamRole": { - "atlasAssumedRoleExternalId": "atlas_assumed_role_external_id", - "atlasAwsAccountArn": "atlas_aws_account_arn", - "authorizedDate": "authorized_date", - "createdDate": "created_date", - "featureUsages": "feature_usages", - "iamAssumedRoleArn": "iam_assumed_role_arn", - "providerName": "provider_name", - "roleId": "role_id" - }, - "mongodbatlas:index/getCloudProviderAccessAwsIamRoleFeatureUsage:getCloudProviderAccessAwsIamRoleFeatureUsage": { - "featureId": "feature_id", - "featureType": "feature_type" - }, "mongodbatlas:index/getCloudProviderAccessSetup:getCloudProviderAccessSetup": { "awsConfigs": "aws_config", "azureConfigs": "azure_config", @@ -4707,17 +4744,23 @@ "acsUrl": "acs_url", "associatedDomains": "associated_domains", "associatedOrgs": "associated_orgs", + "audienceClaims": "audience_claim", "audienceUri": "audience_uri", + "clientId": "client_id", "displayName": "display_name", "federationSettingsId": "federation_settings_id", + "groupsClaim": "groups_claim", "identityProviderId": "identity_provider_id", + "idpId": "idp_id", "issuerUri": "issuer_uri", "oktaIdpId": "okta_idp_id", "pemFileInfos": "pem_file_info", "requestBinding": "request_binding", + "requestedScopes": "requested_scopes", "responseSignatureAlgorithm": "response_signature_algorithm", "ssoDebugEnabled": "sso_debug_enabled", - "ssoUrl": "sso_url" + "ssoUrl": "sso_url", + "userClaim": "user_claim" }, "mongodbatlas:index/getFederatedSettingsIdentityProviderAssociatedOrg:getFederatedSettingsIdentityProviderAssociatedOrg": { "domainAllowLists": "domain_allow_list", @@ -4759,15 +4802,21 @@ "acsUrl": "acs_url", "associatedDomains": "associated_domains", "associatedOrgs": "associated_orgs", + "audienceClaims": "audience_claim", "audienceUri": "audience_uri", + "clientId": "client_id", "displayName": "display_name", + "groupsClaim": "groups_claim", + "idpId": "idp_id", "issuerUri": "issuer_uri", "oktaIdpId": "okta_idp_id", "pemFileInfos": "pem_file_info", "requestBinding": "request_binding", + "requestedScopes": "requested_scopes", "responseSignatureAlgorithm": "response_signature_algorithm", "ssoDebugEnabled": "sso_debug_enabled", - "ssoUrl": "sso_url" + "ssoUrl": "sso_url", + "userClaim": "user_claim" }, "mongodbatlas:index/getFederatedSettingsIdentityProvidersResultAssociatedOrg:getFederatedSettingsIdentityProvidersResultAssociatedOrg": { "domainAllowLists": "domain_allow_list", @@ -5078,8 +5127,11 @@ "teamsIds": "teams_ids" }, "mongodbatlas:index/getOrganization:getOrganization": { + "apiAccessListRequired": "api_access_list_required", "isDeleted": "is_deleted", - "orgId": "org_id" + "multiFactorAuthRequired": "multi_factor_auth_required", + "orgId": "org_id", + "restrictEmployeeAccess": "restrict_employee_access" }, "mongodbatlas:index/getOrganizations:getOrganizations": { "includeDeletedOrgs": "include_deleted_orgs", @@ -5088,7 +5140,10 @@ "totalCount": "total_count" }, "mongodbatlas:index/getOrganizationsResult:getOrganizationsResult": { - "isDeleted": "is_deleted" + "apiAccessListRequired": "api_access_list_required", + "isDeleted": "is_deleted", + "multiFactorAuthRequired": "multi_factor_auth_required", + "restrictEmployeeAccess": "restrict_employee_access" }, "mongodbatlas:index/getPrivateEndpointRegionalMode:getPrivateEndpointRegionalMode": { "projectId": "project_id" @@ -5165,6 +5220,7 @@ }, "mongodbatlas:index/getProject:getProject": { "clusterCount": "cluster_count", + "ipAddresses": "ip_addresses", "isCollectDatabaseSpecificsStatisticsEnabled": "is_collect_database_specifics_statistics_enabled", "isDataExplorerEnabled": "is_data_explorer_enabled", "isExtendedStorageSizesEnabled": "is_extended_storage_sizes_enabled", @@ -5214,6 +5270,11 @@ "ipAddress": "ip_address", "projectId": "project_id" }, + "mongodbatlas:index/getProjectIpAddressesServicesCluster:getProjectIpAddressesServicesCluster": { + "clusterName": "cluster_name", + "inbounds": "inbound", + "outbounds": "outbound" + }, "mongodbatlas:index/getProjectLimit:getProjectLimit": { "currentUsage": "current_usage", "defaultLimit": "default_limit", @@ -5230,6 +5291,7 @@ }, "mongodbatlas:index/getProjectsResult:getProjectsResult": { "clusterCount": "cluster_count", + "ipAddresses": "ip_addresses", "isCollectDatabaseSpecificsStatisticsEnabled": "is_collect_database_specifics_statistics_enabled", "isDataExplorerEnabled": "is_data_explorer_enabled", "isExtendedStorageSizesEnabled": "is_extended_storage_sizes_enabled", @@ -5240,6 +5302,11 @@ "projectId": "project_id", "regionUsageRestrictions": "region_usage_restrictions" }, + "mongodbatlas:index/getProjectsResultIpAddressesServicesCluster:getProjectsResultIpAddressesServicesCluster": { + "clusterName": "cluster_name", + "inbounds": "inbound", + "outbounds": "outbound" + }, "mongodbatlas:index/getProjectsResultLimit:getProjectsResultLimit": { "currentUsage": "current_usage", "defaultLimit": "default_limit", @@ -5276,8 +5343,6 @@ "mongodbatlas:index/getSearchIndexes:getSearchIndexes": { "clusterName": "cluster_name", "collectionName": "collection_name", - "itemsPerPage": "items_per_page", - "pageNum": "page_num", "projectId": "project_id", "totalCount": "total_count" }, @@ -5511,11 +5576,14 @@ "teamsIds": "teams_ids" }, "mongodbatlas:index/organization:Organization": { + "apiAccessListRequired": "api_access_list_required", "federationSettingsId": "federation_settings_id", + "multiFactorAuthRequired": "multi_factor_auth_required", "orgId": "org_id", "orgOwnerId": "org_owner_id", "privateKey": "private_key", "publicKey": "public_key", + "restrictEmployeeAccess": "restrict_employee_access", "roleNames": "role_names" }, "mongodbatlas:index/privateEndpointRegionalMode:PrivateEndpointRegionalMode": { @@ -5576,6 +5644,7 @@ }, "mongodbatlas:index/project:Project": { "clusterCount": "cluster_count", + "ipAddresses": "ip_addresses", "isCollectDatabaseSpecificsStatisticsEnabled": "is_collect_database_specifics_statistics_enabled", "isDataExplorerEnabled": "is_data_explorer_enabled", "isExtendedStorageSizesEnabled": "is_extended_storage_sizes_enabled", diff --git a/provider/cmd/pulumi-resource-mongodbatlas/schema.json b/provider/cmd/pulumi-resource-mongodbatlas/schema.json index 9269bbec..dc005f3c 100644 --- a/provider/cmd/pulumi-resource-mongodbatlas/schema.json +++ b/provider/cmd/pulumi-resource-mongodbatlas/schema.json @@ -698,7 +698,7 @@ }, "datadogRegion": { "type": "string", - "description": "Region that indicates which API URL to use. Accepted regions are: `US`, `EU`. The default Datadog region is US.\n" + "description": "Region that indicates which API URL to use. See the `datadogRegion` field in the `notifications` request parameter of [MongoDB API Alert Configuration documentation](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/v2/#tag/Alert-Configurations/operation/createAlertConfiguration) for more details. The default Datadog region is US.\n" }, "delayMin": { "type": "integer", @@ -1419,28 +1419,6 @@ } } }, - "mongodbatlas:index/CloudProviderAccessFeatureUsage:CloudProviderAccessFeatureUsage": { - "properties": { - "featureId": { - "type": "object", - "additionalProperties": { - "$ref": "pulumi.json#/Any" - } - }, - "featureType": { - "type": "string" - } - }, - "type": "object", - "language": { - "nodejs": { - "requiredOutputs": [ - "featureId", - "featureType" - ] - } - } - }, "mongodbatlas:index/CloudProviderAccessSetupAwsConfig:CloudProviderAccessSetupAwsConfig": { "properties": { "atlasAssumedRoleExternalId": { @@ -2170,7 +2148,7 @@ }, "databaseName": { "type": "string", - "description": "Database on which the user has the specified role. A role on the `admin` database can include privileges that apply to the other databases.\n" + "description": "Database on which the user has the specified role. A role on the `admin` database can include privileges that apply to the other databases. This field should be set to `admin` for a custom MongoDB role.\n" }, "roleName": { "type": "string", @@ -2217,7 +2195,7 @@ }, "roleId": { "type": "string", - "description": "ID of an AWS IAM role authorized to manage an AWS customer master key. To find the ID for an existing IAM role check the `role_id` attribute of the `mongodbatlas.CloudProviderAccess` resource.\n" + "description": "ID of an AWS IAM role authorized to manage an AWS customer master key. To find the ID for an existing IAM role check the `role_id` attribute of the `mongodbatlas_cloud_provider_access` resource.\n" }, "secretAccessKey": { "type": "string", @@ -2425,7 +2403,10 @@ "language": { "nodejs": { "requiredOutputs": [ - "maxWildcardCollections" + "collections", + "maxWildcardCollections", + "name", + "views" ] } } @@ -2443,7 +2424,14 @@ "description": "Name of the Atlas Federated Database Instance.\n### `cloud_provider_config` - (Optional) Cloud provider linked to this data federated instance.\n#### `aws` - (Required) AWS provider of the cloud service where the Federated Database Instance can access the S3 Bucket. Note this parameter is only required if using `cloud_provider_config` since AWS is currently the only supported Cloud vendor on this feature at this time.\n" } }, - "type": "object" + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "name" + ] + } + } }, "mongodbatlas:index/FederatedDatabaseInstanceStorageDatabaseCollectionDataSource:FederatedDatabaseInstanceStorageDatabaseCollectionDataSource": { "properties": { @@ -2484,7 +2472,24 @@ } } }, - "type": "object" + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "allowInsecure", + "collection", + "collectionRegex", + "database", + "databaseRegex", + "datasetName", + "defaultFormat", + "path", + "provenanceFieldName", + "storeName", + "urls" + ] + } + } }, "mongodbatlas:index/FederatedDatabaseInstanceStorageDatabaseView:FederatedDatabaseInstanceStorageDatabaseView": { "properties": { @@ -2571,7 +2576,29 @@ } } }, - "type": "object" + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "additionalStorageClasses", + "allowInsecure", + "bucket", + "clusterId", + "clusterName", + "defaultFormat", + "delimiter", + "includeTags", + "name", + "prefix", + "projectId", + "provider", + "public", + "readPreference", + "region", + "urls" + ] + } + } }, "mongodbatlas:index/FederatedDatabaseInstanceStorageStoreReadPreference:FederatedDatabaseInstanceStorageStoreReadPreference": { "properties": { @@ -2588,7 +2615,16 @@ } } }, - "type": "object" + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "maxStalenessSeconds", + "mode", + "tagSets" + ] + } + } }, "mongodbatlas:index/FederatedDatabaseInstanceStorageStoreReadPreferenceTagSet:FederatedDatabaseInstanceStorageStoreReadPreferenceTagSet": { "properties": { @@ -2614,7 +2650,15 @@ "type": "string" } }, - "type": "object" + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "name", + "value" + ] + } + } }, "mongodbatlas:index/FederatedSettingsOrgRoleMappingRoleAssignment:FederatedSettingsOrgRoleMappingRoleAssignment": { "properties": { @@ -2957,6 +3001,68 @@ }, "type": "object" }, + "mongodbatlas:index/ProjectIpAddresses:ProjectIpAddresses": { + "properties": { + "services": { + "$ref": "#/types/mongodbatlas:index/ProjectIpAddressesServices:ProjectIpAddressesServices" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "services" + ] + } + } + }, + "mongodbatlas:index/ProjectIpAddressesServices:ProjectIpAddressesServices": { + "properties": { + "clusters": { + "type": "array", + "items": { + "$ref": "#/types/mongodbatlas:index/ProjectIpAddressesServicesCluster:ProjectIpAddressesServicesCluster" + } + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "clusters" + ] + } + } + }, + "mongodbatlas:index/ProjectIpAddressesServicesCluster:ProjectIpAddressesServicesCluster": { + "properties": { + "clusterName": { + "type": "string" + }, + "inbounds": { + "type": "array", + "items": { + "type": "string" + } + }, + "outbounds": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "clusterName", + "inbounds", + "outbounds" + ] + } + } + }, "mongodbatlas:index/ProjectLimit:ProjectLimit": { "properties": { "currentUsage": { @@ -3110,7 +3216,7 @@ }, "sourceCollection": { "type": "string", - "description": "Name of the source MongoDB collection for the synonyms. Documents in this collection must be in the format described in the [Synonyms Source Collection Documents](https://docs.atlas.mongodb.com/reference/atlas-search/synonyms/#std-label-synonyms-coll-spec).\n" + "description": "(Required) Name of the source MongoDB collection for the synonyms. Documents in this collection must be in the format described in the [Synonyms Source Collection Documents](https://docs.atlas.mongodb.com/reference/atlas-search/synonyms/#std-label-synonyms-coll-spec).\n" } }, "type": "object", @@ -4454,7 +4560,7 @@ }, "datadogRegion": { "type": "string", - "description": "Region that indicates which API URL to use. Accepted regions are: `US`, `EU`. The default Datadog region is US.\n" + "description": "Region that indicates which API URL to use. See the `datadogRegion` field in the `notifications` request parameter of [MongoDB API Alert Configuration documentation](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/v2/#tag/Alert-Configurations/operation/createAlertConfiguration) for more details. The default Datadog region is US.\n" }, "delayMin": { "type": "integer", @@ -4814,7 +4920,7 @@ }, "datadogRegion": { "type": "string", - "description": "Region that indicates which API URL to use. Accepted regions are: `US`, `EU`. The default Datadog region is US.\n" + "description": "Region that indicates which API URL to use. See the `datadogRegion` field in the `notifications` request parameter of [MongoDB API Alert Configuration documentation](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/v2/#tag/Alert-Configurations/operation/createAlertConfiguration) for more details. The default Datadog region is US.\n" }, "delayMin": { "type": "integer", @@ -5268,11 +5374,7 @@ ], "language": { "nodejs": { - "requiredInputs": [ - "frequencyInterval", - "retentionUnit", - "retentionValue" - ] + "requiredInputs": [] } } }, @@ -5309,11 +5411,7 @@ ], "language": { "nodejs": { - "requiredInputs": [ - "frequencyInterval", - "retentionUnit", - "retentionValue" - ] + "requiredInputs": [] } } }, @@ -5350,11 +5448,7 @@ ], "language": { "nodejs": { - "requiredInputs": [ - "frequencyInterval", - "retentionUnit", - "retentionValue" - ] + "requiredInputs": [] } } }, @@ -5391,11 +5485,7 @@ ], "language": { "nodejs": { - "requiredInputs": [ - "frequencyInterval", - "retentionUnit", - "retentionValue" - ] + "requiredInputs": [] } } }, @@ -6033,84 +6123,6 @@ } } }, - "mongodbatlas:index/getCloudProviderAccessAwsIamRole:getCloudProviderAccessAwsIamRole": { - "properties": { - "atlasAssumedRoleExternalId": { - "type": "string", - "description": "Unique external ID Atlas uses when assuming the IAM role in your AWS account.\n" - }, - "atlasAwsAccountArn": { - "type": "string", - "description": "ARN associated with the Atlas AWS account used to assume IAM roles in your AWS account.\n" - }, - "authorizedDate": { - "type": "string", - "description": "Date on which this role was authorized.\n" - }, - "createdDate": { - "type": "string", - "description": "Date on which this role was created.\n" - }, - "featureUsages": { - "type": "array", - "items": { - "$ref": "#/types/mongodbatlas:index/getCloudProviderAccessAwsIamRoleFeatureUsage:getCloudProviderAccessAwsIamRoleFeatureUsage" - }, - "description": "Atlas features this AWS IAM role is linked to.\n" - }, - "iamAssumedRoleArn": { - "type": "string", - "description": "ARN of the IAM Role that Atlas assumes when accessing resources in your AWS account.\n" - }, - "providerName": { - "type": "string", - "description": "Name of the cloud provider. Currently limited to AWS.\n" - }, - "roleId": { - "type": "string", - "description": "Unique ID of this role.\n" - } - }, - "type": "object", - "required": [ - "atlasAssumedRoleExternalId", - "atlasAwsAccountArn", - "authorizedDate", - "createdDate", - "featureUsages", - "iamAssumedRoleArn", - "providerName", - "roleId" - ], - "language": { - "nodejs": { - "requiredInputs": [] - } - } - }, - "mongodbatlas:index/getCloudProviderAccessAwsIamRoleFeatureUsage:getCloudProviderAccessAwsIamRoleFeatureUsage": { - "properties": { - "featureId": { - "type": "object", - "additionalProperties": { - "$ref": "pulumi.json#/Any" - } - }, - "featureType": { - "type": "string" - } - }, - "type": "object", - "required": [ - "featureId", - "featureType" - ], - "language": { - "nodejs": { - "requiredInputs": [] - } - } - }, "mongodbatlas:index/getCloudProviderAccessSetupAwsConfig:getCloudProviderAccessSetupAwsConfig": { "properties": { "atlasAssumedRoleExternalId": { @@ -8032,6 +8044,7 @@ }, "password": { "type": "string", + "deprecationMessage": "this parameter is deprecated and will be removed in version 1.16.0", "secret": true }, "projectId": { @@ -9216,8 +9229,7 @@ "description": "Flag that indicates whether domain restriction is enabled for the connected organization.\n" }, "identityProviderId": { - "type": "string", - "description": "Unique 20-hexadecimal digit string that identifies the IdP.\n" + "type": "string" }, "orgId": { "type": "string", @@ -9419,14 +9431,33 @@ }, "description": "List that contains the configured domains from which users can log in for this IdP.\n" }, + "audienceClaims": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Identifier of the intended recipient of the token.\n" + }, "audienceUri": { "type": "string", "description": "Identifier for the intended audience of the SAML Assertion.\n" }, + "clientId": { + "type": "string", + "description": "Client identifier that is assigned to an application by the Identity Provider.\n" + }, "displayName": { "type": "string", "description": "Human-readable label that identifies the IdP.\n" }, + "groupsClaim": { + "type": "string", + "description": "Identifier of the claim which contains IdP Group IDs in the token.\n" + }, + "idpId": { + "type": "string", + "description": "Unique 20-hexadecimal digit string that identifies the IdP.\n" + }, "issuerUri": { "type": "string", "description": "Identifier for the issuer of the SAML Assertion.\n" @@ -9440,10 +9471,21 @@ "$ref": "#/types/mongodbatlas:index/getFederatedSettingsIdentityProvidersResultPemFileInfo:getFederatedSettingsIdentityProvidersResultPemFileInfo" } }, + "protocol": { + "type": "string", + "description": "The protocol of the identity provider\n" + }, "requestBinding": { "type": "string", "description": "SAML Authentication Request Protocol binding used to send the AuthNRequest. Atlas supports the following binding values:\n- HTTP POST\n- HTTP REDIRECT\n" }, + "requestedScopes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Scopes that MongoDB applications will request from the authorization endpoint.\n" + }, "responseSignatureAlgorithm": { "type": "string", "description": "Algorithm used to encrypt the IdP signature. Atlas supports the following signature algorithm values:\n- SHA-1\n- SHA-256\n" @@ -9459,6 +9501,10 @@ "status": { "type": "string", "description": "Label that indicates whether the identity provider is active. The IdP is Inactive until you map at least one domain to the IdP.\n" + }, + "userClaim": { + "type": "string", + "description": "Identifier of the claim which contains the user ID in the token.\n" } }, "type": "object", @@ -9466,16 +9512,23 @@ "acsUrl", "associatedDomains", "associatedOrgs", + "audienceClaims", "audienceUri", + "clientId", "displayName", + "groupsClaim", + "idpId", "issuerUri", "oktaIdpId", "pemFileInfos", + "protocol", "requestBinding", + "requestedScopes", "responseSignatureAlgorithm", "ssoDebugEnabled", "ssoUrl", - "status" + "status", + "userClaim" ], "language": { "nodejs": { @@ -10663,13 +10716,17 @@ }, "mongodbatlas:index/getOrganizationsResult:getOrganizationsResult": { "properties": { + "apiAccessListRequired": { + "type": "boolean", + "description": "Flag that indicates whether to require API operations to originate from an IP Address added to the API access list for the specified organization.\n" + }, "id": { "type": "string", "description": "Autogenerated Unique ID for this data source.\n" }, "isDeleted": { "type": "boolean", - "description": "Flag that indicates whether this organization has been deleted.\n\nSee [MongoDB Atlas API - Organizations](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Organizations/operation/listOrganizations) Documentation for more information.\n" + "description": "Flag that indicates whether this organization has been deleted.\n" }, "links": { "type": "array", @@ -10677,17 +10734,28 @@ "$ref": "#/types/mongodbatlas:index/getOrganizationsResultLink:getOrganizationsResultLink" } }, + "multiFactorAuthRequired": { + "type": "boolean", + "description": "Flag that indicates whether to require users to set up Multi-Factor Authentication (MFA) before accessing the specified organization. To learn more, see: https://www.mongodb.com/docs/atlas/security-multi-factor-authentication/.\n" + }, "name": { "type": "string", "description": "Human-readable label that identifies the organization.\n" + }, + "restrictEmployeeAccess": { + "type": "boolean", + "description": "Flag that indicates whether to block MongoDB Support from accessing Atlas infrastructure for any deployment in the specified organization without explicit permission. Once this setting is turned on, you can grant MongoDB Support a 24-hour bypass access to the Atlas deployment to resolve support issues. To learn more, see: https://www.mongodb.com/docs/atlas/security-restrict-support-access/.\n\nSee [MongoDB Atlas API - Organizations](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Organizations/operation/listOrganizations) Documentation for more information.\n" } }, "type": "object", "required": [ + "apiAccessListRequired", "id", "isDeleted", "links", - "name" + "multiFactorAuthRequired", + "name", + "restrictEmployeeAccess" ], "language": { "nodejs": { @@ -10916,23 +10984,92 @@ } } }, + "mongodbatlas:index/getProjectIpAddresses:getProjectIpAddresses": { + "properties": { + "services": { + "$ref": "#/types/mongodbatlas:index/getProjectIpAddressesServices:getProjectIpAddressesServices" + } + }, + "type": "object", + "required": [ + "services" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "mongodbatlas:index/getProjectIpAddressesServices:getProjectIpAddressesServices": { + "properties": { + "clusters": { + "type": "array", + "items": { + "$ref": "#/types/mongodbatlas:index/getProjectIpAddressesServicesCluster:getProjectIpAddressesServicesCluster" + } + } + }, + "type": "object", + "required": [ + "clusters" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "mongodbatlas:index/getProjectIpAddressesServicesCluster:getProjectIpAddressesServicesCluster": { + "properties": { + "clusterName": { + "type": "string" + }, + "inbounds": { + "type": "array", + "items": { + "type": "string" + } + }, + "outbounds": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": "object", + "required": [ + "clusterName", + "inbounds", + "outbounds" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "mongodbatlas:index/getProjectLimit:getProjectLimit": { "properties": { "currentUsage": { - "type": "integer" + "type": "integer", + "description": "Amount that indicates the current usage of the limit.\n" }, "defaultLimit": { - "type": "integer" + "type": "integer", + "description": "Default value of the limit.\n" }, "maximumLimit": { - "type": "integer" + "type": "integer", + "description": "Maximum value of the limit.\n" }, "name": { "type": "string", "description": "The unique ID for the project.\n\n\u003e **IMPORTANT:** Either `project_id` or `name` must be configurated.\n" }, "value": { - "type": "integer" + "type": "integer", + "description": "Amount the limit is set to.\n" } }, "type": "object", @@ -10955,10 +11092,12 @@ "type": "array", "items": { "type": "string" - } + }, + "description": "Each string in the array represents a project role assigned to the team. Every user associated with the team inherits these roles. The [MongoDB Documentation](https://www.mongodb.com/docs/atlas/reference/user-roles/#organization-roles) describes the roles a user can have.\n" }, "teamId": { - "type": "string" + "type": "string", + "description": "The unique identifier of the team you want to associate with the project. The team and project must share the same parent organization.\n" } }, "type": "object", @@ -10980,12 +11119,16 @@ }, "created": { "type": "string", - "description": "The ISO-8601-formatted timestamp of when Atlas created the project.\n* `teams.#.team_id` - The unique identifier of the team you want to associate with the project. The team and project must share the same parent organization.\n* `teams.#.role_names` - Each string in the array represents a project role assigned to the team. Every user associated with the team inherits these roles. The [MongoDB Documentation](https://www.mongodb.com/docs/atlas/reference/user-roles/#organization-roles) describes the roles a user can have.\n* `limits.#.name` - Human-readable label that identifies this project limit.\n* `limits.#.value` - Amount the limit is set to.\n* `limits.#.current_usage` - Amount that indicates the current usage of the limit.\n* `limits.#.default_limit` - Default value of the limit.\n* `limits.#.maximum_limit` - Maximum value of the limit.\n" + "description": "The ISO-8601-formatted timestamp of when Atlas created the project.\n" }, "id": { "type": "string", "description": "Autogenerated Unique ID for this data source.\n" }, + "ipAddresses": { + "$ref": "#/types/mongodbatlas:index/getProjectsResultIpAddresses:getProjectsResultIpAddresses", + "description": "IP addresses in a project categorized by services. See IP Addresses.\n" + }, "isCollectDatabaseSpecificsStatisticsEnabled": { "type": "boolean", "description": "Flag that indicates whether to enable statistics in [cluster metrics](https://www.mongodb.com/docs/atlas/monitor-cluster-metrics/) collection for the project.\n" @@ -11014,11 +11157,12 @@ "type": "array", "items": { "$ref": "#/types/mongodbatlas:index/getProjectsResultLimit:getProjectsResultLimit" - } + }, + "description": "The limits for the specified project. See Limits.\n" }, "name": { "type": "string", - "description": "The name of the project you want to create.\n" + "description": "Human-readable label that identifies this project limit.\n" }, "orgId": { "type": "string", @@ -11029,13 +11173,14 @@ }, "regionUsageRestrictions": { "type": "string", - "description": "If GOV_REGIONS_ONLY the project can be used for government regions only, otherwise defaults to standard regions. For more information see [MongoDB Atlas for Government](https://www.mongodb.com/docs/atlas/government/api/#creating-a-project).\n\nSee [MongoDB Atlas API - Projects](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Projects) - [and MongoDB Atlas API - Teams](https://docs.atlas.mongodb.com/reference/api/project-get-teams/) Documentation for more information.\n" + "description": "If GOV_REGIONS_ONLY the project can be used for government regions only, otherwise defaults to standard regions. For more information see [MongoDB Atlas for Government](https://www.mongodb.com/docs/atlas/government/api/#creating-a-project).\n" }, "teams": { "type": "array", "items": { "$ref": "#/types/mongodbatlas:index/getProjectsResultTeam:getProjectsResultTeam" - } + }, + "description": "Returns all teams to which the authenticated user has access in the project. See Teams.\n" } }, "type": "object", @@ -11043,6 +11188,7 @@ "clusterCount", "created", "id", + "ipAddresses", "isCollectDatabaseSpecificsStatisticsEnabled", "isDataExplorerEnabled", "isExtendedStorageSizesEnabled", @@ -11062,23 +11208,92 @@ } } }, + "mongodbatlas:index/getProjectsResultIpAddresses:getProjectsResultIpAddresses": { + "properties": { + "services": { + "$ref": "#/types/mongodbatlas:index/getProjectsResultIpAddressesServices:getProjectsResultIpAddressesServices" + } + }, + "type": "object", + "required": [ + "services" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "mongodbatlas:index/getProjectsResultIpAddressesServices:getProjectsResultIpAddressesServices": { + "properties": { + "clusters": { + "type": "array", + "items": { + "$ref": "#/types/mongodbatlas:index/getProjectsResultIpAddressesServicesCluster:getProjectsResultIpAddressesServicesCluster" + } + } + }, + "type": "object", + "required": [ + "clusters" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "mongodbatlas:index/getProjectsResultIpAddressesServicesCluster:getProjectsResultIpAddressesServicesCluster": { + "properties": { + "clusterName": { + "type": "string" + }, + "inbounds": { + "type": "array", + "items": { + "type": "string" + } + }, + "outbounds": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": "object", + "required": [ + "clusterName", + "inbounds", + "outbounds" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "mongodbatlas:index/getProjectsResultLimit:getProjectsResultLimit": { "properties": { "currentUsage": { - "type": "integer" + "type": "integer", + "description": "Amount that indicates the current usage of the limit.\n" }, "defaultLimit": { - "type": "integer" + "type": "integer", + "description": "Default value of the limit.\n" }, "maximumLimit": { - "type": "integer" + "type": "integer", + "description": "Maximum value of the limit.\n" }, "name": { "type": "string", - "description": "The name of the project you want to create.\n" + "description": "Human-readable label that identifies this project limit.\n" }, "value": { - "type": "integer" + "type": "integer", + "description": "Amount the limit is set to.\n" } }, "type": "object", @@ -11101,10 +11316,12 @@ "type": "array", "items": { "type": "string" - } + }, + "description": "Each string in the array represents a project role assigned to the team. Every user associated with the team inherits these roles. The [MongoDB Documentation](https://www.mongodb.com/docs/atlas/reference/user-roles/#organization-roles) describes the roles a user can have.\n" }, "teamId": { - "type": "string" + "type": "string", + "description": "The unique identifier of the team you want to associate with the project. The team and project must share the same parent organization.\n" } }, "type": "object", @@ -11122,11 +11339,11 @@ "properties": { "instanceSize": { "type": "string", - "description": "(Required) Hardware specification for the search node instance sizes. The [MongoDB Atlas API](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Atlas-Search/operation/createAtlasSearchDeployment) describes the valid values. More details can also be found in the [Search Node Documentation](https://www.mongodb.com/docs/atlas/cluster-config/multi-cloud-distribution/#search-tier).\n" + "description": "Hardware specification for the search node instance sizes. The [MongoDB Atlas API](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Atlas-Search/operation/createAtlasSearchDeployment) describes the valid values. More details can also be found in the [Search Node Documentation](https://www.mongodb.com/docs/atlas/cluster-config/multi-cloud-distribution/#search-tier).\n" }, "nodeCount": { "type": "integer", - "description": "(Required) Number of search nodes in the cluster.\n" + "description": "Number of search nodes in the cluster.\n" } }, "type": "object", @@ -11215,7 +11432,8 @@ "description": "[Analyzer](https://docs.atlas.mongodb.com/reference/atlas-search/analyzers/#std-label-analyzers-ref) to use when searching the index.\n" }, "status": { - "type": "string" + "type": "string", + "description": "Current status of the index.\n" }, "synonyms": { "type": "array", @@ -12329,7 +12547,7 @@ } }, "mongodbatlas:index/apiKey:ApiKey": { - "description": "\n\n## Import\n\nAPI Keys must be imported using org ID, API Key ID e.g.\n\n```sh\n $ pulumi import mongodbatlas:index/apiKey:ApiKey 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/createApiKey) Documentation for more information.\n\n", + "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 = new mongodbatlas.ApiKey(\"test\", {\n description: \"key-name\",\n orgId: \"\u003cORG_ID\u003e\",\n roleNames: [\"ORG_READ_ONLY\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\ntest = mongodbatlas.ApiKey(\"test\",\n description=\"key-name\",\n org_id=\"\u003cORG_ID\u003e\",\n role_names=[\"ORG_READ_ONLY\"])\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.ApiKey(\"test\", new()\n {\n Description = \"key-name\",\n OrgId = \"\u003cORG_ID\u003e\",\n RoleNames = new[]\n {\n \"ORG_READ_ONLY\",\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.NewApiKey(ctx, \"test\", \u0026mongodbatlas.ApiKeyArgs{\n\t\t\tDescription: pulumi.String(\"key-name\"),\n\t\t\tOrgId: pulumi.String(\"\u003cORG_ID\u003e\"),\n\t\t\tRoleNames: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ORG_READ_ONLY\"),\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.ApiKey;\nimport com.pulumi.mongodbatlas.ApiKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new ApiKey(\"test\", ApiKeyArgs.builder() \n .description(\"key-name\")\n .orgId(\"\u003cORG_ID\u003e\")\n .roleNames(\"ORG_READ_ONLY\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: mongodbatlas:ApiKey\n properties:\n description: key-name\n orgId: \u003cORG_ID\u003e\n roleNames:\n - ORG_READ_ONLY\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAPI Keys must be imported using org ID, API Key ID e.g.\n\n```sh\n $ pulumi import mongodbatlas:index/apiKey:ApiKey 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/createApiKey) Documentation for more information.\n\n", "properties": { "apiKeyId": { "type": "string", @@ -12575,10 +12793,7 @@ "authorizedEmail", "authorizedUserFirstName", "authorizedUserLastName", - "copyProtectionEnabled", - "encryptionAtRestEnabled", "onDemandPolicyItem", - "pitEnabled", "projectId", "restoreWindowDays", "state", @@ -12644,10 +12859,7 @@ "authorizedEmail", "authorizedUserFirstName", "authorizedUserLastName", - "copyProtectionEnabled", - "encryptionAtRestEnabled", "onDemandPolicyItem", - "pitEnabled", "projectId" ], "stateInputs": { @@ -13589,139 +13801,21 @@ }, "projectId": { "type": "string", - "description": "The unique identifier of the project for the Atlas cluster whose snapshot you want to restore.\n", - "willReplaceOnChanges": true - }, - "snapshotId": { - "type": "string", - "description": "Unique identifier of the snapshot to restore.\n", - "willReplaceOnChanges": true - }, - "snapshotRestoreJobId": { - "type": "string", - "description": "The unique identifier of the restore job.\n" - }, - "timestamp": { - "type": "string", - "description": "Timestamp in ISO 8601 date and time format in UTC when the snapshot associated to snapshotId was taken.\n" - } - }, - "type": "object" - } - }, - "mongodbatlas:index/cloudProviderAccess:CloudProviderAccess": { - "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst testRole = new mongodbatlas.CloudProviderAccess(\"testRole\", {\n projectId: \"64259ee860c43338194b0f8e\",\n providerName: \"AWS\",\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\ntest_role = mongodbatlas.CloudProviderAccess(\"testRole\",\n project_id=\"64259ee860c43338194b0f8e\",\n provider_name=\"AWS\")\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 testRole = new Mongodbatlas.CloudProviderAccess(\"testRole\", new()\n {\n ProjectId = \"64259ee860c43338194b0f8e\",\n ProviderName = \"AWS\",\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.NewCloudProviderAccess(ctx, \"testRole\", \u0026mongodbatlas.CloudProviderAccessArgs{\n\t\t\tProjectId: pulumi.String(\"64259ee860c43338194b0f8e\"),\n\t\t\tProviderName: pulumi.String(\"AWS\"),\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.CloudProviderAccess;\nimport com.pulumi.mongodbatlas.CloudProviderAccessArgs;\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 testRole = new CloudProviderAccess(\"testRole\", CloudProviderAccessArgs.builder() \n .projectId(\"64259ee860c43338194b0f8e\")\n .providerName(\"AWS\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testRole:\n type: mongodbatlas:CloudProviderAccess\n properties:\n projectId: 64259ee860c43338194b0f8e\n providerName: AWS\n```\n\n{{% /example %}}\n{{% example %}}\n### With AWS\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst testRole = new mongodbatlas.CloudProviderAccessSetup(\"testRole\", {\n projectId: \"64259ee860c43338194b0f8e\",\n providerName: \"AWS\",\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\ntest_role = mongodbatlas.CloudProviderAccessSetup(\"testRole\",\n project_id=\"64259ee860c43338194b0f8e\",\n provider_name=\"AWS\")\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 testRole = new Mongodbatlas.CloudProviderAccessSetup(\"testRole\", new()\n {\n ProjectId = \"64259ee860c43338194b0f8e\",\n ProviderName = \"AWS\",\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.NewCloudProviderAccessSetup(ctx, \"testRole\", \u0026mongodbatlas.CloudProviderAccessSetupArgs{\n\t\t\tProjectId: pulumi.String(\"64259ee860c43338194b0f8e\"),\n\t\t\tProviderName: pulumi.String(\"AWS\"),\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.CloudProviderAccessSetup;\nimport com.pulumi.mongodbatlas.CloudProviderAccessSetupArgs;\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 testRole = new CloudProviderAccessSetup(\"testRole\", CloudProviderAccessSetupArgs.builder() \n .projectId(\"64259ee860c43338194b0f8e\")\n .providerName(\"AWS\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testRole:\n type: mongodbatlas:CloudProviderAccessSetup\n properties:\n projectId: 64259ee860c43338194b0f8e\n providerName: AWS\n```\n\n{{% /example %}}\n{{% example %}}\n### With Azure\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst testRole = new mongodbatlas.CloudProviderAccessSetup(\"testRole\", {\n azureConfigs: [{\n atlasAzureAppId: \"9f2deb0d-be22-4524-a403-df531868bac0\",\n servicePrincipalId: \"22f1d2a6-d0e9-482a-83a4-b8dd7dddc2c1\",\n tenantId: \"91402384-d71e-22f5-22dd-759e272cdc1c\",\n }],\n projectId: \"64259ee860c43338194b0f8e\",\n providerName: \"AZURE\",\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\ntest_role = mongodbatlas.CloudProviderAccessSetup(\"testRole\",\n azure_configs=[mongodbatlas.CloudProviderAccessSetupAzureConfigArgs(\n atlas_azure_app_id=\"9f2deb0d-be22-4524-a403-df531868bac0\",\n service_principal_id=\"22f1d2a6-d0e9-482a-83a4-b8dd7dddc2c1\",\n tenant_id=\"91402384-d71e-22f5-22dd-759e272cdc1c\",\n )],\n project_id=\"64259ee860c43338194b0f8e\",\n provider_name=\"AZURE\")\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 testRole = new Mongodbatlas.CloudProviderAccessSetup(\"testRole\", new()\n {\n AzureConfigs = new[]\n {\n new Mongodbatlas.Inputs.CloudProviderAccessSetupAzureConfigArgs\n {\n AtlasAzureAppId = \"9f2deb0d-be22-4524-a403-df531868bac0\",\n ServicePrincipalId = \"22f1d2a6-d0e9-482a-83a4-b8dd7dddc2c1\",\n TenantId = \"91402384-d71e-22f5-22dd-759e272cdc1c\",\n },\n },\n ProjectId = \"64259ee860c43338194b0f8e\",\n ProviderName = \"AZURE\",\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.NewCloudProviderAccessSetup(ctx, \"testRole\", \u0026mongodbatlas.CloudProviderAccessSetupArgs{\n\t\t\tAzureConfigs: mongodbatlas.CloudProviderAccessSetupAzureConfigArray{\n\t\t\t\t\u0026mongodbatlas.CloudProviderAccessSetupAzureConfigArgs{\n\t\t\t\t\tAtlasAzureAppId: pulumi.String(\"9f2deb0d-be22-4524-a403-df531868bac0\"),\n\t\t\t\t\tServicePrincipalId: pulumi.String(\"22f1d2a6-d0e9-482a-83a4-b8dd7dddc2c1\"),\n\t\t\t\t\tTenantId: pulumi.String(\"91402384-d71e-22f5-22dd-759e272cdc1c\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tProjectId: pulumi.String(\"64259ee860c43338194b0f8e\"),\n\t\t\tProviderName: pulumi.String(\"AZURE\"),\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.CloudProviderAccessSetup;\nimport com.pulumi.mongodbatlas.CloudProviderAccessSetupArgs;\nimport com.pulumi.mongodbatlas.inputs.CloudProviderAccessSetupAzureConfigArgs;\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 testRole = new CloudProviderAccessSetup(\"testRole\", CloudProviderAccessSetupArgs.builder() \n .azureConfigs(CloudProviderAccessSetupAzureConfigArgs.builder()\n .atlasAzureAppId(\"9f2deb0d-be22-4524-a403-df531868bac0\")\n .servicePrincipalId(\"22f1d2a6-d0e9-482a-83a4-b8dd7dddc2c1\")\n .tenantId(\"91402384-d71e-22f5-22dd-759e272cdc1c\")\n .build())\n .projectId(\"64259ee860c43338194b0f8e\")\n .providerName(\"AZURE\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testRole:\n type: mongodbatlas:CloudProviderAccessSetup\n properties:\n azureConfigs:\n - atlasAzureAppId: 9f2deb0d-be22-4524-a403-df531868bac0\n servicePrincipalId: 22f1d2a6-d0e9-482a-83a4-b8dd7dddc2c1\n tenantId: 91402384-d71e-22f5-22dd-759e272cdc1c\n projectId: 64259ee860c43338194b0f8e\n providerName: AZURE\n```\n\n{{% /example %}}\n{{% example %}}\n### With AWS\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst setupOnly = new mongodbatlas.CloudProviderAccessSetup(\"setupOnly\", {\n projectId: \"64259ee860c43338194b0f8e\",\n providerName: \"AWS\",\n});\nconst authRole = new mongodbatlas.CloudProviderAccessAuthorization(\"authRole\", {\n projectId: setupOnly.projectId,\n roleId: setupOnly.roleId,\n aws: {\n iamAssumedRoleArn: \"arn:aws:iam::772401394250:role/test-user-role\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\nsetup_only = mongodbatlas.CloudProviderAccessSetup(\"setupOnly\",\n project_id=\"64259ee860c43338194b0f8e\",\n provider_name=\"AWS\")\nauth_role = mongodbatlas.CloudProviderAccessAuthorization(\"authRole\",\n project_id=setup_only.project_id,\n role_id=setup_only.role_id,\n aws=mongodbatlas.CloudProviderAccessAuthorizationAwsArgs(\n iam_assumed_role_arn=\"arn:aws:iam::772401394250:role/test-user-role\",\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 setupOnly = new Mongodbatlas.CloudProviderAccessSetup(\"setupOnly\", new()\n {\n ProjectId = \"64259ee860c43338194b0f8e\",\n ProviderName = \"AWS\",\n });\n\n var authRole = new Mongodbatlas.CloudProviderAccessAuthorization(\"authRole\", new()\n {\n ProjectId = setupOnly.ProjectId,\n RoleId = setupOnly.RoleId,\n Aws = new Mongodbatlas.Inputs.CloudProviderAccessAuthorizationAwsArgs\n {\n IamAssumedRoleArn = \"arn:aws:iam::772401394250:role/test-user-role\",\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\tsetupOnly, err := mongodbatlas.NewCloudProviderAccessSetup(ctx, \"setupOnly\", \u0026mongodbatlas.CloudProviderAccessSetupArgs{\n\t\t\tProjectId: pulumi.String(\"64259ee860c43338194b0f8e\"),\n\t\t\tProviderName: pulumi.String(\"AWS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mongodbatlas.NewCloudProviderAccessAuthorization(ctx, \"authRole\", \u0026mongodbatlas.CloudProviderAccessAuthorizationArgs{\n\t\t\tProjectId: setupOnly.ProjectId,\n\t\t\tRoleId: setupOnly.RoleId,\n\t\t\tAws: \u0026mongodbatlas.CloudProviderAccessAuthorizationAwsArgs{\n\t\t\t\tIamAssumedRoleArn: pulumi.String(\"arn:aws:iam::772401394250:role/test-user-role\"),\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.CloudProviderAccessSetup;\nimport com.pulumi.mongodbatlas.CloudProviderAccessSetupArgs;\nimport com.pulumi.mongodbatlas.CloudProviderAccessAuthorization;\nimport com.pulumi.mongodbatlas.CloudProviderAccessAuthorizationArgs;\nimport com.pulumi.mongodbatlas.inputs.CloudProviderAccessAuthorizationAwsArgs;\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 setupOnly = new CloudProviderAccessSetup(\"setupOnly\", CloudProviderAccessSetupArgs.builder() \n .projectId(\"64259ee860c43338194b0f8e\")\n .providerName(\"AWS\")\n .build());\n\n var authRole = new CloudProviderAccessAuthorization(\"authRole\", CloudProviderAccessAuthorizationArgs.builder() \n .projectId(setupOnly.projectId())\n .roleId(setupOnly.roleId())\n .aws(CloudProviderAccessAuthorizationAwsArgs.builder()\n .iamAssumedRoleArn(\"arn:aws:iam::772401394250:role/test-user-role\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n setupOnly:\n type: mongodbatlas:CloudProviderAccessSetup\n properties:\n projectId: 64259ee860c43338194b0f8e\n providerName: AWS\n authRole:\n type: mongodbatlas:CloudProviderAccessAuthorization\n properties:\n projectId: ${setupOnly.projectId}\n roleId: ${setupOnly.roleId}\n aws:\n iamAssumedRoleArn: arn:aws:iam::772401394250:role/test-user-role\n```\n\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst setupOnly = new mongodbatlas.CloudProviderAccessSetup(\"setupOnly\", {\n projectId: \"64259ee860c43338194b0f8e\",\n providerName: \"AZURE\",\n azureConfigs: [{\n atlasAzureAppId: \"9f2deb0d-be22-4524-a403-df531868bac0\",\n servicePrincipalId: \"22f1d2a6-d0e9-482a-83a4-b8dd7dddc2c1\",\n tenantId: \"91402384-d71e-22f5-22dd-759e272cdc1c\",\n }],\n});\nconst authRole = new mongodbatlas.CloudProviderAccessAuthorization(\"authRole\", {\n projectId: setupOnly.projectId,\n roleId: setupOnly.roleId,\n azure: {\n atlasAzureAppId: \"9f2deb0d-be22-4524-a403-df531868bac0\",\n servicePrincipalId: \"22f1d2a6-d0e9-482a-83a4-b8dd7dddc2c1\",\n tenantId: \"91402384-d71e-22f5-22dd-759e272cdc1c\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\nsetup_only = mongodbatlas.CloudProviderAccessSetup(\"setupOnly\",\n project_id=\"64259ee860c43338194b0f8e\",\n provider_name=\"AZURE\",\n azure_configs=[mongodbatlas.CloudProviderAccessSetupAzureConfigArgs(\n atlas_azure_app_id=\"9f2deb0d-be22-4524-a403-df531868bac0\",\n service_principal_id=\"22f1d2a6-d0e9-482a-83a4-b8dd7dddc2c1\",\n tenant_id=\"91402384-d71e-22f5-22dd-759e272cdc1c\",\n )])\nauth_role = mongodbatlas.CloudProviderAccessAuthorization(\"authRole\",\n project_id=setup_only.project_id,\n role_id=setup_only.role_id,\n azure=mongodbatlas.CloudProviderAccessAuthorizationAzureArgs(\n atlas_azure_app_id=\"9f2deb0d-be22-4524-a403-df531868bac0\",\n service_principal_id=\"22f1d2a6-d0e9-482a-83a4-b8dd7dddc2c1\",\n tenant_id=\"91402384-d71e-22f5-22dd-759e272cdc1c\",\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 setupOnly = new Mongodbatlas.CloudProviderAccessSetup(\"setupOnly\", new()\n {\n ProjectId = \"64259ee860c43338194b0f8e\",\n ProviderName = \"AZURE\",\n AzureConfigs = new[]\n {\n new Mongodbatlas.Inputs.CloudProviderAccessSetupAzureConfigArgs\n {\n AtlasAzureAppId = \"9f2deb0d-be22-4524-a403-df531868bac0\",\n ServicePrincipalId = \"22f1d2a6-d0e9-482a-83a4-b8dd7dddc2c1\",\n TenantId = \"91402384-d71e-22f5-22dd-759e272cdc1c\",\n },\n },\n });\n\n var authRole = new Mongodbatlas.CloudProviderAccessAuthorization(\"authRole\", new()\n {\n ProjectId = setupOnly.ProjectId,\n RoleId = setupOnly.RoleId,\n Azure = new Mongodbatlas.Inputs.CloudProviderAccessAuthorizationAzureArgs\n {\n AtlasAzureAppId = \"9f2deb0d-be22-4524-a403-df531868bac0\",\n ServicePrincipalId = \"22f1d2a6-d0e9-482a-83a4-b8dd7dddc2c1\",\n TenantId = \"91402384-d71e-22f5-22dd-759e272cdc1c\",\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\tsetupOnly, err := mongodbatlas.NewCloudProviderAccessSetup(ctx, \"setupOnly\", \u0026mongodbatlas.CloudProviderAccessSetupArgs{\n\t\t\tProjectId: pulumi.String(\"64259ee860c43338194b0f8e\"),\n\t\t\tProviderName: pulumi.String(\"AZURE\"),\n\t\t\tAzureConfigs: mongodbatlas.CloudProviderAccessSetupAzureConfigArray{\n\t\t\t\t\u0026mongodbatlas.CloudProviderAccessSetupAzureConfigArgs{\n\t\t\t\t\tAtlasAzureAppId: pulumi.String(\"9f2deb0d-be22-4524-a403-df531868bac0\"),\n\t\t\t\t\tServicePrincipalId: pulumi.String(\"22f1d2a6-d0e9-482a-83a4-b8dd7dddc2c1\"),\n\t\t\t\t\tTenantId: pulumi.String(\"91402384-d71e-22f5-22dd-759e272cdc1c\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mongodbatlas.NewCloudProviderAccessAuthorization(ctx, \"authRole\", \u0026mongodbatlas.CloudProviderAccessAuthorizationArgs{\n\t\t\tProjectId: setupOnly.ProjectId,\n\t\t\tRoleId: setupOnly.RoleId,\n\t\t\tAzure: \u0026mongodbatlas.CloudProviderAccessAuthorizationAzureArgs{\n\t\t\t\tAtlasAzureAppId: pulumi.String(\"9f2deb0d-be22-4524-a403-df531868bac0\"),\n\t\t\t\tServicePrincipalId: pulumi.String(\"22f1d2a6-d0e9-482a-83a4-b8dd7dddc2c1\"),\n\t\t\t\tTenantId: pulumi.String(\"91402384-d71e-22f5-22dd-759e272cdc1c\"),\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.CloudProviderAccessSetup;\nimport com.pulumi.mongodbatlas.CloudProviderAccessSetupArgs;\nimport com.pulumi.mongodbatlas.inputs.CloudProviderAccessSetupAzureConfigArgs;\nimport com.pulumi.mongodbatlas.CloudProviderAccessAuthorization;\nimport com.pulumi.mongodbatlas.CloudProviderAccessAuthorizationArgs;\nimport com.pulumi.mongodbatlas.inputs.CloudProviderAccessAuthorizationAzureArgs;\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 setupOnly = new CloudProviderAccessSetup(\"setupOnly\", CloudProviderAccessSetupArgs.builder() \n .projectId(\"64259ee860c43338194b0f8e\")\n .providerName(\"AZURE\")\n .azureConfigs(CloudProviderAccessSetupAzureConfigArgs.builder()\n .atlasAzureAppId(\"9f2deb0d-be22-4524-a403-df531868bac0\")\n .servicePrincipalId(\"22f1d2a6-d0e9-482a-83a4-b8dd7dddc2c1\")\n .tenantId(\"91402384-d71e-22f5-22dd-759e272cdc1c\")\n .build())\n .build());\n\n var authRole = new CloudProviderAccessAuthorization(\"authRole\", CloudProviderAccessAuthorizationArgs.builder() \n .projectId(setupOnly.projectId())\n .roleId(setupOnly.roleId())\n .azure(CloudProviderAccessAuthorizationAzureArgs.builder()\n .atlasAzureAppId(\"9f2deb0d-be22-4524-a403-df531868bac0\")\n .servicePrincipalId(\"22f1d2a6-d0e9-482a-83a4-b8dd7dddc2c1\")\n .tenantId(\"91402384-d71e-22f5-22dd-759e272cdc1c\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n setupOnly:\n type: mongodbatlas:CloudProviderAccessSetup\n properties:\n projectId: 64259ee860c43338194b0f8e\n providerName: AZURE\n azureConfigs:\n - atlasAzureAppId: 9f2deb0d-be22-4524-a403-df531868bac0\n servicePrincipalId: 22f1d2a6-d0e9-482a-83a4-b8dd7dddc2c1\n tenantId: 91402384-d71e-22f5-22dd-759e272cdc1c\n authRole:\n type: mongodbatlas:CloudProviderAccessAuthorization\n properties:\n projectId: ${setupOnly.projectId}\n roleId: ${setupOnly.roleId}\n azure:\n atlasAzureAppId: 9f2deb0d-be22-4524-a403-df531868bac0\n servicePrincipalId: 22f1d2a6-d0e9-482a-83a4-b8dd7dddc2c1\n tenantId: 91402384-d71e-22f5-22dd-759e272cdc1c\n```\n\n{{% /example %}}\n{{% /examples %}}\n## Authorize role\n\nOnce the resource is created add the field `iam_assumed_role_arn` see [Set Up Unified AWS Access](https://docs.atlas.mongodb.com/security/set-up-unified-aws-access/#set-up-unified-aws-access) , and execute a new `pulumi up` this will create a PATCH request.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst testRole = new mongodbatlas.CloudProviderAccess(\"testRole\", {\n iamAssumedRoleArn: \"arn:aws:iam::772401394250:role/test-user-role\",\n projectId: \"\u003cPROJECT-ID\u003e\",\n providerName: \"AWS\",\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\ntest_role = mongodbatlas.CloudProviderAccess(\"testRole\",\n iam_assumed_role_arn=\"arn:aws:iam::772401394250:role/test-user-role\",\n project_id=\"\u003cPROJECT-ID\u003e\",\n provider_name=\"AWS\")\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 testRole = new Mongodbatlas.CloudProviderAccess(\"testRole\", new()\n {\n IamAssumedRoleArn = \"arn:aws:iam::772401394250:role/test-user-role\",\n ProjectId = \"\u003cPROJECT-ID\u003e\",\n ProviderName = \"AWS\",\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.NewCloudProviderAccess(ctx, \"testRole\", \u0026mongodbatlas.CloudProviderAccessArgs{\n\t\t\tIamAssumedRoleArn: pulumi.String(\"arn:aws:iam::772401394250:role/test-user-role\"),\n\t\t\tProjectId: pulumi.String(\"\u003cPROJECT-ID\u003e\"),\n\t\t\tProviderName: pulumi.String(\"AWS\"),\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.CloudProviderAccess;\nimport com.pulumi.mongodbatlas.CloudProviderAccessArgs;\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 testRole = new CloudProviderAccess(\"testRole\", CloudProviderAccessArgs.builder() \n .iamAssumedRoleArn(\"arn:aws:iam::772401394250:role/test-user-role\")\n .projectId(\"\u003cPROJECT-ID\u003e\")\n .providerName(\"AWS\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testRole:\n type: mongodbatlas:CloudProviderAccess\n properties:\n iamAssumedRoleArn: arn:aws:iam::772401394250:role/test-user-role\n projectId: \u003cPROJECT-ID\u003e\n providerName: AWS\n```\n\n\n## Import\n\nThe Cloud Provider Access resource can be imported using project ID and the provider name and mongodbatlas role id, in the format `project_id`-`provider_name`-`role_id`, e.g.\n\n```sh\n $ pulumi import mongodbatlas:index/cloudProviderAccess:CloudProviderAccess my_role 1112222b3bf99403840e8934-AWS-5fc17d476f7a33224f5b224e\n```\n See [MongoDB Atlas API](https://docs.atlas.mongodb.com/reference/api/cloud-provider-access-create-one-role/) Documentation for more information.\n\n", - "properties": { - "atlasAssumedRoleExternalId": { - "type": "string", - "description": "Unique external ID Atlas uses when assuming the IAM role in your AWS account.\n" - }, - "atlasAwsAccountArn": { - "type": "string", - "description": "ARN associated with the Atlas AWS account used to assume IAM roles in your AWS account.\n" - }, - "authorizedDate": { - "type": "string", - "description": "Date on which this role was authorized.\n" - }, - "createdDate": { - "type": "string", - "description": "Date on which this role was created.\n" - }, - "featureUsages": { - "type": "array", - "items": { - "$ref": "#/types/mongodbatlas:index/CloudProviderAccessFeatureUsage:CloudProviderAccessFeatureUsage" - }, - "description": "Atlas features this AWS IAM role is linked to.\n" - }, - "iamAssumedRoleArn": { - "type": "string", - "description": "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).\n" - }, - "projectId": { - "type": "string", - "description": "The unique ID for the project\n" - }, - "providerName": { - "type": "string", - "description": "The cloud provider for which to create a new role. Currently only AWS is supported.\n" - }, - "roleId": { - "type": "string", - "description": "Unique ID of this role returned by mongodb atlas api\n\nConditional\n" - } - }, - "required": [ - "atlasAssumedRoleExternalId", - "atlasAwsAccountArn", - "authorizedDate", - "createdDate", - "featureUsages", - "iamAssumedRoleArn", - "projectId", - "providerName", - "roleId" - ], - "inputProperties": { - "iamAssumedRoleArn": { - "type": "string", - "description": "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).\n" - }, - "projectId": { - "type": "string", - "description": "The unique ID for the project\n" - }, - "providerName": { - "type": "string", - "description": "The cloud provider for which to create a new role. Currently only AWS is supported.\n" - } - }, - "requiredInputs": [ - "projectId", - "providerName" - ], - "stateInputs": { - "description": "Input properties used for looking up and filtering CloudProviderAccess resources.\n", - "properties": { - "atlasAssumedRoleExternalId": { - "type": "string", - "description": "Unique external ID Atlas uses when assuming the IAM role in your AWS account.\n" - }, - "atlasAwsAccountArn": { - "type": "string", - "description": "ARN associated with the Atlas AWS account used to assume IAM roles in your AWS account.\n" - }, - "authorizedDate": { - "type": "string", - "description": "Date on which this role was authorized.\n" - }, - "createdDate": { - "type": "string", - "description": "Date on which this role was created.\n" - }, - "featureUsages": { - "type": "array", - "items": { - "$ref": "#/types/mongodbatlas:index/CloudProviderAccessFeatureUsage:CloudProviderAccessFeatureUsage" - }, - "description": "Atlas features this AWS IAM role is linked to.\n" - }, - "iamAssumedRoleArn": { - "type": "string", - "description": "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).\n" + "description": "The unique identifier of the project for the Atlas cluster whose snapshot you want to restore.\n", + "willReplaceOnChanges": true }, - "projectId": { + "snapshotId": { "type": "string", - "description": "The unique ID for the project\n" + "description": "Unique identifier of the snapshot to restore.\n", + "willReplaceOnChanges": true }, - "providerName": { + "snapshotRestoreJobId": { "type": "string", - "description": "The cloud provider for which to create a new role. Currently only AWS is supported.\n" + "description": "The unique identifier of the restore job.\n" }, - "roleId": { + "timestamp": { "type": "string", - "description": "Unique ID of this role returned by mongodb atlas api\n\nConditional\n" + "description": "Timestamp in ISO 8601 date and time format in UTC when the snapshot associated to snapshotId was taken.\n" } }, "type": "object" @@ -15441,10 +15535,13 @@ } }, "required": [ + "cloudProviderConfig", + "dataProcessRegion", "hostnames", "name", "projectId", "state", + "storageDatabases", "storageStores" ], "inputProperties": { @@ -15460,7 +15557,8 @@ }, "projectId": { "type": "string", - "description": "The unique ID for the project to create a Federated Database Instance.\n" + "description": "The unique ID for the project to create a Federated Database Instance.\n", + "willReplaceOnChanges": true }, "storageDatabases": { "type": "array", @@ -15502,7 +15600,8 @@ }, "projectId": { "type": "string", - "description": "The unique ID for the project to create a Federated Database Instance.\n" + "description": "The unique ID for the project to create a Federated Database Instance.\n", + "willReplaceOnChanges": true }, "state": { "type": "string", @@ -15651,7 +15750,7 @@ } }, "mongodbatlas:index/federatedSettingsIdentityProvider:FederatedSettingsIdentityProvider": { - "description": "`mongodbatlas.FederatedSettingsIdentityProvider` provides an Atlas federated settings identity provider resource provides a subset of settings to be maintained post import of the existing resource.\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n\u003e **IMPORTANT** You **MUST** import this resource before you can manage it with this provider. \n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst identityProvider = new mongodbatlas.FederatedSettingsIdentityProvider(\"identityProvider\", {\n associatedDomains: [\"yourdomain.com\"],\n federationSettingsId: \"627a9687f7f7f7f774de306f14\",\n issuerUri: \"http://www.okta.com/exk17q7f7f7f7fp50h8\",\n requestBinding: \"HTTP-POST\",\n responseSignatureAlgorithm: \"SHA-256\",\n ssoDebugEnabled: true,\n ssoUrl: \"https://mysso.oktapreview.com/app/mysso_terraformtestsso/exk17q7f7f7f7f50h8/sso/saml\",\n status: \"ACTIVE\",\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\nidentity_provider = mongodbatlas.FederatedSettingsIdentityProvider(\"identityProvider\",\n associated_domains=[\"yourdomain.com\"],\n federation_settings_id=\"627a9687f7f7f7f774de306f14\",\n issuer_uri=\"http://www.okta.com/exk17q7f7f7f7fp50h8\",\n request_binding=\"HTTP-POST\",\n response_signature_algorithm=\"SHA-256\",\n sso_debug_enabled=True,\n sso_url=\"https://mysso.oktapreview.com/app/mysso_terraformtestsso/exk17q7f7f7f7f50h8/sso/saml\",\n status=\"ACTIVE\")\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 identityProvider = new Mongodbatlas.FederatedSettingsIdentityProvider(\"identityProvider\", new()\n {\n AssociatedDomains = new[]\n {\n \"yourdomain.com\",\n },\n FederationSettingsId = \"627a9687f7f7f7f774de306f14\",\n IssuerUri = \"http://www.okta.com/exk17q7f7f7f7fp50h8\",\n RequestBinding = \"HTTP-POST\",\n ResponseSignatureAlgorithm = \"SHA-256\",\n SsoDebugEnabled = true,\n SsoUrl = \"https://mysso.oktapreview.com/app/mysso_terraformtestsso/exk17q7f7f7f7f50h8/sso/saml\",\n Status = \"ACTIVE\",\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.NewFederatedSettingsIdentityProvider(ctx, \"identityProvider\", \u0026mongodbatlas.FederatedSettingsIdentityProviderArgs{\n\t\t\tAssociatedDomains: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"yourdomain.com\"),\n\t\t\t},\n\t\t\tFederationSettingsId: pulumi.String(\"627a9687f7f7f7f774de306f14\"),\n\t\t\tIssuerUri: pulumi.String(\"http://www.okta.com/exk17q7f7f7f7fp50h8\"),\n\t\t\tRequestBinding: pulumi.String(\"HTTP-POST\"),\n\t\t\tResponseSignatureAlgorithm: pulumi.String(\"SHA-256\"),\n\t\t\tSsoDebugEnabled: pulumi.Bool(true),\n\t\t\tSsoUrl: pulumi.String(\"https://mysso.oktapreview.com/app/mysso_terraformtestsso/exk17q7f7f7f7f50h8/sso/saml\"),\n\t\t\tStatus: pulumi.String(\"ACTIVE\"),\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.FederatedSettingsIdentityProvider;\nimport com.pulumi.mongodbatlas.FederatedSettingsIdentityProviderArgs;\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 identityProvider = new FederatedSettingsIdentityProvider(\"identityProvider\", FederatedSettingsIdentityProviderArgs.builder() \n .associatedDomains(\"yourdomain.com\")\n .federationSettingsId(\"627a9687f7f7f7f774de306f14\")\n .issuerUri(\"http://www.okta.com/exk17q7f7f7f7fp50h8\")\n .requestBinding(\"HTTP-POST\")\n .responseSignatureAlgorithm(\"SHA-256\")\n .ssoDebugEnabled(true)\n .ssoUrl(\"https://mysso.oktapreview.com/app/mysso_terraformtestsso/exk17q7f7f7f7f50h8/sso/saml\")\n .status(\"ACTIVE\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n identityProvider:\n type: mongodbatlas:FederatedSettingsIdentityProvider\n properties:\n associatedDomains:\n - yourdomain.com\n federationSettingsId: 627a9687f7f7f7f774de306f14\n issuerUri: http://www.okta.com/exk17q7f7f7f7fp50h8\n requestBinding: HTTP-POST\n responseSignatureAlgorithm: SHA-256\n ssoDebugEnabled: true\n ssoUrl: https://mysso.oktapreview.com/app/mysso_terraformtestsso/exk17q7f7f7f7f50h8/sso/saml\n status: ACTIVE\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIdentity Provider __must__ be imported before using federation_settings_id-idp_id, e.g.\n\n```sh\n $ pulumi import mongodbatlas:index/federatedSettingsIdentityProvider:FederatedSettingsIdentityProvider identity_provider 6287a663c660f52b1c441c6c-0oad4fas87jL5Xnk1297\n```\n For more information see[MongoDB Atlas API Reference.](https://www.mongodb.com/docs/atlas/reference/api/federation-configuration/)\n\n", + "description": "`mongodbatlas.FederatedSettingsIdentityProvider` provides an Atlas federated settings identity provider resource provides a subset of settings to be maintained post import of the existing resource.\n\n\u003e **NOTE:** OIDC Workforce IdP is currently in preview. To learn more about OIDC and existing limitations see the [OIDC Authentication Documentation](https://www.mongodb.com/docs/atlas/security-oidc/).\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n\u003e **IMPORTANT** You **MUST** import this resource before you can manage it with this provider. \n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst identityProvider = new mongodbatlas.FederatedSettingsIdentityProvider(\"identityProvider\", {\n associatedDomains: [\"yourdomain.com\"],\n federationSettingsId: \"627a9687f7f7f7f774de306f14\",\n issuerUri: \"http://www.okta.com/exk17q7f7f7f7fp50h8\",\n requestBinding: \"HTTP-POST\",\n responseSignatureAlgorithm: \"SHA-256\",\n ssoDebugEnabled: true,\n ssoUrl: \"https://mysso.oktapreview.com/app/mysso_terraformtestsso/exk17q7f7f7f7f50h8/sso/saml\",\n status: \"ACTIVE\",\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\nidentity_provider = mongodbatlas.FederatedSettingsIdentityProvider(\"identityProvider\",\n associated_domains=[\"yourdomain.com\"],\n federation_settings_id=\"627a9687f7f7f7f774de306f14\",\n issuer_uri=\"http://www.okta.com/exk17q7f7f7f7fp50h8\",\n request_binding=\"HTTP-POST\",\n response_signature_algorithm=\"SHA-256\",\n sso_debug_enabled=True,\n sso_url=\"https://mysso.oktapreview.com/app/mysso_terraformtestsso/exk17q7f7f7f7f50h8/sso/saml\",\n status=\"ACTIVE\")\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 identityProvider = new Mongodbatlas.FederatedSettingsIdentityProvider(\"identityProvider\", new()\n {\n AssociatedDomains = new[]\n {\n \"yourdomain.com\",\n },\n FederationSettingsId = \"627a9687f7f7f7f774de306f14\",\n IssuerUri = \"http://www.okta.com/exk17q7f7f7f7fp50h8\",\n RequestBinding = \"HTTP-POST\",\n ResponseSignatureAlgorithm = \"SHA-256\",\n SsoDebugEnabled = true,\n SsoUrl = \"https://mysso.oktapreview.com/app/mysso_terraformtestsso/exk17q7f7f7f7f50h8/sso/saml\",\n Status = \"ACTIVE\",\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.NewFederatedSettingsIdentityProvider(ctx, \"identityProvider\", \u0026mongodbatlas.FederatedSettingsIdentityProviderArgs{\n\t\t\tAssociatedDomains: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"yourdomain.com\"),\n\t\t\t},\n\t\t\tFederationSettingsId: pulumi.String(\"627a9687f7f7f7f774de306f14\"),\n\t\t\tIssuerUri: pulumi.String(\"http://www.okta.com/exk17q7f7f7f7fp50h8\"),\n\t\t\tRequestBinding: pulumi.String(\"HTTP-POST\"),\n\t\t\tResponseSignatureAlgorithm: pulumi.String(\"SHA-256\"),\n\t\t\tSsoDebugEnabled: pulumi.Bool(true),\n\t\t\tSsoUrl: pulumi.String(\"https://mysso.oktapreview.com/app/mysso_terraformtestsso/exk17q7f7f7f7f50h8/sso/saml\"),\n\t\t\tStatus: pulumi.String(\"ACTIVE\"),\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.FederatedSettingsIdentityProvider;\nimport com.pulumi.mongodbatlas.FederatedSettingsIdentityProviderArgs;\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 identityProvider = new FederatedSettingsIdentityProvider(\"identityProvider\", FederatedSettingsIdentityProviderArgs.builder() \n .associatedDomains(\"yourdomain.com\")\n .federationSettingsId(\"627a9687f7f7f7f774de306f14\")\n .issuerUri(\"http://www.okta.com/exk17q7f7f7f7fp50h8\")\n .requestBinding(\"HTTP-POST\")\n .responseSignatureAlgorithm(\"SHA-256\")\n .ssoDebugEnabled(true)\n .ssoUrl(\"https://mysso.oktapreview.com/app/mysso_terraformtestsso/exk17q7f7f7f7f50h8/sso/saml\")\n .status(\"ACTIVE\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n identityProvider:\n type: mongodbatlas:FederatedSettingsIdentityProvider\n properties:\n associatedDomains:\n - yourdomain.com\n federationSettingsId: 627a9687f7f7f7f774de306f14\n issuerUri: http://www.okta.com/exk17q7f7f7f7fp50h8\n requestBinding: HTTP-POST\n responseSignatureAlgorithm: SHA-256\n ssoDebugEnabled: true\n ssoUrl: https://mysso.oktapreview.com/app/mysso_terraformtestsso/exk17q7f7f7f7f50h8/sso/saml\n status: ACTIVE\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIdentity Provider __must__ be imported before using federation_settings_id-idp_id, e.g.\n\n```sh\n $ pulumi import mongodbatlas:index/federatedSettingsIdentityProvider:FederatedSettingsIdentityProvider identity_provider 6287a663c660f52b1c441c6c-0oad4fas87jL5Xnk1297\n```\n __WARNING:__ Starting from terraform provider version 1.16.0, to import the resource a 24-hexadecimal digit string that identifies the IdP (`idp_id`) will have to be used instead of `okta_idp_id`. See more [here](../guides/1.15.0-upgrade-guide.html.markdown)\n\nFor more information see[MongoDB Atlas API Reference.](https://www.mongodb.com/docs/atlas/reference/api/federation-configuration/)\n\n", "properties": { "associatedDomains": { "type": "array", @@ -15660,13 +15759,32 @@ }, "description": "List that contains the domains associated with the identity provider.\n" }, + "audienceClaims": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Identifier of the intended recipient of the token used in OIDC IdP.\n" + }, + "clientId": { + "type": "string", + "description": "Client identifier that is assigned to an application by the OIDC Identity Provider.\n" + }, "federationSettingsId": { "type": "string", "description": "Unique 24-hexadecimal digit string that identifies the federated authentication configuration.\n" }, + "groupsClaim": { + "type": "string", + "description": "Identifier of the claim which contains OIDC IdP Group IDs in the token.\n" + }, + "idpId": { + "type": "string", + "description": "Unique 24-hexadecimal digit string that identifies the IdP.\n" + }, "issuerUri": { "type": "string", - "description": "Unique string that identifies the issuer of the SAML\n" + "description": "Unique string that identifies the issuer of the IdP.\n" }, "name": { "type": "string", @@ -15676,13 +15794,24 @@ "type": "string", "description": "Unique 20-hexadecimal digit string that identifies the IdP.\n" }, + "protocol": { + "type": "string", + "description": "The protocol of the identity provider. Either `SAML` or `OIDC`.\n" + }, "requestBinding": { "type": "string", - "description": "SAML Authentication Request Protocol HTTP method binding (POST or REDIRECT) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values:\n- HTTP POST\n- HTTP REDIRECT\n" + "description": "SAML Authentication Request Protocol HTTP method binding (`POST` or `REDIRECT`) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values:\n- HTTP POST\n- HTTP REDIRECT\n" + }, + "requestedScopes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Scopes that MongoDB applications will request from the authorization endpoint used for OIDC IdPs.\n" }, "responseSignatureAlgorithm": { "type": "string", - "description": "Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include SHA-1 and SHA-256.\n" + "description": "Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include `SHA-1 `and `SHA-256`.\n" }, "ssoDebugEnabled": { "type": "boolean", @@ -15695,18 +15824,19 @@ "status": { "type": "string", "description": "String enum that indicates whether the identity provider is active or not. Accepted values are ACTIVE or INACTIVE.\n" + }, + "userClaim": { + "type": "string", + "description": "Identifier of the claim which contains the user ID in the token used for OIDC IdPs.\n" } }, "required": [ "federationSettingsId", + "idpId", "issuerUri", "name", "oktaIdpId", - "requestBinding", - "responseSignatureAlgorithm", - "ssoDebugEnabled", - "ssoUrl", - "status" + "protocol" ], "inputProperties": { "associatedDomains": { @@ -15716,25 +15846,51 @@ }, "description": "List that contains the domains associated with the identity provider.\n" }, + "audienceClaims": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Identifier of the intended recipient of the token used in OIDC IdP.\n" + }, + "clientId": { + "type": "string", + "description": "Client identifier that is assigned to an application by the OIDC Identity Provider.\n" + }, "federationSettingsId": { "type": "string", "description": "Unique 24-hexadecimal digit string that identifies the federated authentication configuration.\n" }, + "groupsClaim": { + "type": "string", + "description": "Identifier of the claim which contains OIDC IdP Group IDs in the token.\n" + }, "issuerUri": { "type": "string", - "description": "Unique string that identifies the issuer of the SAML\n" + "description": "Unique string that identifies the issuer of the IdP.\n" }, "name": { "type": "string", "description": "Human-readable label that identifies the identity provider.\n" }, + "protocol": { + "type": "string", + "description": "The protocol of the identity provider. Either `SAML` or `OIDC`.\n" + }, "requestBinding": { "type": "string", - "description": "SAML Authentication Request Protocol HTTP method binding (POST or REDIRECT) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values:\n- HTTP POST\n- HTTP REDIRECT\n" + "description": "SAML Authentication Request Protocol HTTP method binding (`POST` or `REDIRECT`) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values:\n- HTTP POST\n- HTTP REDIRECT\n" + }, + "requestedScopes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Scopes that MongoDB applications will request from the authorization endpoint used for OIDC IdPs.\n" }, "responseSignatureAlgorithm": { "type": "string", - "description": "Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include SHA-1 and SHA-256.\n" + "description": "Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include `SHA-1 `and `SHA-256`.\n" }, "ssoDebugEnabled": { "type": "boolean", @@ -15747,16 +15903,15 @@ "status": { "type": "string", "description": "String enum that indicates whether the identity provider is active or not. Accepted values are ACTIVE or INACTIVE.\n" + }, + "userClaim": { + "type": "string", + "description": "Identifier of the claim which contains the user ID in the token used for OIDC IdPs.\n" } }, "requiredInputs": [ "federationSettingsId", - "issuerUri", - "requestBinding", - "responseSignatureAlgorithm", - "ssoDebugEnabled", - "ssoUrl", - "status" + "issuerUri" ], "stateInputs": { "description": "Input properties used for looking up and filtering FederatedSettingsIdentityProvider resources.\n", @@ -15768,13 +15923,32 @@ }, "description": "List that contains the domains associated with the identity provider.\n" }, + "audienceClaims": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Identifier of the intended recipient of the token used in OIDC IdP.\n" + }, + "clientId": { + "type": "string", + "description": "Client identifier that is assigned to an application by the OIDC Identity Provider.\n" + }, "federationSettingsId": { "type": "string", "description": "Unique 24-hexadecimal digit string that identifies the federated authentication configuration.\n" }, + "groupsClaim": { + "type": "string", + "description": "Identifier of the claim which contains OIDC IdP Group IDs in the token.\n" + }, + "idpId": { + "type": "string", + "description": "Unique 24-hexadecimal digit string that identifies the IdP.\n" + }, "issuerUri": { "type": "string", - "description": "Unique string that identifies the issuer of the SAML\n" + "description": "Unique string that identifies the issuer of the IdP.\n" }, "name": { "type": "string", @@ -15784,13 +15958,24 @@ "type": "string", "description": "Unique 20-hexadecimal digit string that identifies the IdP.\n" }, + "protocol": { + "type": "string", + "description": "The protocol of the identity provider. Either `SAML` or `OIDC`.\n" + }, "requestBinding": { "type": "string", - "description": "SAML Authentication Request Protocol HTTP method binding (POST or REDIRECT) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values:\n- HTTP POST\n- HTTP REDIRECT\n" + "description": "SAML Authentication Request Protocol HTTP method binding (`POST` or `REDIRECT`) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values:\n- HTTP POST\n- HTTP REDIRECT\n" + }, + "requestedScopes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Scopes that MongoDB applications will request from the authorization endpoint used for OIDC IdPs.\n" }, "responseSignatureAlgorithm": { "type": "string", - "description": "Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include SHA-1 and SHA-256.\n" + "description": "Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include `SHA-1 `and `SHA-256`.\n" }, "ssoDebugEnabled": { "type": "boolean", @@ -15803,6 +15988,10 @@ "status": { "type": "string", "description": "String enum that indicates whether the identity provider is active or not. Accepted values are ACTIVE or INACTIVE.\n" + }, + "userClaim": { + "type": "string", + "description": "Identifier of the claim which contains the user ID in the token used for OIDC IdPs.\n" } }, "type": "object" @@ -16547,7 +16736,7 @@ } }, "mongodbatlas:index/networkContainer:NetworkContainer": { - "description": "`mongodbatlas.NetworkContainer` provides a Network Peering Container resource. The resource lets you create, edit and delete network peering containers. The resource requires your Project ID. Each cloud provider requires slightly different attributes so read the argument reference carefully.\n\n Network peering container is a general term used to describe any cloud providers' VPC/VNet concept. Containers only need to be created if the peering connection to the cloud provider will be created before the first cluster that requires the container. If the cluster has been/will be created first Atlas automatically creates the required container per the \"containers per cloud provider\" information that follows (in this case you can obtain the container id from the cluster resource attribute `container_id`).\n\nThe following is the maximum number of Network Peering containers per cloud provider:\n\u003cbr\u003e \u0026#8226; GCP - One container per project.\n\u003cbr\u003e \u0026#8226; AWS and Azure - One container per cloud provider region.\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{{% example %}}\n### Example with AWS\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst test = new mongodbatlas.NetworkContainer(\"test\", {\n atlasCidrBlock: \"10.8.0.0/21\",\n projectId: \"\u003cYOUR-PROJECT-ID\u003e\",\n providerName: \"AWS\",\n regionName: \"US_EAST_1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\ntest = mongodbatlas.NetworkContainer(\"test\",\n atlas_cidr_block=\"10.8.0.0/21\",\n project_id=\"\u003cYOUR-PROJECT-ID\u003e\",\n provider_name=\"AWS\",\n region_name=\"US_EAST_1\")\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.NetworkContainer(\"test\", new()\n {\n AtlasCidrBlock = \"10.8.0.0/21\",\n ProjectId = \"\u003cYOUR-PROJECT-ID\u003e\",\n ProviderName = \"AWS\",\n RegionName = \"US_EAST_1\",\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.NewNetworkContainer(ctx, \"test\", \u0026mongodbatlas.NetworkContainerArgs{\n\t\t\tAtlasCidrBlock: pulumi.String(\"10.8.0.0/21\"),\n\t\t\tProjectId: pulumi.String(\"\u003cYOUR-PROJECT-ID\u003e\"),\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\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 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 NetworkContainer(\"test\", NetworkContainerArgs.builder() \n .atlasCidrBlock(\"10.8.0.0/21\")\n .projectId(\"\u003cYOUR-PROJECT-ID\u003e\")\n .providerName(\"AWS\")\n .regionName(\"US_EAST_1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: mongodbatlas:NetworkContainer\n properties:\n atlasCidrBlock: 10.8.0.0/21\n projectId: \u003cYOUR-PROJECT-ID\u003e\n providerName: AWS\n regionName: US_EAST_1\n```\n{{% /example %}}\n{{% example %}}\n### Example with GCP\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst test = new mongodbatlas.NetworkContainer(\"test\", {\n atlasCidrBlock: \"10.8.0.0/21\",\n projectId: \"\u003cYOUR-PROJECT-ID\u003e\",\n providerName: \"GCP\",\n regions: [\n \"US_EAST_4\",\n \"US_WEST_3\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\ntest = mongodbatlas.NetworkContainer(\"test\",\n atlas_cidr_block=\"10.8.0.0/21\",\n project_id=\"\u003cYOUR-PROJECT-ID\u003e\",\n provider_name=\"GCP\",\n regions=[\n \"US_EAST_4\",\n \"US_WEST_3\",\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.NetworkContainer(\"test\", new()\n {\n AtlasCidrBlock = \"10.8.0.0/21\",\n ProjectId = \"\u003cYOUR-PROJECT-ID\u003e\",\n ProviderName = \"GCP\",\n Regions = new[]\n {\n \"US_EAST_4\",\n \"US_WEST_3\",\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.NewNetworkContainer(ctx, \"test\", \u0026mongodbatlas.NetworkContainerArgs{\n\t\t\tAtlasCidrBlock: pulumi.String(\"10.8.0.0/21\"),\n\t\t\tProjectId: pulumi.String(\"\u003cYOUR-PROJECT-ID\u003e\"),\n\t\t\tProviderName: pulumi.String(\"GCP\"),\n\t\t\tRegions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"US_EAST_4\"),\n\t\t\t\tpulumi.String(\"US_WEST_3\"),\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.NetworkContainer;\nimport com.pulumi.mongodbatlas.NetworkContainerArgs;\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 NetworkContainer(\"test\", NetworkContainerArgs.builder() \n .atlasCidrBlock(\"10.8.0.0/21\")\n .projectId(\"\u003cYOUR-PROJECT-ID\u003e\")\n .providerName(\"GCP\")\n .regions( \n \"US_EAST_4\",\n \"US_WEST_3\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: mongodbatlas:NetworkContainer\n properties:\n atlasCidrBlock: 10.8.0.0/21\n projectId: \u003cYOUR-PROJECT-ID\u003e\n providerName: GCP\n regions:\n - US_EAST_4\n - US_WEST_3\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\nconst test = new mongodbatlas.NetworkContainer(\"test\", {\n atlasCidrBlock: \"10.8.0.0/21\",\n projectId: \"\u003cYOUR-PROJECT-ID\u003e\",\n providerName: \"AZURE\",\n region: \"US_EAST_2\",\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\ntest = mongodbatlas.NetworkContainer(\"test\",\n atlas_cidr_block=\"10.8.0.0/21\",\n project_id=\"\u003cYOUR-PROJECT-ID\u003e\",\n provider_name=\"AZURE\",\n region=\"US_EAST_2\")\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.NetworkContainer(\"test\", new()\n {\n AtlasCidrBlock = \"10.8.0.0/21\",\n ProjectId = \"\u003cYOUR-PROJECT-ID\u003e\",\n ProviderName = \"AZURE\",\n Region = \"US_EAST_2\",\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.NewNetworkContainer(ctx, \"test\", \u0026mongodbatlas.NetworkContainerArgs{\n\t\t\tAtlasCidrBlock: pulumi.String(\"10.8.0.0/21\"),\n\t\t\tProjectId: pulumi.String(\"\u003cYOUR-PROJECT-ID\u003e\"),\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\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 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 NetworkContainer(\"test\", NetworkContainerArgs.builder() \n .atlasCidrBlock(\"10.8.0.0/21\")\n .projectId(\"\u003cYOUR-PROJECT-ID\u003e\")\n .providerName(\"AZURE\")\n .region(\"US_EAST_2\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: mongodbatlas:NetworkContainer\n properties:\n atlasCidrBlock: 10.8.0.0/21\n projectId: \u003cYOUR-PROJECT-ID\u003e\n providerName: AZURE\n region: US_EAST_2\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nNetwork Peering Containers can be imported using project ID and network peering container id, in the format `PROJECTID-CONTAINER-ID`, e.g.\n\n```sh\n $ pulumi import mongodbatlas:index/networkContainer:NetworkContainer my_container 1112222b3bf99403840e8934-5cbf563d87d9d67253be590a\n```\n See detailed information for arguments and attributes[MongoDB API Network Peering Container](https://docs.atlas.mongodb.com/reference/api/vpc-create-container/)\n\n-\u003e __NOTE:__ If you need to get an existing container ID see the How-To Guide.\n\n", + "description": "`mongodbatlas.NetworkContainer` provides a Network Peering Container resource. The resource lets you create, edit and delete network peering containers. You must delete network peering containers before creating clusters in your project. You can't delete a network peering container if your project contains clusters. The resource requires your Project ID. Each cloud provider requires slightly different attributes so read the argument reference carefully.\n\n Network peering container is a general term used to describe any cloud providers' VPC/VNet concept. Containers only need to be created if the peering connection to the cloud provider will be created before the first cluster that requires the container. If the cluster has been/will be created first Atlas automatically creates the required container per the \"containers per cloud provider\" information that follows (in this case you can obtain the container id from the cluster resource attribute `container_id`).\n\nThe following is the maximum number of Network Peering containers per cloud provider:\n\u003cbr\u003e \u0026#8226; GCP - One container per project.\n\u003cbr\u003e \u0026#8226; AWS and Azure - One container per cloud provider region.\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{{% example %}}\n### Example with AWS\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst test = new mongodbatlas.NetworkContainer(\"test\", {\n atlasCidrBlock: \"10.8.0.0/21\",\n projectId: \"\u003cYOUR-PROJECT-ID\u003e\",\n providerName: \"AWS\",\n regionName: \"US_EAST_1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\ntest = mongodbatlas.NetworkContainer(\"test\",\n atlas_cidr_block=\"10.8.0.0/21\",\n project_id=\"\u003cYOUR-PROJECT-ID\u003e\",\n provider_name=\"AWS\",\n region_name=\"US_EAST_1\")\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.NetworkContainer(\"test\", new()\n {\n AtlasCidrBlock = \"10.8.0.0/21\",\n ProjectId = \"\u003cYOUR-PROJECT-ID\u003e\",\n ProviderName = \"AWS\",\n RegionName = \"US_EAST_1\",\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.NewNetworkContainer(ctx, \"test\", \u0026mongodbatlas.NetworkContainerArgs{\n\t\t\tAtlasCidrBlock: pulumi.String(\"10.8.0.0/21\"),\n\t\t\tProjectId: pulumi.String(\"\u003cYOUR-PROJECT-ID\u003e\"),\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\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 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 NetworkContainer(\"test\", NetworkContainerArgs.builder() \n .atlasCidrBlock(\"10.8.0.0/21\")\n .projectId(\"\u003cYOUR-PROJECT-ID\u003e\")\n .providerName(\"AWS\")\n .regionName(\"US_EAST_1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: mongodbatlas:NetworkContainer\n properties:\n atlasCidrBlock: 10.8.0.0/21\n projectId: \u003cYOUR-PROJECT-ID\u003e\n providerName: AWS\n regionName: US_EAST_1\n```\n{{% /example %}}\n{{% example %}}\n### Example with GCP\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst test = new mongodbatlas.NetworkContainer(\"test\", {\n atlasCidrBlock: \"10.8.0.0/21\",\n projectId: \"\u003cYOUR-PROJECT-ID\u003e\",\n providerName: \"GCP\",\n regions: [\n \"US_EAST_4\",\n \"US_WEST_3\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\ntest = mongodbatlas.NetworkContainer(\"test\",\n atlas_cidr_block=\"10.8.0.0/21\",\n project_id=\"\u003cYOUR-PROJECT-ID\u003e\",\n provider_name=\"GCP\",\n regions=[\n \"US_EAST_4\",\n \"US_WEST_3\",\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.NetworkContainer(\"test\", new()\n {\n AtlasCidrBlock = \"10.8.0.0/21\",\n ProjectId = \"\u003cYOUR-PROJECT-ID\u003e\",\n ProviderName = \"GCP\",\n Regions = new[]\n {\n \"US_EAST_4\",\n \"US_WEST_3\",\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.NewNetworkContainer(ctx, \"test\", \u0026mongodbatlas.NetworkContainerArgs{\n\t\t\tAtlasCidrBlock: pulumi.String(\"10.8.0.0/21\"),\n\t\t\tProjectId: pulumi.String(\"\u003cYOUR-PROJECT-ID\u003e\"),\n\t\t\tProviderName: pulumi.String(\"GCP\"),\n\t\t\tRegions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"US_EAST_4\"),\n\t\t\t\tpulumi.String(\"US_WEST_3\"),\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.NetworkContainer;\nimport com.pulumi.mongodbatlas.NetworkContainerArgs;\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 NetworkContainer(\"test\", NetworkContainerArgs.builder() \n .atlasCidrBlock(\"10.8.0.0/21\")\n .projectId(\"\u003cYOUR-PROJECT-ID\u003e\")\n .providerName(\"GCP\")\n .regions( \n \"US_EAST_4\",\n \"US_WEST_3\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: mongodbatlas:NetworkContainer\n properties:\n atlasCidrBlock: 10.8.0.0/21\n projectId: \u003cYOUR-PROJECT-ID\u003e\n providerName: GCP\n regions:\n - US_EAST_4\n - US_WEST_3\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\nconst test = new mongodbatlas.NetworkContainer(\"test\", {\n atlasCidrBlock: \"10.8.0.0/21\",\n projectId: \"\u003cYOUR-PROJECT-ID\u003e\",\n providerName: \"AZURE\",\n region: \"US_EAST_2\",\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\ntest = mongodbatlas.NetworkContainer(\"test\",\n atlas_cidr_block=\"10.8.0.0/21\",\n project_id=\"\u003cYOUR-PROJECT-ID\u003e\",\n provider_name=\"AZURE\",\n region=\"US_EAST_2\")\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.NetworkContainer(\"test\", new()\n {\n AtlasCidrBlock = \"10.8.0.0/21\",\n ProjectId = \"\u003cYOUR-PROJECT-ID\u003e\",\n ProviderName = \"AZURE\",\n Region = \"US_EAST_2\",\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.NewNetworkContainer(ctx, \"test\", \u0026mongodbatlas.NetworkContainerArgs{\n\t\t\tAtlasCidrBlock: pulumi.String(\"10.8.0.0/21\"),\n\t\t\tProjectId: pulumi.String(\"\u003cYOUR-PROJECT-ID\u003e\"),\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\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 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 NetworkContainer(\"test\", NetworkContainerArgs.builder() \n .atlasCidrBlock(\"10.8.0.0/21\")\n .projectId(\"\u003cYOUR-PROJECT-ID\u003e\")\n .providerName(\"AZURE\")\n .region(\"US_EAST_2\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: mongodbatlas:NetworkContainer\n properties:\n atlasCidrBlock: 10.8.0.0/21\n projectId: \u003cYOUR-PROJECT-ID\u003e\n providerName: AZURE\n region: US_EAST_2\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nNetwork Peering Containers can be imported using project ID and network peering container id, in the format `PROJECTID-CONTAINER-ID`, e.g.\n\n```sh\n $ pulumi import mongodbatlas:index/networkContainer:NetworkContainer my_container 1112222b3bf99403840e8934-5cbf563d87d9d67253be590a\n```\n See detailed information for arguments and attributes[MongoDB API Network Peering Container](https://docs.atlas.mongodb.com/reference/api/vpc-create-container/)\n\n-\u003e __NOTE:__ If you need to get an existing container ID see the How-To Guide.\n\n", "properties": { "atlasCidrBlock": { "type": "string", @@ -17274,7 +17463,8 @@ "inputProperties": { "orgId": { "type": "string", - "description": "Unique 24-hexadecimal digit string that identifies the organization to which you want to invite a user.\n" + "description": "Unique 24-hexadecimal digit string that identifies the organization to which you want to invite a user.\n", + "willReplaceOnChanges": true }, "roles": { "type": "array", @@ -17322,7 +17512,8 @@ }, "orgId": { "type": "string", - "description": "Unique 24-hexadecimal digit string that identifies the organization to which you want to invite a user.\n" + "description": "Unique 24-hexadecimal digit string that identifies the organization to which you want to invite a user.\n", + "willReplaceOnChanges": true }, "roles": { "type": "array", @@ -17348,14 +17539,22 @@ } }, "mongodbatlas:index/organization:Organization": { - "description": "`mongodbatlas.Organization` provides programmatic management (including creation) of a MongoDB Atlas Organization resource.\n\n\u003e **IMPORTANT NOTE:** When you establish an Atlas organization using this resource, it automatically generates a set of initial public and private Programmatic API Keys. These key values are vital to store because you'll need to use them to grant access to the newly created Atlas organization.\n\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 test = new mongodbatlas.Organization(\"test\", {\n description: \"test API key from Org Creation Test\",\n orgOwnerId: \"6205e5fffff79cde6f\",\n roleNames: [\"ORG_OWNER\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\ntest = mongodbatlas.Organization(\"test\",\n description=\"test API key from Org Creation Test\",\n org_owner_id=\"6205e5fffff79cde6f\",\n role_names=[\"ORG_OWNER\"])\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.Organization(\"test\", new()\n {\n Description = \"test API key from Org Creation Test\",\n OrgOwnerId = \"6205e5fffff79cde6f\",\n RoleNames = new[]\n {\n \"ORG_OWNER\",\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.NewOrganization(ctx, \"test\", \u0026mongodbatlas.OrganizationArgs{\n\t\t\tDescription: pulumi.String(\"test API key from Org Creation Test\"),\n\t\t\tOrgOwnerId: pulumi.String(\"6205e5fffff79cde6f\"),\n\t\t\tRoleNames: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ORG_OWNER\"),\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.Organization;\nimport com.pulumi.mongodbatlas.OrganizationArgs;\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 Organization(\"test\", OrganizationArgs.builder() \n .description(\"test API key from Org Creation Test\")\n .orgOwnerId(\"6205e5fffff79cde6f\")\n .roleNames(\"ORG_OWNER\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: mongodbatlas:Organization\n properties:\n description: test API key from Org Creation Test\n orgOwnerId: 6205e5fffff79cde6f\n roleNames:\n - ORG_OWNER\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nOrganization must be imported using organization ID, e.g.\n\n```sh\n $ pulumi import mongodbatlas:index/organization:Organization my_org 5d09d6a59ccf6445652a444a\n```\n For more information see[MongoDB Atlas Admin API Organization](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Organizations/operation/createOrganization)\n\nDocumentation for more information.\n\n", + "description": "`mongodbatlas.Organization` provides programmatic management (including creation) of a MongoDB Atlas Organization resource.\n\n\u003e **IMPORTANT NOTE:** When you establish an Atlas organization using this resource, it automatically generates a set of initial public and private Programmatic API Keys. These key values are vital to store because you'll need to use them to grant access to the newly created Atlas organization. To use this resource, `role_names` for new API Key must have the ORG_OWNER role specified.\n\n\u003e **IMPORTANT NOTE:** To use this resource, the requesting API Key must have the Organization Owner role. The requesting API Key's organization must be a paying organization. To learn more, see Configure a Paying Organization in the MongoDB Atlas documentation.\n\n\u003e **NOTE** Import command is currently not supported for this resource.\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 test = new mongodbatlas.Organization(\"test\", {\n description: \"test API key from Org Creation Test\",\n orgOwnerId: \"6205e5fffff79cde6f\",\n roleNames: [\"ORG_OWNER\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\ntest = mongodbatlas.Organization(\"test\",\n description=\"test API key from Org Creation Test\",\n org_owner_id=\"6205e5fffff79cde6f\",\n role_names=[\"ORG_OWNER\"])\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.Organization(\"test\", new()\n {\n Description = \"test API key from Org Creation Test\",\n OrgOwnerId = \"6205e5fffff79cde6f\",\n RoleNames = new[]\n {\n \"ORG_OWNER\",\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.NewOrganization(ctx, \"test\", \u0026mongodbatlas.OrganizationArgs{\n\t\t\tDescription: pulumi.String(\"test API key from Org Creation Test\"),\n\t\t\tOrgOwnerId: pulumi.String(\"6205e5fffff79cde6f\"),\n\t\t\tRoleNames: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ORG_OWNER\"),\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.Organization;\nimport com.pulumi.mongodbatlas.OrganizationArgs;\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 Organization(\"test\", OrganizationArgs.builder() \n .description(\"test API key from Org Creation Test\")\n .orgOwnerId(\"6205e5fffff79cde6f\")\n .roleNames(\"ORG_OWNER\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: mongodbatlas:Organization\n properties:\n description: test API key from Org Creation Test\n orgOwnerId: 6205e5fffff79cde6f\n roleNames:\n - ORG_OWNER\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { + "apiAccessListRequired": { + "type": "boolean", + "description": "Flag that indicates whether to require API operations to originate from an IP Address added to the API access list for the specified organization.\n" + }, "description": { "type": "string" }, "federationSettingsId": { "type": "string", - "description": "(Optional) Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation.\n" + "description": "Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation.\n" + }, + "multiFactorAuthRequired": { + "type": "boolean", + "description": "Flag that indicates whether to require users to set up Multi-Factor Authentication (MFA) before accessing the specified organization. To learn more, see: https://www.mongodb.com/docs/atlas/security-multi-factor-authentication/.\n" }, "name": { "type": "string", @@ -17378,6 +17577,10 @@ "description": "Public API key value set for the specified organization API key.\n", "secret": true }, + "restrictEmployeeAccess": { + "type": "boolean", + "description": "Flag that indicates whether to block MongoDB Support from accessing Atlas infrastructure for any deployment in the specified organization without explicit permission. Once this setting is turned on, you can grant MongoDB Support a 24-hour bypass access to the Atlas deployment to resolve support issues. To learn more, see: https://www.mongodb.com/docs/atlas/security-restrict-support-access/.\n" + }, "roleNames": { "type": "array", "items": { @@ -17387,21 +17590,32 @@ } }, "required": [ + "apiAccessListRequired", "description", + "multiFactorAuthRequired", "name", "orgId", "orgOwnerId", "privateKey", "publicKey", + "restrictEmployeeAccess", "roleNames" ], "inputProperties": { + "apiAccessListRequired": { + "type": "boolean", + "description": "Flag that indicates whether to require API operations to originate from an IP Address added to the API access list for the specified organization.\n" + }, "description": { "type": "string" }, "federationSettingsId": { "type": "string", - "description": "(Optional) Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation.\n" + "description": "Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation.\n" + }, + "multiFactorAuthRequired": { + "type": "boolean", + "description": "Flag that indicates whether to require users to set up Multi-Factor Authentication (MFA) before accessing the specified organization. To learn more, see: https://www.mongodb.com/docs/atlas/security-multi-factor-authentication/.\n" }, "name": { "type": "string", @@ -17411,6 +17625,10 @@ "type": "string", "description": "Unique 24-hexadecimal digit string that identifies the Atlas user that you want to assign the Organization Owner role. This user must be a member of the same organization as the calling API key. This is only required when authenticating with Programmatic API Keys. [MongoDB Atlas Admin API - Get User By Username](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/MongoDB-Cloud-Users/operation/getUserByUsername)\n" }, + "restrictEmployeeAccess": { + "type": "boolean", + "description": "Flag that indicates whether to block MongoDB Support from accessing Atlas infrastructure for any deployment in the specified organization without explicit permission. Once this setting is turned on, you can grant MongoDB Support a 24-hour bypass access to the Atlas deployment to resolve support issues. To learn more, see: https://www.mongodb.com/docs/atlas/security-restrict-support-access/.\n" + }, "roleNames": { "type": "array", "items": { @@ -17427,12 +17645,20 @@ "stateInputs": { "description": "Input properties used for looking up and filtering Organization resources.\n", "properties": { + "apiAccessListRequired": { + "type": "boolean", + "description": "Flag that indicates whether to require API operations to originate from an IP Address added to the API access list for the specified organization.\n" + }, "description": { "type": "string" }, "federationSettingsId": { "type": "string", - "description": "(Optional) Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation.\n" + "description": "Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation.\n" + }, + "multiFactorAuthRequired": { + "type": "boolean", + "description": "Flag that indicates whether to require users to set up Multi-Factor Authentication (MFA) before accessing the specified organization. To learn more, see: https://www.mongodb.com/docs/atlas/security-multi-factor-authentication/.\n" }, "name": { "type": "string", @@ -17455,6 +17681,10 @@ "description": "Public API key value set for the specified organization API key.\n", "secret": true }, + "restrictEmployeeAccess": { + "type": "boolean", + "description": "Flag that indicates whether to block MongoDB Support from accessing Atlas infrastructure for any deployment in the specified organization without explicit permission. Once this setting is turned on, you can grant MongoDB Support a 24-hour bypass access to the Atlas deployment to resolve support issues. To learn more, see: https://www.mongodb.com/docs/atlas/security-restrict-support-access/.\n" + }, "roleNames": { "type": "array", "items": { @@ -18246,11 +18476,15 @@ "properties": { "clusterCount": { "type": "integer", - "description": "The number of Atlas clusters deployed in the project..\n" + "description": "The number of Atlas clusters deployed in the project.\n" }, "created": { "type": "string", - "description": "The ISO-8601-formatted timestamp of when Atlas created the project..\n" + "description": "The ISO-8601-formatted timestamp of when Atlas created the project.\n" + }, + "ipAddresses": { + "$ref": "#/types/mongodbatlas:index/ProjectIpAddresses:ProjectIpAddresses", + "description": "IP addresses in a project categorized by services. See IP Addresses.\n" }, "isCollectDatabaseSpecificsStatisticsEnabled": { "type": "boolean", @@ -18312,6 +18546,7 @@ "required": [ "clusterCount", "created", + "ipAddresses", "isCollectDatabaseSpecificsStatisticsEnabled", "isDataExplorerEnabled", "isExtendedStorageSizesEnabled", @@ -18388,11 +18623,15 @@ "properties": { "clusterCount": { "type": "integer", - "description": "The number of Atlas clusters deployed in the project..\n" + "description": "The number of Atlas clusters deployed in the project.\n" }, "created": { "type": "string", - "description": "The ISO-8601-formatted timestamp of when Atlas created the project..\n" + "description": "The ISO-8601-formatted timestamp of when Atlas created the project.\n" + }, + "ipAddresses": { + "$ref": "#/types/mongodbatlas:index/ProjectIpAddresses:ProjectIpAddresses", + "description": "IP addresses in a project categorized by services. See IP Addresses.\n" }, "isCollectDatabaseSpecificsStatisticsEnabled": { "type": "boolean", @@ -18747,30 +18986,29 @@ } }, "mongodbatlas:index/searchDeployment:SearchDeployment": { - "description": "`mongodbatlas.SearchDeployment` provides a Search Deployment resource. The resource lets you create, edit and delete dedicated search nodes in a cluster.\n\n\u003e **NOTE:** For details on supported cloud providers and existing limitations you can visit the [Search Node Documentation](https://www.mongodb.com/docs/atlas/cluster-config/multi-cloud-distribution/#search-nodes-for-workload-isolation).\n\n\u003e **NOTE:** Only a single search deployment resource can be defined for each cluster.\n\n\n{{% 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.SearchDeployment;\nimport com.pulumi.mongodbatlas.SearchDeploymentArgs;\nimport com.pulumi.mongodbatlas.inputs.SearchDeploymentSpecArgs;\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 SearchDeployment(\"test\", SearchDeploymentArgs.builder() \n .clusterName(\"NAME OF CLUSTER\")\n .projectId(\"PROJECT ID\")\n .specs(SearchDeploymentSpecArgs.builder()\n .instance_size(\"S20_HIGHCPU_NVME\")\n .node_count(2)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: mongodbatlas:SearchDeployment\n properties:\n clusterName: NAME OF CLUSTER\n projectId: PROJECT ID\n specs:\n - instance_size: S20_HIGHCPU_NVME\n node_count: 2\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nSearch node resource can be imported using the project ID and cluster name, in the format `PROJECT_ID-CLUSTER_NAME`, e.g.\n\n```sh\n $ pulumi import mongodbatlas:index/searchDeployment:SearchDeployment test 650972848269185c55f40ca1-Cluster0\n```\n For more information see[MongoDB Atlas API - Search Node](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Atlas-Search/operation/createAtlasSearchDeployment) Documentation.\n\n", + "description": "`mongodbatlas.SearchDeployment` provides a Search Deployment resource. The resource lets you create, edit and delete dedicated search nodes in a cluster.\n\n\u003e **NOTE:** For details on supported cloud providers and existing limitations you can visit the [Search Node Documentation](https://www.mongodb.com/docs/atlas/cluster-config/multi-cloud-distribution/#search-nodes-for-workload-isolation).\n\n\u003e **NOTE:** Only a single search deployment resource can be defined for each cluster.\n\n{{% examples %}}\n## Example Usage\n{{% /examples %}}", "properties": { "clusterName": { "type": "string", - "description": "Label that identifies the cluster to create search nodes for.\n" + "description": "Label that identifies the cluster to return the search nodes for.\n" }, "projectId": { "type": "string", - "description": "Unique 24-hexadecimal digit string that identifies your project.\n" + "description": "Unique 24-hexadecimal character string that identifies the project.\n" }, "specs": { "type": "array", "items": { "$ref": "#/types/mongodbatlas:index/SearchDeploymentSpec:SearchDeploymentSpec" }, - "description": "List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. See specs.\n" + "description": "List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element.\n" }, "stateName": { "type": "string", - "description": "Human-readable label that indicates the current operating condition of this search node deployment.\n" + "description": "Human-readable label that indicates the current operating condition of this search deployment.\n" }, "timeouts": { - "$ref": "#/types/mongodbatlas:index/SearchDeploymentTimeouts:SearchDeploymentTimeouts", - "description": "The time to wait for search nodes to be created, updated, or deleted. The timeout value is defined by a signed sequence of decimal numbers with a time unit suffix such as: `1h45m`, `300s`, `10m`, .... The valid time units are: `ns`, `us` (or `µs`), `ms`, `s`, `m`, `h`. The attribute must be defined with nested attributes.\n" + "$ref": "#/types/mongodbatlas:index/SearchDeploymentTimeouts:SearchDeploymentTimeouts" } }, "required": [ @@ -18782,22 +19020,21 @@ "inputProperties": { "clusterName": { "type": "string", - "description": "Label that identifies the cluster to create search nodes for.\n" + "description": "Label that identifies the cluster to return the search nodes for.\n" }, "projectId": { "type": "string", - "description": "Unique 24-hexadecimal digit string that identifies your project.\n" + "description": "Unique 24-hexadecimal character string that identifies the project.\n" }, "specs": { "type": "array", "items": { "$ref": "#/types/mongodbatlas:index/SearchDeploymentSpec:SearchDeploymentSpec" }, - "description": "List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. See specs.\n" + "description": "List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element.\n" }, "timeouts": { - "$ref": "#/types/mongodbatlas:index/SearchDeploymentTimeouts:SearchDeploymentTimeouts", - "description": "The time to wait for search nodes to be created, updated, or deleted. The timeout value is defined by a signed sequence of decimal numbers with a time unit suffix such as: `1h45m`, `300s`, `10m`, .... The valid time units are: `ns`, `us` (or `µs`), `ms`, `s`, `m`, `h`. The attribute must be defined with nested attributes.\n" + "$ref": "#/types/mongodbatlas:index/SearchDeploymentTimeouts:SearchDeploymentTimeouts" } }, "requiredInputs": [ @@ -18810,26 +19047,25 @@ "properties": { "clusterName": { "type": "string", - "description": "Label that identifies the cluster to create search nodes for.\n" + "description": "Label that identifies the cluster to return the search nodes for.\n" }, "projectId": { "type": "string", - "description": "Unique 24-hexadecimal digit string that identifies your project.\n" + "description": "Unique 24-hexadecimal character string that identifies the project.\n" }, "specs": { "type": "array", "items": { "$ref": "#/types/mongodbatlas:index/SearchDeploymentSpec:SearchDeploymentSpec" }, - "description": "List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. See specs.\n" + "description": "List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element.\n" }, "stateName": { "type": "string", - "description": "Human-readable label that indicates the current operating condition of this search node deployment.\n" + "description": "Human-readable label that indicates the current operating condition of this search deployment.\n" }, "timeouts": { - "$ref": "#/types/mongodbatlas:index/SearchDeploymentTimeouts:SearchDeploymentTimeouts", - "description": "The time to wait for search nodes to be created, updated, or deleted. The timeout value is defined by a signed sequence of decimal numbers with a time unit suffix such as: `1h45m`, `300s`, `10m`, .... The valid time units are: `ns`, `us` (or `µs`), `ms`, `s`, `m`, `h`. The attribute must be defined with nested attributes.\n" + "$ref": "#/types/mongodbatlas:index/SearchDeploymentTimeouts:SearchDeploymentTimeouts" } }, "type": "object" @@ -18886,7 +19122,8 @@ "description": "[Analyzer](https://docs.atlas.mongodb.com/reference/atlas-search/analyzers/#std-label-analyzers-ref) to use when searching the index. Defaults to [lucene.standard](https://docs.atlas.mongodb.com/reference/atlas-search/analyzers/standard/#std-label-ref-standard-analyzer)\n" }, "status": { - "type": "string" + "type": "string", + "description": "Current status of the index.\n" }, "synonyms": { "type": "array", @@ -18959,9 +19196,6 @@ "type": "string", "description": "[Analyzer](https://docs.atlas.mongodb.com/reference/atlas-search/analyzers/#std-label-analyzers-ref) to use when searching the index. Defaults to [lucene.standard](https://docs.atlas.mongodb.com/reference/atlas-search/analyzers/standard/#std-label-ref-standard-analyzer)\n" }, - "status": { - "type": "string" - }, "synonyms": { "type": "array", "items": { @@ -19036,7 +19270,8 @@ "description": "[Analyzer](https://docs.atlas.mongodb.com/reference/atlas-search/analyzers/#std-label-analyzers-ref) to use when searching the index. Defaults to [lucene.standard](https://docs.atlas.mongodb.com/reference/atlas-search/analyzers/standard/#std-label-ref-standard-analyzer)\n" }, "status": { - "type": "string" + "type": "string", + "description": "Current status of the index.\n" }, "synonyms": { "type": "array", @@ -20321,11 +20556,12 @@ "description": "A collection of arguments for invoking getApiKey.\n", "properties": { "apiKeyId": { - "type": "string" + "type": "string", + "description": "Unique identifier for the organization API key.\n" }, "orgId": { "type": "string", - "description": "The unique ID for the project.\n" + "description": "Unique identifier for the organization.\n" } }, "type": "object", @@ -20349,8 +20585,7 @@ "description": "The provider-assigned unique ID for this managed resource.\n" }, "orgId": { - "type": "string", - "description": "Unique identifier for the organization whose API keys you want to retrieve. Use the /orgs endpoint to retrieve all organizations to which the authenticated user has access.\n" + "type": "string" }, "publicKey": { "type": "string", @@ -20385,7 +20620,7 @@ }, "orgId": { "type": "string", - "description": "Unique identifier for the organization whose API keys you want to retrieve. Use the /orgs endpoint to retrieve all organizations to which the authenticated user has access.\n" + "description": "Unique identifier for the organization whose API keys you want to retrieve.\n" }, "pageNum": { "type": "integer", @@ -20648,27 +20883,6 @@ "inputs": { "description": "A collection of arguments for invoking getBackupCompliancePolicy.\n", "properties": { - "onDemandPolicyItem": { - "$ref": "#/types/mongodbatlas:index/getBackupCompliancePolicyOnDemandPolicyItem:getBackupCompliancePolicyOnDemandPolicyItem" - }, - "policyItemDaily": { - "$ref": "#/types/mongodbatlas:index/getBackupCompliancePolicyPolicyItemDaily:getBackupCompliancePolicyPolicyItemDaily" - }, - "policyItemHourly": { - "$ref": "#/types/mongodbatlas:index/getBackupCompliancePolicyPolicyItemHourly:getBackupCompliancePolicyPolicyItemHourly" - }, - "policyItemMonthlies": { - "type": "array", - "items": { - "$ref": "#/types/mongodbatlas:index/getBackupCompliancePolicyPolicyItemMonthly:getBackupCompliancePolicyPolicyItemMonthly" - } - }, - "policyItemWeeklies": { - "type": "array", - "items": { - "$ref": "#/types/mongodbatlas:index/getBackupCompliancePolicyPolicyItemWeekly:getBackupCompliancePolicyPolicyItemWeekly" - } - }, "projectId": { "type": "string", "description": "Unique 24-hexadecimal digit string that identifies your project\n" @@ -20758,7 +20972,12 @@ "authorizedUserLastName", "copyProtectionEnabled", "encryptionAtRestEnabled", + "onDemandPolicyItem", "pitEnabled", + "policyItemDaily", + "policyItemHourly", + "policyItemMonthlies", + "policyItemWeeklies", "projectId", "restoreWindowDays", "state", @@ -21579,49 +21798,8 @@ ] } }, - "mongodbatlas:index/getCloudProviderAccess:getCloudProviderAccess": { - "description": "**WARNING:** The data source `mongodbatlas.CloudProviderAccess` is deprecated and will be removed in version v1.14.0, use the data source `mongodbatlas.CloudProviderAccessSetup` instead.\n\n`mongodbatlas.CloudProviderAccess` allows you to get the list of cloud provider access roles, currently only AWS and Azure is supported.\n\n\u003e **NOTE:** Groups and projects are synonymous terms. You may find `groupId` in the official documentation.\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 testRole = new mongodbatlas.CloudProviderAccess(\"testRole\", {\n projectId: \"64259ee860c43338194b0f8e\",\n providerName: \"AWS\",\n});\nconst all = mongodbatlas.getCloudProviderAccessOutput({\n projectId: testRole.projectId,\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\ntest_role = mongodbatlas.CloudProviderAccess(\"testRole\",\n project_id=\"64259ee860c43338194b0f8e\",\n provider_name=\"AWS\")\nall = mongodbatlas.get_cloud_provider_access_output(project_id=test_role.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 testRole = new Mongodbatlas.CloudProviderAccess(\"testRole\", new()\n {\n ProjectId = \"64259ee860c43338194b0f8e\",\n ProviderName = \"AWS\",\n });\n\n var all = Mongodbatlas.GetCloudProviderAccess.Invoke(new()\n {\n ProjectId = testRole.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\ttestRole, err := mongodbatlas.NewCloudProviderAccess(ctx, \"testRole\", \u0026mongodbatlas.CloudProviderAccessArgs{\n\t\t\tProjectId: pulumi.String(\"64259ee860c43338194b0f8e\"),\n\t\t\tProviderName: pulumi.String(\"AWS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = mongodbatlas.LookupCloudProviderAccessOutput(ctx, mongodbatlas.GetCloudProviderAccessOutputArgs{\n\t\t\tProjectId: testRole.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.CloudProviderAccess;\nimport com.pulumi.mongodbatlas.CloudProviderAccessArgs;\nimport com.pulumi.mongodbatlas.MongodbatlasFunctions;\nimport com.pulumi.mongodbatlas.inputs.GetCloudProviderAccessArgs;\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 testRole = new CloudProviderAccess(\"testRole\", CloudProviderAccessArgs.builder() \n .projectId(\"64259ee860c43338194b0f8e\")\n .providerName(\"AWS\")\n .build());\n\n final var all = MongodbatlasFunctions.getCloudProviderAccess(GetCloudProviderAccessArgs.builder()\n .projectId(testRole.projectId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testRole:\n type: mongodbatlas:CloudProviderAccess\n properties:\n projectId: 64259ee860c43338194b0f8e\n providerName: AWS\nvariables:\n all:\n fn::invoke:\n Function: mongodbatlas:getCloudProviderAccess\n Arguments:\n projectId: ${testRole.projectId}\n```\n{{% /example %}}\n{{% /examples %}}", - "inputs": { - "description": "A collection of arguments for invoking getCloudProviderAccess.\n", - "properties": { - "projectId": { - "type": "string", - "description": "The unique ID for the project to get all Cloud Provider Access\n" - } - }, - "type": "object", - "required": [ - "projectId" - ] - }, - "outputs": { - "description": "A collection of values returned by getCloudProviderAccess.\n", - "properties": { - "awsIamRoles": { - "type": "array", - "items": { - "$ref": "#/types/mongodbatlas:index/getCloudProviderAccessAwsIamRole:getCloudProviderAccessAwsIamRole" - }, - "description": "A list where each represents a Cloud Provider Access Role.\n" - }, - "id": { - "type": "string", - "description": "The provider-assigned unique ID for this managed resource.\n" - }, - "projectId": { - "type": "string" - } - }, - "type": "object", - "required": [ - "awsIamRoles", - "projectId", - "id" - ] - } - }, "mongodbatlas:index/getCloudProviderAccessSetup:getCloudProviderAccessSetup": { - "description": "`mongodbatlas.CloudProviderAccess` allows you to get a single role for a provider access role setup, currently only AWS and Azure are supported.\n\n\u003e **NOTE:** Groups and projects are synonymous terms. You may find `groupId` in the official documentation.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### With AWS\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst testRole = new mongodbatlas.CloudProviderAccessSetup(\"testRole\", {\n projectId: \"64259ee860c43338194b0f8e\",\n providerName: \"AWS\",\n});\nconst singleSetup = mongodbatlas.getCloudProviderAccessSetupOutput({\n projectId: testRole.projectId,\n providerName: testRole.providerName,\n roleId: testRole.roleId,\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\ntest_role = mongodbatlas.CloudProviderAccessSetup(\"testRole\",\n project_id=\"64259ee860c43338194b0f8e\",\n provider_name=\"AWS\")\nsingle_setup = mongodbatlas.get_cloud_provider_access_setup_output(project_id=test_role.project_id,\n provider_name=test_role.provider_name,\n role_id=test_role.role_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 testRole = new Mongodbatlas.CloudProviderAccessSetup(\"testRole\", new()\n {\n ProjectId = \"64259ee860c43338194b0f8e\",\n ProviderName = \"AWS\",\n });\n\n var singleSetup = Mongodbatlas.GetCloudProviderAccessSetup.Invoke(new()\n {\n ProjectId = testRole.ProjectId,\n ProviderName = testRole.ProviderName,\n RoleId = testRole.RoleId,\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\ttestRole, err := mongodbatlas.NewCloudProviderAccessSetup(ctx, \"testRole\", \u0026mongodbatlas.CloudProviderAccessSetupArgs{\n\t\t\tProjectId: pulumi.String(\"64259ee860c43338194b0f8e\"),\n\t\t\tProviderName: pulumi.String(\"AWS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = mongodbatlas.LookupCloudProviderAccessSetupOutput(ctx, mongodbatlas.GetCloudProviderAccessSetupOutputArgs{\n\t\t\tProjectId: testRole.ProjectId,\n\t\t\tProviderName: testRole.ProviderName,\n\t\t\tRoleId: testRole.RoleId,\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.CloudProviderAccessSetup;\nimport com.pulumi.mongodbatlas.CloudProviderAccessSetupArgs;\nimport com.pulumi.mongodbatlas.MongodbatlasFunctions;\nimport com.pulumi.mongodbatlas.inputs.GetCloudProviderAccessSetupArgs;\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 testRole = new CloudProviderAccessSetup(\"testRole\", CloudProviderAccessSetupArgs.builder() \n .projectId(\"64259ee860c43338194b0f8e\")\n .providerName(\"AWS\")\n .build());\n\n final var singleSetup = MongodbatlasFunctions.getCloudProviderAccessSetup(GetCloudProviderAccessSetupArgs.builder()\n .projectId(testRole.projectId())\n .providerName(testRole.providerName())\n .roleId(testRole.roleId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testRole:\n type: mongodbatlas:CloudProviderAccessSetup\n properties:\n projectId: 64259ee860c43338194b0f8e\n providerName: AWS\nvariables:\n singleSetup:\n fn::invoke:\n Function: mongodbatlas:getCloudProviderAccessSetup\n Arguments:\n projectId: ${testRole.projectId}\n providerName: ${testRole.providerName}\n roleId: ${testRole.roleId}\n```\n\n{{% /example %}}\n{{% example %}}\n### With AZURE\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst testRole = new mongodbatlas.CloudProviderAccessSetup(\"testRole\", {\n projectId: \"64259ee860c43338194b0f8e\",\n providerName: \"AZURE\",\n azureConfigs: [{\n atlasAzureAppId: \"9f2deb0d-be22-4524-a403-df531868bac0\",\n servicePrincipalId: \"22f1d2a6-d0e9-482a-83a4-b8dd7dddc2c1\",\n tenantId: \"91402384-d71e-22f5-22dd-759e272cdc1c\",\n }],\n});\nconst singleSetup = mongodbatlas.getCloudProviderAccessSetupOutput({\n projectId: testRole.projectId,\n providerName: testRole.providerName,\n roleId: testRole.roleId,\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\ntest_role = mongodbatlas.CloudProviderAccessSetup(\"testRole\",\n project_id=\"64259ee860c43338194b0f8e\",\n provider_name=\"AZURE\",\n azure_configs=[mongodbatlas.CloudProviderAccessSetupAzureConfigArgs(\n atlas_azure_app_id=\"9f2deb0d-be22-4524-a403-df531868bac0\",\n service_principal_id=\"22f1d2a6-d0e9-482a-83a4-b8dd7dddc2c1\",\n tenant_id=\"91402384-d71e-22f5-22dd-759e272cdc1c\",\n )])\nsingle_setup = mongodbatlas.get_cloud_provider_access_setup_output(project_id=test_role.project_id,\n provider_name=test_role.provider_name,\n role_id=test_role.role_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 testRole = new Mongodbatlas.CloudProviderAccessSetup(\"testRole\", new()\n {\n ProjectId = \"64259ee860c43338194b0f8e\",\n ProviderName = \"AZURE\",\n AzureConfigs = new[]\n {\n new Mongodbatlas.Inputs.CloudProviderAccessSetupAzureConfigArgs\n {\n AtlasAzureAppId = \"9f2deb0d-be22-4524-a403-df531868bac0\",\n ServicePrincipalId = \"22f1d2a6-d0e9-482a-83a4-b8dd7dddc2c1\",\n TenantId = \"91402384-d71e-22f5-22dd-759e272cdc1c\",\n },\n },\n });\n\n var singleSetup = Mongodbatlas.GetCloudProviderAccessSetup.Invoke(new()\n {\n ProjectId = testRole.ProjectId,\n ProviderName = testRole.ProviderName,\n RoleId = testRole.RoleId,\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\ttestRole, err := mongodbatlas.NewCloudProviderAccessSetup(ctx, \"testRole\", \u0026mongodbatlas.CloudProviderAccessSetupArgs{\n\t\t\tProjectId: pulumi.String(\"64259ee860c43338194b0f8e\"),\n\t\t\tProviderName: pulumi.String(\"AZURE\"),\n\t\t\tAzureConfigs: mongodbatlas.CloudProviderAccessSetupAzureConfigArray{\n\t\t\t\t\u0026mongodbatlas.CloudProviderAccessSetupAzureConfigArgs{\n\t\t\t\t\tAtlasAzureAppId: pulumi.String(\"9f2deb0d-be22-4524-a403-df531868bac0\"),\n\t\t\t\t\tServicePrincipalId: pulumi.String(\"22f1d2a6-d0e9-482a-83a4-b8dd7dddc2c1\"),\n\t\t\t\t\tTenantId: pulumi.String(\"91402384-d71e-22f5-22dd-759e272cdc1c\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = mongodbatlas.LookupCloudProviderAccessSetupOutput(ctx, mongodbatlas.GetCloudProviderAccessSetupOutputArgs{\n\t\t\tProjectId: testRole.ProjectId,\n\t\t\tProviderName: testRole.ProviderName,\n\t\t\tRoleId: testRole.RoleId,\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.CloudProviderAccessSetup;\nimport com.pulumi.mongodbatlas.CloudProviderAccessSetupArgs;\nimport com.pulumi.mongodbatlas.inputs.CloudProviderAccessSetupAzureConfigArgs;\nimport com.pulumi.mongodbatlas.MongodbatlasFunctions;\nimport com.pulumi.mongodbatlas.inputs.GetCloudProviderAccessSetupArgs;\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 testRole = new CloudProviderAccessSetup(\"testRole\", CloudProviderAccessSetupArgs.builder() \n .projectId(\"64259ee860c43338194b0f8e\")\n .providerName(\"AZURE\")\n .azureConfigs(CloudProviderAccessSetupAzureConfigArgs.builder()\n .atlasAzureAppId(\"9f2deb0d-be22-4524-a403-df531868bac0\")\n .servicePrincipalId(\"22f1d2a6-d0e9-482a-83a4-b8dd7dddc2c1\")\n .tenantId(\"91402384-d71e-22f5-22dd-759e272cdc1c\")\n .build())\n .build());\n\n final var singleSetup = MongodbatlasFunctions.getCloudProviderAccessSetup(GetCloudProviderAccessSetupArgs.builder()\n .projectId(testRole.projectId())\n .providerName(testRole.providerName())\n .roleId(testRole.roleId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testRole:\n type: mongodbatlas:CloudProviderAccessSetup\n properties:\n projectId: 64259ee860c43338194b0f8e\n providerName: AZURE\n azureConfigs:\n - atlasAzureAppId: 9f2deb0d-be22-4524-a403-df531868bac0\n servicePrincipalId: 22f1d2a6-d0e9-482a-83a4-b8dd7dddc2c1\n tenantId: 91402384-d71e-22f5-22dd-759e272cdc1c\nvariables:\n singleSetup:\n fn::invoke:\n Function: mongodbatlas:getCloudProviderAccessSetup\n Arguments:\n projectId: ${testRole.projectId}\n providerName: ${testRole.providerName}\n roleId: ${testRole.roleId}\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "`mongodbatlas_cloud_provider_access` allows you to get a single role for a provider access role setup, currently only AWS and Azure are supported.\n\n\u003e **NOTE:** Groups and projects are synonymous terms. You may find `groupId` in the official documentation.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### With AWS\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst testRole = new mongodbatlas.CloudProviderAccessSetup(\"testRole\", {\n projectId: \"64259ee860c43338194b0f8e\",\n providerName: \"AWS\",\n});\nconst singleSetup = mongodbatlas.getCloudProviderAccessSetupOutput({\n projectId: testRole.projectId,\n providerName: testRole.providerName,\n roleId: testRole.roleId,\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\ntest_role = mongodbatlas.CloudProviderAccessSetup(\"testRole\",\n project_id=\"64259ee860c43338194b0f8e\",\n provider_name=\"AWS\")\nsingle_setup = mongodbatlas.get_cloud_provider_access_setup_output(project_id=test_role.project_id,\n provider_name=test_role.provider_name,\n role_id=test_role.role_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 testRole = new Mongodbatlas.CloudProviderAccessSetup(\"testRole\", new()\n {\n ProjectId = \"64259ee860c43338194b0f8e\",\n ProviderName = \"AWS\",\n });\n\n var singleSetup = Mongodbatlas.GetCloudProviderAccessSetup.Invoke(new()\n {\n ProjectId = testRole.ProjectId,\n ProviderName = testRole.ProviderName,\n RoleId = testRole.RoleId,\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\ttestRole, err := mongodbatlas.NewCloudProviderAccessSetup(ctx, \"testRole\", \u0026mongodbatlas.CloudProviderAccessSetupArgs{\n\t\t\tProjectId: pulumi.String(\"64259ee860c43338194b0f8e\"),\n\t\t\tProviderName: pulumi.String(\"AWS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = mongodbatlas.LookupCloudProviderAccessSetupOutput(ctx, mongodbatlas.GetCloudProviderAccessSetupOutputArgs{\n\t\t\tProjectId: testRole.ProjectId,\n\t\t\tProviderName: testRole.ProviderName,\n\t\t\tRoleId: testRole.RoleId,\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.CloudProviderAccessSetup;\nimport com.pulumi.mongodbatlas.CloudProviderAccessSetupArgs;\nimport com.pulumi.mongodbatlas.MongodbatlasFunctions;\nimport com.pulumi.mongodbatlas.inputs.GetCloudProviderAccessSetupArgs;\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 testRole = new CloudProviderAccessSetup(\"testRole\", CloudProviderAccessSetupArgs.builder() \n .projectId(\"64259ee860c43338194b0f8e\")\n .providerName(\"AWS\")\n .build());\n\n final var singleSetup = MongodbatlasFunctions.getCloudProviderAccessSetup(GetCloudProviderAccessSetupArgs.builder()\n .projectId(testRole.projectId())\n .providerName(testRole.providerName())\n .roleId(testRole.roleId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testRole:\n type: mongodbatlas:CloudProviderAccessSetup\n properties:\n projectId: 64259ee860c43338194b0f8e\n providerName: AWS\nvariables:\n singleSetup:\n fn::invoke:\n Function: mongodbatlas:getCloudProviderAccessSetup\n Arguments:\n projectId: ${testRole.projectId}\n providerName: ${testRole.providerName}\n roleId: ${testRole.roleId}\n```\n\n{{% /example %}}\n{{% example %}}\n### With AZURE\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as mongodbatlas from \"@pulumi/mongodbatlas\";\n\nconst testRole = new mongodbatlas.CloudProviderAccessSetup(\"testRole\", {\n projectId: \"64259ee860c43338194b0f8e\",\n providerName: \"AZURE\",\n azureConfigs: [{\n atlasAzureAppId: \"9f2deb0d-be22-4524-a403-df531868bac0\",\n servicePrincipalId: \"22f1d2a6-d0e9-482a-83a4-b8dd7dddc2c1\",\n tenantId: \"91402384-d71e-22f5-22dd-759e272cdc1c\",\n }],\n});\nconst singleSetup = mongodbatlas.getCloudProviderAccessSetupOutput({\n projectId: testRole.projectId,\n providerName: testRole.providerName,\n roleId: testRole.roleId,\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\ntest_role = mongodbatlas.CloudProviderAccessSetup(\"testRole\",\n project_id=\"64259ee860c43338194b0f8e\",\n provider_name=\"AZURE\",\n azure_configs=[mongodbatlas.CloudProviderAccessSetupAzureConfigArgs(\n atlas_azure_app_id=\"9f2deb0d-be22-4524-a403-df531868bac0\",\n service_principal_id=\"22f1d2a6-d0e9-482a-83a4-b8dd7dddc2c1\",\n tenant_id=\"91402384-d71e-22f5-22dd-759e272cdc1c\",\n )])\nsingle_setup = mongodbatlas.get_cloud_provider_access_setup_output(project_id=test_role.project_id,\n provider_name=test_role.provider_name,\n role_id=test_role.role_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 testRole = new Mongodbatlas.CloudProviderAccessSetup(\"testRole\", new()\n {\n ProjectId = \"64259ee860c43338194b0f8e\",\n ProviderName = \"AZURE\",\n AzureConfigs = new[]\n {\n new Mongodbatlas.Inputs.CloudProviderAccessSetupAzureConfigArgs\n {\n AtlasAzureAppId = \"9f2deb0d-be22-4524-a403-df531868bac0\",\n ServicePrincipalId = \"22f1d2a6-d0e9-482a-83a4-b8dd7dddc2c1\",\n TenantId = \"91402384-d71e-22f5-22dd-759e272cdc1c\",\n },\n },\n });\n\n var singleSetup = Mongodbatlas.GetCloudProviderAccessSetup.Invoke(new()\n {\n ProjectId = testRole.ProjectId,\n ProviderName = testRole.ProviderName,\n RoleId = testRole.RoleId,\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\ttestRole, err := mongodbatlas.NewCloudProviderAccessSetup(ctx, \"testRole\", \u0026mongodbatlas.CloudProviderAccessSetupArgs{\n\t\t\tProjectId: pulumi.String(\"64259ee860c43338194b0f8e\"),\n\t\t\tProviderName: pulumi.String(\"AZURE\"),\n\t\t\tAzureConfigs: mongodbatlas.CloudProviderAccessSetupAzureConfigArray{\n\t\t\t\t\u0026mongodbatlas.CloudProviderAccessSetupAzureConfigArgs{\n\t\t\t\t\tAtlasAzureAppId: pulumi.String(\"9f2deb0d-be22-4524-a403-df531868bac0\"),\n\t\t\t\t\tServicePrincipalId: pulumi.String(\"22f1d2a6-d0e9-482a-83a4-b8dd7dddc2c1\"),\n\t\t\t\t\tTenantId: pulumi.String(\"91402384-d71e-22f5-22dd-759e272cdc1c\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = mongodbatlas.LookupCloudProviderAccessSetupOutput(ctx, mongodbatlas.GetCloudProviderAccessSetupOutputArgs{\n\t\t\tProjectId: testRole.ProjectId,\n\t\t\tProviderName: testRole.ProviderName,\n\t\t\tRoleId: testRole.RoleId,\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.CloudProviderAccessSetup;\nimport com.pulumi.mongodbatlas.CloudProviderAccessSetupArgs;\nimport com.pulumi.mongodbatlas.inputs.CloudProviderAccessSetupAzureConfigArgs;\nimport com.pulumi.mongodbatlas.MongodbatlasFunctions;\nimport com.pulumi.mongodbatlas.inputs.GetCloudProviderAccessSetupArgs;\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 testRole = new CloudProviderAccessSetup(\"testRole\", CloudProviderAccessSetupArgs.builder() \n .projectId(\"64259ee860c43338194b0f8e\")\n .providerName(\"AZURE\")\n .azureConfigs(CloudProviderAccessSetupAzureConfigArgs.builder()\n .atlasAzureAppId(\"9f2deb0d-be22-4524-a403-df531868bac0\")\n .servicePrincipalId(\"22f1d2a6-d0e9-482a-83a4-b8dd7dddc2c1\")\n .tenantId(\"91402384-d71e-22f5-22dd-759e272cdc1c\")\n .build())\n .build());\n\n final var singleSetup = MongodbatlasFunctions.getCloudProviderAccessSetup(GetCloudProviderAccessSetupArgs.builder()\n .projectId(testRole.projectId())\n .providerName(testRole.providerName())\n .roleId(testRole.roleId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testRole:\n type: mongodbatlas:CloudProviderAccessSetup\n properties:\n projectId: 64259ee860c43338194b0f8e\n providerName: AZURE\n azureConfigs:\n - atlasAzureAppId: 9f2deb0d-be22-4524-a403-df531868bac0\n servicePrincipalId: 22f1d2a6-d0e9-482a-83a4-b8dd7dddc2c1\n tenantId: 91402384-d71e-22f5-22dd-759e272cdc1c\nvariables:\n singleSetup:\n fn::invoke:\n Function: mongodbatlas:getCloudProviderAccessSetup\n Arguments:\n projectId: ${testRole.projectId}\n providerName: ${testRole.providerName}\n roleId: ${testRole.roleId}\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getCloudProviderAccessSetup.\n", "properties": { @@ -22564,6 +22742,7 @@ }, "password": { "type": "string", + "deprecationMessage": "this parameter is deprecated and will be removed in version 1.16.0", "secret": true }, "projectId": { @@ -23163,7 +23342,7 @@ } }, "mongodbatlas:index/getFederatedSettingsIdentityProvider:getFederatedSettingsIdentityProvider": { - "description": "`mongodbatlas.FederatedSettingsIdentityProvider` provides a federated settings identity provider data source. Atlas federated settings identity provider provides federated settings outputs for the configured identity provider.\n\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 identityProvider = new mongodbatlas.FederatedSettingsIdentityProvider(\"identityProvider\", {\n federationSettingsId: \"627a9687f7f7f7f774de306f14\",\n associatedDomains: [\"yourdomain.com\"],\n ssoDebugEnabled: true,\n status: \"ACTIVE\",\n ssoUrl: \"https://mysso.oktapreview.com/app/mysso_terraformtest_1/exk177f7f7f70h8/sso/saml\",\n issuerUri: \"http://www.okta.com/exk17f7f7f7f7p50h8\",\n requestBinding: \"HTTP-POST\",\n responseSignatureAlgorithm: \"SHA-256\",\n});\nconst identityProviderDs = mongodbatlas.getFederatedSettingsIdentityProviderOutput({\n federationSettingsId: identityProvider.id,\n identityProviderId: \"0oad47f7fXnk1297\",\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\nidentity_provider = mongodbatlas.FederatedSettingsIdentityProvider(\"identityProvider\",\n federation_settings_id=\"627a9687f7f7f7f774de306f14\",\n associated_domains=[\"yourdomain.com\"],\n sso_debug_enabled=True,\n status=\"ACTIVE\",\n sso_url=\"https://mysso.oktapreview.com/app/mysso_terraformtest_1/exk177f7f7f70h8/sso/saml\",\n issuer_uri=\"http://www.okta.com/exk17f7f7f7f7p50h8\",\n request_binding=\"HTTP-POST\",\n response_signature_algorithm=\"SHA-256\")\nidentity_provider_ds = mongodbatlas.get_federated_settings_identity_provider_output(federation_settings_id=identity_provider.id,\n identity_provider_id=\"0oad47f7fXnk1297\")\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 identityProvider = new Mongodbatlas.FederatedSettingsIdentityProvider(\"identityProvider\", new()\n {\n FederationSettingsId = \"627a9687f7f7f7f774de306f14\",\n AssociatedDomains = new[]\n {\n \"yourdomain.com\",\n },\n SsoDebugEnabled = true,\n Status = \"ACTIVE\",\n SsoUrl = \"https://mysso.oktapreview.com/app/mysso_terraformtest_1/exk177f7f7f70h8/sso/saml\",\n IssuerUri = \"http://www.okta.com/exk17f7f7f7f7p50h8\",\n RequestBinding = \"HTTP-POST\",\n ResponseSignatureAlgorithm = \"SHA-256\",\n });\n\n var identityProviderDs = Mongodbatlas.GetFederatedSettingsIdentityProvider.Invoke(new()\n {\n FederationSettingsId = identityProvider.Id,\n IdentityProviderId = \"0oad47f7fXnk1297\",\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\tidentityProvider, err := mongodbatlas.NewFederatedSettingsIdentityProvider(ctx, \"identityProvider\", \u0026mongodbatlas.FederatedSettingsIdentityProviderArgs{\n\t\t\tFederationSettingsId: pulumi.String(\"627a9687f7f7f7f774de306f14\"),\n\t\t\tAssociatedDomains: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"yourdomain.com\"),\n\t\t\t},\n\t\t\tSsoDebugEnabled: pulumi.Bool(true),\n\t\t\tStatus: pulumi.String(\"ACTIVE\"),\n\t\t\tSsoUrl: pulumi.String(\"https://mysso.oktapreview.com/app/mysso_terraformtest_1/exk177f7f7f70h8/sso/saml\"),\n\t\t\tIssuerUri: pulumi.String(\"http://www.okta.com/exk17f7f7f7f7p50h8\"),\n\t\t\tRequestBinding: pulumi.String(\"HTTP-POST\"),\n\t\t\tResponseSignatureAlgorithm: pulumi.String(\"SHA-256\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = mongodbatlas.LookupFederatedSettingsIdentityProviderOutput(ctx, mongodbatlas.GetFederatedSettingsIdentityProviderOutputArgs{\n\t\t\tFederationSettingsId: identityProvider.ID(),\n\t\t\tIdentityProviderId: pulumi.String(\"0oad47f7fXnk1297\"),\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.FederatedSettingsIdentityProvider;\nimport com.pulumi.mongodbatlas.FederatedSettingsIdentityProviderArgs;\nimport com.pulumi.mongodbatlas.MongodbatlasFunctions;\nimport com.pulumi.mongodbatlas.inputs.GetFederatedSettingsIdentityProviderArgs;\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 identityProvider = new FederatedSettingsIdentityProvider(\"identityProvider\", FederatedSettingsIdentityProviderArgs.builder() \n .federationSettingsId(\"627a9687f7f7f7f774de306f14\")\n .associatedDomains(\"yourdomain.com\")\n .ssoDebugEnabled(true)\n .status(\"ACTIVE\")\n .ssoUrl(\"https://mysso.oktapreview.com/app/mysso_terraformtest_1/exk177f7f7f70h8/sso/saml\")\n .issuerUri(\"http://www.okta.com/exk17f7f7f7f7p50h8\")\n .requestBinding(\"HTTP-POST\")\n .responseSignatureAlgorithm(\"SHA-256\")\n .build());\n\n final var identityProviderDs = MongodbatlasFunctions.getFederatedSettingsIdentityProvider(GetFederatedSettingsIdentityProviderArgs.builder()\n .federationSettingsId(identityProvider.id())\n .identityProviderId(\"0oad47f7fXnk1297\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n identityProvider:\n type: mongodbatlas:FederatedSettingsIdentityProvider\n properties:\n federationSettingsId: 627a9687f7f7f7f774de306f14\n associatedDomains:\n - yourdomain.com\n ssoDebugEnabled: true\n status: ACTIVE\n ssoUrl: https://mysso.oktapreview.com/app/mysso_terraformtest_1/exk177f7f7f70h8/sso/saml\n issuerUri: http://www.okta.com/exk17f7f7f7f7p50h8\n requestBinding: HTTP-POST\n responseSignatureAlgorithm: SHA-256\nvariables:\n identityProviderDs:\n fn::invoke:\n Function: mongodbatlas:getFederatedSettingsIdentityProvider\n Arguments:\n federationSettingsId: ${identityProvider.id}\n identityProviderId: 0oad47f7fXnk1297\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "`mongodbatlas.FederatedSettingsIdentityProvider` provides a federated settings identity provider data source. Atlas federated settings identity provider provides federated settings outputs for the configured identity provider.\n\n\u003e **NOTE:** OIDC Workforce IdP is currently in preview. To learn more about OIDC and existing limitations see the [OIDC Authentication Documentation](https://www.mongodb.com/docs/atlas/security-oidc/)\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 identityProvider = new mongodbatlas.FederatedSettingsIdentityProvider(\"identityProvider\", {\n federationSettingsId: \"627a9687f7f7f7f774de306f14\",\n associatedDomains: [\"yourdomain.com\"],\n ssoDebugEnabled: true,\n status: \"ACTIVE\",\n ssoUrl: \"https://mysso.oktapreview.com/app/mysso_terraformtest_1/exk177f7f7f70h8/sso/saml\",\n issuerUri: \"http://www.okta.com/exk17f7f7f7f7p50h8\",\n requestBinding: \"HTTP-POST\",\n responseSignatureAlgorithm: \"SHA-256\",\n});\nconst identityProviderDs = mongodbatlas.getFederatedSettingsIdentityProviderOutput({\n federationSettingsId: identityProvider.id,\n identityProviderId: \"0oad47f7fXnk1297\",\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\nidentity_provider = mongodbatlas.FederatedSettingsIdentityProvider(\"identityProvider\",\n federation_settings_id=\"627a9687f7f7f7f774de306f14\",\n associated_domains=[\"yourdomain.com\"],\n sso_debug_enabled=True,\n status=\"ACTIVE\",\n sso_url=\"https://mysso.oktapreview.com/app/mysso_terraformtest_1/exk177f7f7f70h8/sso/saml\",\n issuer_uri=\"http://www.okta.com/exk17f7f7f7f7p50h8\",\n request_binding=\"HTTP-POST\",\n response_signature_algorithm=\"SHA-256\")\nidentity_provider_ds = mongodbatlas.get_federated_settings_identity_provider_output(federation_settings_id=identity_provider.id,\n identity_provider_id=\"0oad47f7fXnk1297\")\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 identityProvider = new Mongodbatlas.FederatedSettingsIdentityProvider(\"identityProvider\", new()\n {\n FederationSettingsId = \"627a9687f7f7f7f774de306f14\",\n AssociatedDomains = new[]\n {\n \"yourdomain.com\",\n },\n SsoDebugEnabled = true,\n Status = \"ACTIVE\",\n SsoUrl = \"https://mysso.oktapreview.com/app/mysso_terraformtest_1/exk177f7f7f70h8/sso/saml\",\n IssuerUri = \"http://www.okta.com/exk17f7f7f7f7p50h8\",\n RequestBinding = \"HTTP-POST\",\n ResponseSignatureAlgorithm = \"SHA-256\",\n });\n\n var identityProviderDs = Mongodbatlas.GetFederatedSettingsIdentityProvider.Invoke(new()\n {\n FederationSettingsId = identityProvider.Id,\n IdentityProviderId = \"0oad47f7fXnk1297\",\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\tidentityProvider, err := mongodbatlas.NewFederatedSettingsIdentityProvider(ctx, \"identityProvider\", \u0026mongodbatlas.FederatedSettingsIdentityProviderArgs{\n\t\t\tFederationSettingsId: pulumi.String(\"627a9687f7f7f7f774de306f14\"),\n\t\t\tAssociatedDomains: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"yourdomain.com\"),\n\t\t\t},\n\t\t\tSsoDebugEnabled: pulumi.Bool(true),\n\t\t\tStatus: pulumi.String(\"ACTIVE\"),\n\t\t\tSsoUrl: pulumi.String(\"https://mysso.oktapreview.com/app/mysso_terraformtest_1/exk177f7f7f70h8/sso/saml\"),\n\t\t\tIssuerUri: pulumi.String(\"http://www.okta.com/exk17f7f7f7f7p50h8\"),\n\t\t\tRequestBinding: pulumi.String(\"HTTP-POST\"),\n\t\t\tResponseSignatureAlgorithm: pulumi.String(\"SHA-256\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = mongodbatlas.LookupFederatedSettingsIdentityProviderOutput(ctx, mongodbatlas.GetFederatedSettingsIdentityProviderOutputArgs{\n\t\t\tFederationSettingsId: identityProvider.ID(),\n\t\t\tIdentityProviderId: pulumi.String(\"0oad47f7fXnk1297\"),\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.FederatedSettingsIdentityProvider;\nimport com.pulumi.mongodbatlas.FederatedSettingsIdentityProviderArgs;\nimport com.pulumi.mongodbatlas.MongodbatlasFunctions;\nimport com.pulumi.mongodbatlas.inputs.GetFederatedSettingsIdentityProviderArgs;\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 identityProvider = new FederatedSettingsIdentityProvider(\"identityProvider\", FederatedSettingsIdentityProviderArgs.builder() \n .federationSettingsId(\"627a9687f7f7f7f774de306f14\")\n .associatedDomains(\"yourdomain.com\")\n .ssoDebugEnabled(true)\n .status(\"ACTIVE\")\n .ssoUrl(\"https://mysso.oktapreview.com/app/mysso_terraformtest_1/exk177f7f7f70h8/sso/saml\")\n .issuerUri(\"http://www.okta.com/exk17f7f7f7f7p50h8\")\n .requestBinding(\"HTTP-POST\")\n .responseSignatureAlgorithm(\"SHA-256\")\n .build());\n\n final var identityProviderDs = MongodbatlasFunctions.getFederatedSettingsIdentityProvider(GetFederatedSettingsIdentityProviderArgs.builder()\n .federationSettingsId(identityProvider.id())\n .identityProviderId(\"0oad47f7fXnk1297\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n identityProvider:\n type: mongodbatlas:FederatedSettingsIdentityProvider\n properties:\n federationSettingsId: 627a9687f7f7f7f774de306f14\n associatedDomains:\n - yourdomain.com\n ssoDebugEnabled: true\n status: ACTIVE\n ssoUrl: https://mysso.oktapreview.com/app/mysso_terraformtest_1/exk177f7f7f70h8/sso/saml\n issuerUri: http://www.okta.com/exk17f7f7f7f7p50h8\n requestBinding: HTTP-POST\n responseSignatureAlgorithm: SHA-256\nvariables:\n identityProviderDs:\n fn::invoke:\n Function: mongodbatlas:getFederatedSettingsIdentityProvider\n Arguments:\n federationSettingsId: ${identityProvider.id}\n identityProviderId: 0oad47f7fXnk1297\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getFederatedSettingsIdentityProvider.\n", "properties": { @@ -23172,8 +23351,7 @@ "description": "Unique 24-hexadecimal digit string that identifies the federated authentication configuration.\n" }, "identityProviderId": { - "type": "string", - "description": "Unique 20-hexadecimal digit string that identifies the IdP.\n" + "type": "string" } }, "type": "object", @@ -23203,10 +23381,21 @@ }, "description": "List that contains the organizations from which users can log in for this IdP.\n" }, + "audienceClaims": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Identifier of the intended recipient of the token.\n" + }, "audienceUri": { "type": "string", "description": "Identifier for the intended audience of the SAML Assertion.\n" }, + "clientId": { + "type": "string", + "description": "Client identifier that is assigned to an application by the Identity Provider.\n" + }, "displayName": { "type": "string", "description": "Human-readable label that identifies the IdP.\n" @@ -23215,6 +23404,10 @@ "type": "string", "description": "Unique 24-hexadecimal digit string that identifies the federated authentication configuration.\n" }, + "groupsClaim": { + "type": "string", + "description": "Identifier of the claim which contains IdP Group IDs in the token.\n" + }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" @@ -23222,6 +23415,10 @@ "identityProviderId": { "type": "string" }, + "idpId": { + "type": "string", + "description": "Unique 24-hexadecimal digit string that identifies the IdP\n" + }, "issuerUri": { "type": "string", "description": "Identifier for the issuer of the SAML Assertion.\n" @@ -23236,10 +23433,21 @@ "$ref": "#/types/mongodbatlas:index/getFederatedSettingsIdentityProviderPemFileInfo:getFederatedSettingsIdentityProviderPemFileInfo" } }, + "protocol": { + "type": "string", + "description": "The protocol of the identity provider. Either SAML or OIDC.\n" + }, "requestBinding": { "type": "string", "description": "SAML Authentication Request Protocol binding used to send the AuthNRequest. Atlas supports the following binding values:\n- HTTP POST\n- HTTP REDIRECT\n" }, + "requestedScopes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Scopes that MongoDB applications will request from the authorization endpoint.\n" + }, "responseSignatureAlgorithm": { "type": "string", "description": "Algorithm used to encrypt the IdP signature. Atlas supports the following signature algorithm values:\n- SHA-1\n- SHA-256\n" @@ -23255,6 +23463,10 @@ "status": { "type": "string", "description": "Label that indicates whether the identity provider is active. The IdP is Inactive until you map at least one domain to the IdP.\n" + }, + "userClaim": { + "type": "string", + "description": "Identifier of the claim which contains the user ID in the token.\n" } }, "type": "object", @@ -23262,24 +23474,31 @@ "acsUrl", "associatedDomains", "associatedOrgs", + "audienceClaims", "audienceUri", + "clientId", "displayName", "federationSettingsId", + "groupsClaim", "identityProviderId", + "idpId", "issuerUri", "oktaIdpId", "pemFileInfos", + "protocol", "requestBinding", + "requestedScopes", "responseSignatureAlgorithm", "ssoDebugEnabled", "ssoUrl", "status", + "userClaim", "id" ] } }, "mongodbatlas:index/getFederatedSettingsIdentityProviders:getFederatedSettingsIdentityProviders": { - "description": "`mongodbatlas.getFederatedSettingsIdentityProviders` provides an Federated Settings Identity Providers datasource. Atlas Cloud Federated Settings Identity Providers provides federated settings outputs for the configured Identity Providers.\n\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 identityProvider = new mongodbatlas.FederatedSettingsIdentityProvider(\"identityProvider\", {\n federationSettingsId: \"627a9687f7f7f7f774de306f14\",\n associatedDomains: [\"yourdomain.com\"],\n ssoDebugEnabled: true,\n status: \"ACTIVE\",\n});\nconst identittyProvider = identityProvider.id.apply(id =\u003e mongodbatlas.getFederatedSettingsIdentityProvidersOutput({\n federationSettingsId: id,\n pageNum: 1,\n itemsPerPage: 5,\n}));\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\nidentity_provider = mongodbatlas.FederatedSettingsIdentityProvider(\"identityProvider\",\n federation_settings_id=\"627a9687f7f7f7f774de306f14\",\n associated_domains=[\"yourdomain.com\"],\n sso_debug_enabled=True,\n status=\"ACTIVE\")\nidentitty_provider = identity_provider.id.apply(lambda id: mongodbatlas.get_federated_settings_identity_providers_output(federation_settings_id=id,\n page_num=1,\n items_per_page=5))\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 identityProvider = new Mongodbatlas.FederatedSettingsIdentityProvider(\"identityProvider\", new()\n {\n FederationSettingsId = \"627a9687f7f7f7f774de306f14\",\n AssociatedDomains = new[]\n {\n \"yourdomain.com\",\n },\n SsoDebugEnabled = true,\n Status = \"ACTIVE\",\n });\n\n var identittyProvider = Mongodbatlas.GetFederatedSettingsIdentityProviders.Invoke(new()\n {\n FederationSettingsId = identityProvider.Id,\n PageNum = 1,\n ItemsPerPage = 5,\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\tidentityProvider, err := mongodbatlas.NewFederatedSettingsIdentityProvider(ctx, \"identityProvider\", \u0026mongodbatlas.FederatedSettingsIdentityProviderArgs{\n\t\t\tFederationSettingsId: pulumi.String(\"627a9687f7f7f7f774de306f14\"),\n\t\t\tAssociatedDomains: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"yourdomain.com\"),\n\t\t\t},\n\t\t\tSsoDebugEnabled: pulumi.Bool(true),\n\t\t\tStatus: pulumi.String(\"ACTIVE\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = identityProvider.ID().ApplyT(func(id string) (mongodbatlas.GetFederatedSettingsIdentityProvidersResult, error) {\n\t\t\treturn mongodbatlas.LookupFederatedSettingsIdentityProvidersOutput(ctx, mongodbatlas.GetFederatedSettingsIdentityProvidersOutputArgs{\n\t\t\t\tFederationSettingsId: id,\n\t\t\t\tPageNum: 1,\n\t\t\t\tItemsPerPage: 5,\n\t\t\t}, nil), nil\n\t\t}).(mongodbatlas.GetFederatedSettingsIdentityProvidersResultOutput)\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.FederatedSettingsIdentityProvider;\nimport com.pulumi.mongodbatlas.FederatedSettingsIdentityProviderArgs;\nimport com.pulumi.mongodbatlas.MongodbatlasFunctions;\nimport com.pulumi.mongodbatlas.inputs.GetFederatedSettingsIdentityProvidersArgs;\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 identityProvider = new FederatedSettingsIdentityProvider(\"identityProvider\", FederatedSettingsIdentityProviderArgs.builder() \n .federationSettingsId(\"627a9687f7f7f7f774de306f14\")\n .associatedDomains(\"yourdomain.com\")\n .ssoDebugEnabled(true)\n .status(\"ACTIVE\")\n .build());\n\n final var identittyProvider = MongodbatlasFunctions.getFederatedSettingsIdentityProviders(GetFederatedSettingsIdentityProvidersArgs.builder()\n .federationSettingsId(identityProvider.id())\n .pageNum(1)\n .itemsPerPage(5)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n identityProvider:\n type: mongodbatlas:FederatedSettingsIdentityProvider\n properties:\n federationSettingsId: 627a9687f7f7f7f774de306f14\n associatedDomains:\n - yourdomain.com\n ssoDebugEnabled: true\n status: ACTIVE\nvariables:\n identittyProvider:\n fn::invoke:\n Function: mongodbatlas:getFederatedSettingsIdentityProviders\n Arguments:\n federationSettingsId: ${identityProvider.id}\n pageNum: 1\n itemsPerPage: 5\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "`mongodbatlas.getFederatedSettingsIdentityProviders` provides an Federated Settings Identity Providers datasource. Atlas Cloud Federated Settings Identity Providers provides federated settings outputs for the configured Identity Providers.\n\n\u003e **NOTE:** OIDC Workforce IdP is currently in preview. To learn more about OIDC and existing limitations see the [OIDC Authentication Documentation](https://www.mongodb.com/docs/atlas/security-oidc/).\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 identityProvider = new mongodbatlas.FederatedSettingsIdentityProvider(\"identityProvider\", {\n federationSettingsId: \"627a9687f7f7f7f774de306f14\",\n associatedDomains: [\"yourdomain.com\"],\n ssoDebugEnabled: true,\n status: \"ACTIVE\",\n});\nconst identittyProvider = identityProvider.id.apply(id =\u003e mongodbatlas.getFederatedSettingsIdentityProvidersOutput({\n federationSettingsId: id,\n pageNum: 1,\n itemsPerPage: 5,\n}));\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\nidentity_provider = mongodbatlas.FederatedSettingsIdentityProvider(\"identityProvider\",\n federation_settings_id=\"627a9687f7f7f7f774de306f14\",\n associated_domains=[\"yourdomain.com\"],\n sso_debug_enabled=True,\n status=\"ACTIVE\")\nidentitty_provider = identity_provider.id.apply(lambda id: mongodbatlas.get_federated_settings_identity_providers_output(federation_settings_id=id,\n page_num=1,\n items_per_page=5))\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 identityProvider = new Mongodbatlas.FederatedSettingsIdentityProvider(\"identityProvider\", new()\n {\n FederationSettingsId = \"627a9687f7f7f7f774de306f14\",\n AssociatedDomains = new[]\n {\n \"yourdomain.com\",\n },\n SsoDebugEnabled = true,\n Status = \"ACTIVE\",\n });\n\n var identittyProvider = Mongodbatlas.GetFederatedSettingsIdentityProviders.Invoke(new()\n {\n FederationSettingsId = identityProvider.Id,\n PageNum = 1,\n ItemsPerPage = 5,\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\tidentityProvider, err := mongodbatlas.NewFederatedSettingsIdentityProvider(ctx, \"identityProvider\", \u0026mongodbatlas.FederatedSettingsIdentityProviderArgs{\n\t\t\tFederationSettingsId: pulumi.String(\"627a9687f7f7f7f774de306f14\"),\n\t\t\tAssociatedDomains: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"yourdomain.com\"),\n\t\t\t},\n\t\t\tSsoDebugEnabled: pulumi.Bool(true),\n\t\t\tStatus: pulumi.String(\"ACTIVE\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = identityProvider.ID().ApplyT(func(id string) (mongodbatlas.GetFederatedSettingsIdentityProvidersResult, error) {\n\t\t\treturn mongodbatlas.LookupFederatedSettingsIdentityProvidersOutput(ctx, mongodbatlas.GetFederatedSettingsIdentityProvidersOutputArgs{\n\t\t\t\tFederationSettingsId: id,\n\t\t\t\tPageNum: 1,\n\t\t\t\tItemsPerPage: 5,\n\t\t\t}, nil), nil\n\t\t}).(mongodbatlas.GetFederatedSettingsIdentityProvidersResultOutput)\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.FederatedSettingsIdentityProvider;\nimport com.pulumi.mongodbatlas.FederatedSettingsIdentityProviderArgs;\nimport com.pulumi.mongodbatlas.MongodbatlasFunctions;\nimport com.pulumi.mongodbatlas.inputs.GetFederatedSettingsIdentityProvidersArgs;\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 identityProvider = new FederatedSettingsIdentityProvider(\"identityProvider\", FederatedSettingsIdentityProviderArgs.builder() \n .federationSettingsId(\"627a9687f7f7f7f774de306f14\")\n .associatedDomains(\"yourdomain.com\")\n .ssoDebugEnabled(true)\n .status(\"ACTIVE\")\n .build());\n\n final var identittyProvider = MongodbatlasFunctions.getFederatedSettingsIdentityProviders(GetFederatedSettingsIdentityProvidersArgs.builder()\n .federationSettingsId(identityProvider.id())\n .pageNum(1)\n .itemsPerPage(5)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n identityProvider:\n type: mongodbatlas:FederatedSettingsIdentityProvider\n properties:\n federationSettingsId: 627a9687f7f7f7f774de306f14\n associatedDomains:\n - yourdomain.com\n ssoDebugEnabled: true\n status: ACTIVE\nvariables:\n identittyProvider:\n fn::invoke:\n Function: mongodbatlas:getFederatedSettingsIdentityProviders\n Arguments:\n federationSettingsId: ${identityProvider.id}\n pageNum: 1\n itemsPerPage: 5\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getFederatedSettingsIdentityProviders.\n", "properties": { @@ -24472,6 +24691,10 @@ "outputs": { "description": "A collection of values returned by getOrganization.\n", "properties": { + "apiAccessListRequired": { + "type": "boolean", + "description": "(Optional) Flag that indicates whether to require API operations to originate from an IP Address added to the API access list for the specified organization.\n" + }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" @@ -24486,20 +24709,31 @@ "$ref": "#/types/mongodbatlas:index/getOrganizationLink:getOrganizationLink" } }, + "multiFactorAuthRequired": { + "type": "boolean", + "description": "(Optional) Flag that indicates whether to require users to set up Multi-Factor Authentication (MFA) before accessing the specified organization. To learn more, see: https://www.mongodb.com/docs/atlas/security-multi-factor-authentication/.\n" + }, "name": { "type": "string", "description": "Human-readable label that identifies the organization.\n" }, "orgId": { "type": "string" + }, + "restrictEmployeeAccess": { + "type": "boolean", + "description": "(Optional) Flag that indicates whether to block MongoDB Support from accessing Atlas infrastructure for any deployment in the specified organization without explicit permission. Once this setting is turned on, you can grant MongoDB Support a 24-hour bypass access to the Atlas deployment to resolve support issues. To learn more, see: https://www.mongodb.com/docs/atlas/security-restrict-support-access/.\n" } }, "type": "object", "required": [ + "apiAccessListRequired", "isDeleted", "links", + "multiFactorAuthRequired", "name", "orgId", + "restrictEmployeeAccess", "id" ] } @@ -24510,7 +24744,8 @@ "description": "A collection of arguments for invoking getOrganizations.\n", "properties": { "includeDeletedOrgs": { - "type": "boolean" + "type": "boolean", + "deprecationMessage": "this parameter is deprecated and will be removed in version 1.16.0" }, "itemsPerPage": { "type": "integer", @@ -24535,7 +24770,8 @@ "description": "The provider-assigned unique ID for this managed resource.\n" }, "includeDeletedOrgs": { - "type": "boolean" + "type": "boolean", + "deprecationMessage": "this parameter is deprecated and will be removed in version 1.16.0" }, "itemsPerPage": { "type": "integer" @@ -25107,11 +25343,15 @@ }, "created": { "type": "string", - "description": "The ISO-8601-formatted timestamp of when Atlas created the project.\n* `teams.#.team_id` - The unique identifier of the team you want to associate with the project. The team and project must share the same parent organization.\n* `teams.#.role_names` - Each string in the array represents a project role assigned to the team. Every user associated with the team inherits these roles. The [MongoDB Documentation](https://www.mongodb.com/docs/atlas/reference/user-roles/#organization-roles) describes the roles a user can have.\n* `limits.#.name` - Human-readable label that identifies this project limit.\n* `limits.#.value` - Amount the limit is set to.\n* `limits.#.current_usage` - Amount that indicates the current usage of the limit.\n* `limits.#.default_limit` - Default value of the limit.\n* `limits.#.maximum_limit` - Maximum value of the limit.\n" + "description": "The ISO-8601-formatted timestamp of when Atlas created the project.\n" }, "id": { "type": "string" }, + "ipAddresses": { + "$ref": "#/types/mongodbatlas:index/getProjectIpAddresses:getProjectIpAddresses", + "description": "IP addresses in a project categorized by services. See IP Addresses.\n" + }, "isCollectDatabaseSpecificsStatisticsEnabled": { "type": "boolean", "description": "Flag that indicates whether to enable statistics in [cluster metrics](https://www.mongodb.com/docs/atlas/monitor-cluster-metrics/) collection for the project.\n" @@ -25140,11 +25380,12 @@ "type": "array", "items": { "$ref": "#/types/mongodbatlas:index/getProjectLimit:getProjectLimit" - } + }, + "description": "The limits for the specified project. See Limits.\n" }, "name": { "type": "string", - "description": "The name of the project you want to create.\n" + "description": "Human-readable label that identifies this project limit.\n" }, "orgId": { "type": "string", @@ -25161,7 +25402,8 @@ "type": "array", "items": { "$ref": "#/types/mongodbatlas:index/getProjectTeam:getProjectTeam" - } + }, + "description": "Returns all teams to which the authenticated user has access in the project. See Teams.\n" } }, "type": "object", @@ -25169,6 +25411,7 @@ "clusterCount", "created", "id", + "ipAddresses", "isCollectDatabaseSpecificsStatisticsEnabled", "isDataExplorerEnabled", "isExtendedStorageSizesEnabled", @@ -25507,17 +25750,17 @@ } }, "mongodbatlas:index/getSearchDeployment:getSearchDeployment": { - "description": "`mongodbatlas.SearchDeployment` describes a search node deployment.\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 test = mongodbatlas.getSearchDeployment({\n clusterName: \"\u003cCLUSTER_NAME\u003e\",\n projectId: \"\u003cPROJECT_ID\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_mongodbatlas as mongodbatlas\n\ntest = mongodbatlas.get_search_deployment(cluster_name=\"\u003cCLUSTER_NAME\u003e\",\n project_id=\"\u003cPROJECT_ID\u003e\")\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.GetSearchDeployment.Invoke(new()\n {\n ClusterName = \"\u003cCLUSTER_NAME\u003e\",\n ProjectId = \"\u003cPROJECT_ID\u003e\",\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.LookupSearchDeployment(ctx, \u0026mongodbatlas.LookupSearchDeploymentArgs{\n\t\t\tClusterName: \"\u003cCLUSTER_NAME\u003e\",\n\t\t\tProjectId: \"\u003cPROJECT_ID\u003e\",\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.GetSearchDeploymentArgs;\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.getSearchDeployment(GetSearchDeploymentArgs.builder()\n .clusterName(\"\u003cCLUSTER_NAME\u003e\")\n .projectId(\"\u003cPROJECT_ID\u003e\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: mongodbatlas:getSearchDeployment\n Arguments:\n clusterName: \u003cCLUSTER_NAME\u003e\n projectId: \u003cPROJECT_ID\u003e\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "`mongodbatlas.SearchDeployment` describes a search node deployment.\n\n{{% examples %}}\n## Example Usage\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getSearchDeployment.\n", "properties": { "clusterName": { "type": "string", - "description": "The name of the cluster containing a search node deployment.\n" + "description": "Label that identifies the cluster to return the search nodes for.\n" }, "projectId": { "type": "string", - "description": "The unique identifier for the [project](https://docs.atlas.mongodb.com/organizations-projects/#std-label-projects) that contains the specified cluster.\n" + "description": "Unique 24-hexadecimal digit string that identifies your project.\n" } }, "type": "object", @@ -25530,24 +25773,27 @@ "description": "A collection of values returned by getSearchDeployment.\n", "properties": { "clusterName": { - "type": "string" + "type": "string", + "description": "Label that identifies the cluster to return the search nodes for.\n" }, "id": { - "type": "string" + "type": "string", + "description": "Unique 24-hexadecimal digit string that identifies the search deployment.\n" }, "projectId": { - "type": "string" + "type": "string", + "description": "Unique 24-hexadecimal digit string that identifies your project.\n" }, "specs": { "type": "array", "items": { "$ref": "#/types/mongodbatlas:index/getSearchDeploymentSpec:getSearchDeploymentSpec" }, - "description": "List of settings that configure the search nodes for your cluster. See specs.\n" + "description": "List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element.\n" }, "stateName": { "type": "string", - "description": "Human-readable label that indicates the current operating condition of this search node deployment.\n" + "description": "Human-readable label that indicates the current operating condition of this search deployment.\n" } }, "type": "object", @@ -25612,9 +25858,6 @@ "type": "string", "description": "[Analyzer](https://docs.atlas.mongodb.com/reference/atlas-search/analyzers/#std-label-analyzers-ref) to use when searching the index.\n" }, - "status": { - "type": "string" - }, "type": { "type": "string" } @@ -25678,7 +25921,8 @@ "description": "[Analyzer](https://docs.atlas.mongodb.com/reference/atlas-search/analyzers/#std-label-analyzers-ref) to use when searching the index.\n" }, "status": { - "type": "string" + "type": "string", + "description": "Current status of the index.\n" }, "synonyms": { "type": "array", @@ -25703,7 +25947,7 @@ } }, "mongodbatlas:index/getSearchIndexes:getSearchIndexes": { - "description": "`mongodbatlas.getSearchIndexes` describe all search indexes. This represents search indexes that have been created.\n\n\u003e **NOTE:** Groups and projects are synonymous terms. You may find `groupId` in the official documentation.\n\n\n{{% 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.MongodbatlasFunctions;\nimport com.pulumi.mongodbatlas.inputs.GetSearchIndexArgs;\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.getSearchIndex(GetSearchIndexArgs.builder()\n .clusterName(\"\u003cCLUSTER_NAME\u003e\")\n .collectionName(\"\u003cCOLLECTION_NAME\u003e\")\n .databaseName(\"\u003cDATABASE_NAME\u003e\")\n .itemsPerPage(100)\n .pageNum(1)\n .projectId(\"\u003cPROJECT_ID\u003e\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: mongodbatlas:getSearchIndex\n Arguments:\n clusterName: \u003cCLUSTER_NAME\u003e\n collectionName: \u003cCOLLECTION_NAME\u003e\n databaseName: \u003cDATABASE_NAME\u003e\n itemsPerPage: 100\n pageNum: 1\n projectId: \u003cPROJECT_ID\u003e\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "`mongodbatlas.getSearchIndexes` describe all search indexes. This represents search indexes that have been created.\n\n\u003e **NOTE:** Groups and projects are synonymous terms. You may find `groupId` in the official documentation.\n\n\n{{% 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.MongodbatlasFunctions;\nimport com.pulumi.mongodbatlas.inputs.GetSearchIndexesArgs;\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.getSearchIndexes(GetSearchIndexesArgs.builder()\n .clusterName(\"\u003cCLUSTER_NAME\u003e\")\n .collectionName(\"\u003cCOLLECTION_NAME\u003e\")\n .databaseName(\"\u003cDATABASE_NAME\u003e\")\n .projectId(\"\u003cPROJECT_ID\u003e\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: mongodbatlas:getSearchIndexes\n Arguments:\n clusterName: \u003cCLUSTER_NAME\u003e\n collectionName: \u003cCOLLECTION_NAME\u003e\n databaseName: \u003cDATABASE_NAME\u003e\n projectId: \u003cPROJECT_ID\u003e\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getSearchIndexes.\n", "properties": { @@ -25719,16 +25963,6 @@ "type": "string", "description": "(Required) Name of the database the collection is in.\n" }, - "itemsPerPage": { - "type": "integer", - "description": "Number of items that Atlas returns per page, up to a maximum of 500. **WARNING:** this parameter is deprecated and will be removed in version 1.15.0\n", - "deprecationMessage": "this parameter is deprecated and will be removed in version 1.15.0" - }, - "pageNum": { - "type": "integer", - "description": "Page number, starting with one, that Atlas returns of the total number of objects. **WARNING:** this parameter is deprecated and will be removed in version 1.15.0\n", - "deprecationMessage": "this parameter is deprecated and will be removed in version 1.15.0" - }, "projectId": { "type": "string", "description": "Unique identifier for the [project](https://docs.atlas.mongodb.com/organizations-projects/#std-label-projects) that contains the specified cluster.\n" @@ -25760,14 +25994,6 @@ "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, - "itemsPerPage": { - "type": "integer", - "deprecationMessage": "this parameter is deprecated and will be removed in version 1.15.0" - }, - "pageNum": { - "type": "integer", - "deprecationMessage": "this parameter is deprecated and will be removed in version 1.15.0" - }, "projectId": { "type": "string" }, diff --git a/provider/go.mod b/provider/go.mod index 4ee9fd56..31090816 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -4,7 +4,7 @@ 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-20240129205329-74776a5cd5f9 +replace github.com/hashicorp/terraform-plugin-sdk/v2 => github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20240202163305-e2a20ae13ef9 require ( github.com/mongodb/terraform-provider-mongodbatlas/shim v0.0.0 @@ -43,7 +43,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.49.1 // indirect + github.com/aws/aws-sdk-go v1.50.7 // indirect github.com/aws/aws-sdk-go-v2 v1.24.0 // indirect github.com/aws/aws-sdk-go-v2/config v1.26.1 // indirect github.com/aws/aws-sdk-go-v2/credentials v1.16.12 // indirect @@ -128,7 +128,7 @@ require ( github.com/hashicorp/terraform-plugin-log v0.9.0 // indirect github.com/hashicorp/terraform-plugin-mux v0.14.0 // indirect github.com/hashicorp/terraform-plugin-sdk v1.17.2 // indirect - github.com/hashicorp/terraform-plugin-sdk/v2 v2.31.0 // indirect + github.com/hashicorp/terraform-plugin-sdk/v2 v2.32.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 @@ -161,7 +161,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/mongodb/terraform-provider-mongodbatlas v1.15.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 @@ -216,10 +216,11 @@ require ( github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f // indirect github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect github.com/xeipuuv/gojsonschema v1.2.0 // indirect - github.com/zclconf/go-cty v1.14.1 // indirect + github.com/zclconf/go-cty v1.14.2 // 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/atlas-sdk/v20231001002 v20231001002.0.0 // indirect + go.mongodb.org/atlas-sdk/v20231115005 v20231115005.0.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 ba6791ab..b54f9d10 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -823,8 +823,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.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 v1.50.7 h1:odKb+uneeGgF2jgAerKjFzpljiyZxleV4SHB7oBK+YA= +github.com/aws/aws-sdk-go v1.50.7/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.24.0 h1:890+mqQ+hTpNuw0gGP6/4akolQkSToDJgHfQE7AwGuk= @@ -1664,8 +1664,8 @@ github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ github.com/hashicorp/golang-lru v0.5.4 h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+lJfyTc= github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= github.com/hashicorp/hc-install v0.6.0/go.mod h1:10I912u3nntx9Umo1VAeYPUUuehk0aRQJYpMwbX5wQA= -github.com/hashicorp/hc-install v0.6.1 h1:IGxShH7AVhPaSuSJpKtVi/EFORNjO+OYVJJrAtGG2mY= -github.com/hashicorp/hc-install v0.6.1/go.mod h1:0fW3jpg+wraYSnFDJ6Rlie3RvLf1bIqVIkzoon4KoVE= +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= @@ -1690,12 +1690,14 @@ github.com/hashicorp/terraform-config-inspect v0.0.0-20191115094559-17f92b0546e8 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-exec v0.20.0 h1:DIZnPsqzPGuUnq6cH8jWcPunBfY+C+M8JyYF3vpnuEo= +github.com/hashicorp/terraform-exec v0.20.0/go.mod h1:ckKGkJWbsNqFKV1itgMnE0hY9IYf1HoiekpuN0eWoDw= github.com/hashicorp/terraform-json v0.4.0/go.mod h1:eAbqb4w0pSlRmdvl8fOyHAi/+8jnkVYN28gJkSJrLhU= github.com/hashicorp/terraform-json v0.10.0/go.mod h1:3defM4kkMfttwiE7VakJDwCd4R+umhSQnvJwORXbprE= -github.com/hashicorp/terraform-json v0.17.1 h1:eMfvh/uWggKmY7Pmb3T85u86E2EQg6EQHgyRwf3RkyA= github.com/hashicorp/terraform-json v0.17.1/go.mod h1:Huy6zt6euxaY9knPAFKjUITn8QxUFIe9VuSzb4zn/0o= +github.com/hashicorp/terraform-json v0.21.0 h1:9NQxbLNqPbEMze+S6+YluEdXgJmhQykRyRNd+zTI05U= +github.com/hashicorp/terraform-json v0.21.0/go.mod h1:qdeBs11ovMzo5puhrRibdD6d2Dq6TyE/28JiU4tIQxk= github.com/hashicorp/terraform-plugin-framework v1.5.0 h1:8kcvqJs/x6QyOFSdeAyEgsenVOUeC/IyKpi2ul4fjTg= github.com/hashicorp/terraform-plugin-framework v1.5.0/go.mod h1:6waavirukIlFpVpthbGd2PUNYaFedB0RwW3MDzJ/rtc= github.com/hashicorp/terraform-plugin-framework-timeouts v0.4.1 h1:gm5b1kHgFFhaKFhm4h2TgvMUlNzFAtUqlcOWnWPm+9E= @@ -1714,8 +1716,8 @@ github.com/hashicorp/terraform-plugin-sdk v1.17.2 h1:V7DUR3yBWFrVB9z3ddpY7kiYVSs github.com/hashicorp/terraform-plugin-sdk v1.17.2/go.mod h1:wkvldbraEMkz23NxkkAsFS88A1R9eUiooiaUZyS6TLw= github.com/hashicorp/terraform-plugin-test v1.2.0/go.mod h1:QIJHYz8j+xJtdtLrFTlzQVC0ocr3rf/OjIpgZLK56Hs= 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-plugin-testing v1.6.0 h1:Wsnfh+7XSVRfwcr2jZYHsnLOnZl7UeaOBvsx6dl/608= +github.com/hashicorp/terraform-plugin-testing v1.6.0/go.mod h1:cJGG0/8j9XhHaJZRC+0sXFI4uzqQZ9Az4vh6C4GJpFE= github.com/hashicorp/terraform-registry-address v0.2.2/go.mod h1:LtwNbCihUoUZ3RYriyS2wF/lGPB6gF9ICLRtuDk7hSo= 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= @@ -2027,8 +2029,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.14.0 h1:OZEEd/2krZiWCmsuxuJa+vHvRFTHLLzcr/ZO7won68A= -github.com/mongodb/terraform-provider-mongodbatlas v1.14.0/go.mod h1:oN2kCQznR5XA8YO4knzKHOQh1joVgkThyd+UwZZRaCQ= +github.com/mongodb/terraform-provider-mongodbatlas v1.15.0 h1:SvfGIH0w6KQzlbwhTQ2eNio2kPBSTN/u3dSC+AJNz3A= +github.com/mongodb/terraform-provider-mongodbatlas v1.15.0/go.mod h1:5j6bGNWTTHyrpwEXjYzr/wg5WnZUizWQMR/MwQQNzFo= 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= @@ -2265,8 +2267,8 @@ github.com/pulumi/schema-tools v0.1.2 h1:Fd9xvUjgck4NA+7/jSk7InqCUT4Kj940+EcnbQK github.com/pulumi/schema-tools v0.1.2/go.mod h1:62lgj52Tzq11eqWTIaKd+EVyYAu5dEcDJxMhTjvMO/k= github.com/pulumi/terraform-diff-reader v0.0.2 h1:kTE4nEXU3/SYXESvAIem+wyHMI3abqkI3OhJ0G04LLI= github.com/pulumi/terraform-diff-reader v0.0.2/go.mod h1:sZ9FUzGO+yM41hsQHs/yIcj/Y993qMdBxBU5mpDmAfQ= -github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20240129205329-74776a5cd5f9 h1:p8vtMw4abpcmwE0v8b6x2GKZQKisrmdjojkoP3oelak= -github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20240129205329-74776a5cd5f9/go.mod h1:qH/34G25Ugdj5FcM95cSoXzUgIbgfhVLXCcEcYaMwq8= +github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20240202163305-e2a20ae13ef9 h1:k3SdGlmaJ49yaRV79Ktb5KGdPvuNfeiv4+oHXN+wyhs= +github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20240202163305-e2a20ae13ef9/go.mod h1:qH/34G25Ugdj5FcM95cSoXzUgIbgfhVLXCcEcYaMwq8= github.com/rakyll/embedmd v0.0.0-20171029212350-c8060a0752a2/go.mod h1:7jOTMgqac46PZcF54q6l2hkLEG8op93fZu61KmxWDV4= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= @@ -2492,8 +2494,8 @@ github.com/zclconf/go-cty v1.13.0/go.mod h1:YKQzy/7pZ7iq2jNFzy5go57xdxdWoLLpaEp4 github.com/zclconf/go-cty v1.13.1/go.mod h1:YKQzy/7pZ7iq2jNFzy5go57xdxdWoLLpaEp4u238AE0= github.com/zclconf/go-cty v1.13.2/go.mod h1:YKQzy/7pZ7iq2jNFzy5go57xdxdWoLLpaEp4u238AE0= github.com/zclconf/go-cty v1.14.0/go.mod h1:VvMs5i0vgZdhYawQNq5kePSpLAoz8u1xvZgrPIxfnZE= -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 v1.14.2 h1:kTG7lqmBou0Zkx35r6HJHUQTvaRPr5bIAf3AoHS0izI= +github.com/zclconf/go-cty v1.14.2/go.mod h1:VvMs5i0vgZdhYawQNq5kePSpLAoz8u1xvZgrPIxfnZE= github.com/zclconf/go-cty-debug v0.0.0-20191215020915-b22d67c1ba0b h1:FosyBZYxY34Wul7O/MSKey3txpPYyCqVO5ZyceuQJEI= github.com/zclconf/go-cty-debug v0.0.0-20191215020915-b22d67c1ba0b/go.mod h1:ZRKQfBXbGkpdV6QMzT3rU1kSTAnfu1dO8dPKjYprgj8= github.com/zclconf/go-cty-yaml v1.0.1/go.mod h1:IP3Ylp0wQpYm50IHK8OZWKMu6sPJIUgKa8XhiVHura0= @@ -2518,8 +2520,10 @@ go.etcd.io/etcd/server/v3 v3.5.0/go.mod h1:3Ah5ruV+M+7RZr0+Y/5mNLwC+eQlni+mQmOVd 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/atlas-sdk/v20231001002 v20231001002.0.0 h1:h1X2CGKyN1UFvNs69vp7xpufbbreq6p7bbrg5uJ1sxw= +go.mongodb.org/atlas-sdk/v20231001002 v20231001002.0.0/go.mod h1:4TAUPaWPFNSbi8c1hbQLr1wAdkmqi48O7zvyXjBM+a8= +go.mongodb.org/atlas-sdk/v20231115005 v20231115005.0.0 h1:BbzZAZLhUy8EUtKjNeI9ajmPAjFYxudfd+2LB8ChQM8= +go.mongodb.org/atlas-sdk/v20231115005 v20231115005.0.0/go.mod h1:rtQDZDZ/Mcw6WA4n/IQVQgKzeaDk7btGvCU3HlKfX/k= 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/shim/go.mod b/provider/shim/go.mod index 45e072f8..37ac19ae 100644 --- a/provider/shim/go.mod +++ b/provider/shim/go.mod @@ -3,16 +3,16 @@ 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 + github.com/hashicorp/terraform-plugin-framework v1.5.0 + github.com/hashicorp/terraform-plugin-sdk/v2 v2.32.0 + github.com/mongodb/terraform-provider-mongodbatlas v1.15.0 ) require ( - cloud.google.com/go v0.110.8 // indirect - cloud.google.com/go/compute v1.23.0 // indirect + cloud.google.com/go v0.110.10 // indirect + cloud.google.com/go/compute v1.23.3 // indirect cloud.google.com/go/compute/metadata v0.2.3 // indirect - cloud.google.com/go/iam v1.1.2 // indirect + cloud.google.com/go/iam v1.1.5 // 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 @@ -21,7 +21,7 @@ require ( 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/aws/aws-sdk-go v1.50.7 // 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 @@ -30,9 +30,9 @@ require ( 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/google/s2a-go v0.1.7 // indirect + github.com/google/uuid v1.4.0 // indirect + github.com/googleapis/enterprise-certificate-proxy v0.3.2 // 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 @@ -48,9 +48,9 @@ require ( 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-go v0.21.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-mux v0.14.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 @@ -60,7 +60,7 @@ require ( 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/mattn/go-isatty v0.0.19 // 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 @@ -79,25 +79,26 @@ require ( 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 v1.14.2 // 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/atlas-sdk/v20231001002 v20231001002.0.0 // indirect + go.mongodb.org/atlas-sdk/v20231115005 v20231115005.0.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/crypto v0.18.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/oauth2 v0.14.0 // indirect + golang.org/x/sync v0.5.0 // indirect + golang.org/x/sys v0.16.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/api v0.149.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 + google.golang.org/genproto v0.0.0-20231106174013-bbf56f31fb17 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20231106174013-bbf56f31fb17 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20231106174013-bbf56f31fb17 // indirect + google.golang.org/grpc v1.61.0 // indirect + google.golang.org/protobuf v1.32.0 // indirect ) diff --git a/provider/shim/go.sum b/provider/shim/go.sum index ea3a1e28..cd42987b 100644 --- a/provider/shim/go.sum +++ b/provider/shim/go.sum @@ -32,8 +32,8 @@ cloud.google.com/go v0.100.2/go.mod h1:4Xra9TjzAeYHrl5+oeLlzbM2k3mjVhZh4UqTZ//w9 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 v0.110.10 h1:LXy9GEO+timppncPIAZoOj3l58LIU9k+kn48AN7IO3Y= +cloud.google.com/go v0.110.10/go.mod h1:v1OoFqYxiBkUrruItNM3eT4lLByNjxmJSV/xDKJNnic= 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= @@ -70,8 +70,8 @@ cloud.google.com/go/compute v1.6.0/go.mod h1:T29tfhtVbq1wvAPo0E3+7vhgmkOYeXjhFvz 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 v1.23.3 h1:6sVlXXBmbd7jNX0Ipq0trII3e4n1/MsADLK6a+aiVlk= +cloud.google.com/go/compute v1.23.3/go.mod h1:VCgBUoMnIVIR0CscqQiPJLAG25E3ZRZMzcFZeQ+h8CI= 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= @@ -111,8 +111,8 @@ cloud.google.com/go/gkehub v0.10.0/go.mod h1:UIPwxI0DsrpsVoWpLB0stwKCP+WFVG9+y97 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/iam v1.1.5 h1:1jTsCu4bcsNsE4iiqNT5SHwrDRCfRmIaaaVFhRveTJI= +cloud.google.com/go/iam v1.1.5/go.mod h1:rB6P/Ic3mykPbFio+vo7403drjlgvoWfYpJhMXEbzv8= 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= @@ -230,8 +230,8 @@ github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkY 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/aws/aws-sdk-go v1.50.7 h1:odKb+uneeGgF2jgAerKjFzpljiyZxleV4SHB7oBK+YA= +github.com/aws/aws-sdk-go v1.50.7/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= @@ -246,8 +246,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR 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/cloudflare/circl v1.3.7 h1:qlCDlTPz2n9fu58M0Nh1J/JzcFpfgkFHHX3O35r5vcU= +github.com/cloudflare/circl v1.3.7/go.mod h1:sRTcRWXGLrKw6yIGJ+l7amYJFfAXbZG0kBSc8r4zxgA= 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= @@ -373,18 +373,18 @@ github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLe 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/s2a-go v0.1.7 h1:60BLSyTrOV4/haCDW4zb1guZItoSq8foHCXrAnjBo/o= +github.com/google/s2a-go v0.1.7/go.mod h1:50CgR4k1jNlWBu4UfS4AcfhVe1r6pdZPygJ3R8F0Qdw= 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/google/uuid v1.4.0 h1:MtMxsa51/r9yyhkyLsVeVt0B+BGQZzpQiTQ4eHZ8bc4= +github.com/google/uuid v1.4.0/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/enterprise-certificate-proxy v0.3.2 h1:Vie5ybvEvT75RniqhfFxPRy3Bf7vr3h0cechB90XaQs= +github.com/googleapis/enterprise-certificate-proxy v0.3.2/go.mod h1:VLSiSSBs/ksPL8kq3OBOQ6WRI2QnaFynd1DCjZ62+V0= 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= @@ -449,30 +449,30 @@ github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO 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-exec v0.20.0 h1:DIZnPsqzPGuUnq6cH8jWcPunBfY+C+M8JyYF3vpnuEo= +github.com/hashicorp/terraform-exec v0.20.0/go.mod h1:ckKGkJWbsNqFKV1itgMnE0hY9IYf1HoiekpuN0eWoDw= 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-json v0.21.0 h1:9NQxbLNqPbEMze+S6+YluEdXgJmhQykRyRNd+zTI05U= +github.com/hashicorp/terraform-json v0.21.0/go.mod h1:qdeBs11ovMzo5puhrRibdD6d2Dq6TyE/28JiU4tIQxk= +github.com/hashicorp/terraform-plugin-framework v1.5.0 h1:8kcvqJs/x6QyOFSdeAyEgsenVOUeC/IyKpi2ul4fjTg= +github.com/hashicorp/terraform-plugin-framework v1.5.0/go.mod h1:6waavirukIlFpVpthbGd2PUNYaFedB0RwW3MDzJ/rtc= 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-go v0.21.0 h1:VSjdVQYNDKR0l2pi3vsFK1PdMQrw6vGOshJXMNFeVc0= +github.com/hashicorp/terraform-plugin-go v0.21.0/go.mod h1:piJp8UmO1uupCvC9/H74l2C6IyKG0rW4FDedIpwW5RQ= 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-mux v0.14.0 h1:+UeiTaYy8zPAk1pktNRp3288pIih8gxiRJ6O0e7fS0U= +github.com/hashicorp/terraform-plugin-mux v0.14.0/go.mod h1:UzkNhewtpuqSnBvo1ZXSagAxu+hQ+Ir3F5Mpm86dWn0= 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-sdk/v2 v2.32.0 h1:7xdO9aOXVmhvMxNAq8UloyyqW0EEzyAY37llSTHJgjo= +github.com/hashicorp/terraform-plugin-sdk/v2 v2.32.0/go.mod h1:LxQzs7AQl/5JE1IGFd6LX8E4A0InRJ/7s245gOmsejA= 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-plugin-testing v1.6.0 h1:Wsnfh+7XSVRfwcr2jZYHsnLOnZl7UeaOBvsx6dl/608= +github.com/hashicorp/terraform-plugin-testing v1.6.0/go.mod h1:cJGG0/8j9XhHaJZRC+0sXFI4uzqQZ9Az4vh6C4GJpFE= 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= @@ -532,8 +532,8 @@ github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNx 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-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA= +github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mattn/go-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= @@ -563,8 +563,8 @@ github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zx 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/mongodb/terraform-provider-mongodbatlas v1.15.0 h1:SvfGIH0w6KQzlbwhTQ2eNio2kPBSTN/u3dSC+AJNz3A= +github.com/mongodb/terraform-provider-mongodbatlas v1.15.0/go.mod h1:5j6bGNWTTHyrpwEXjYzr/wg5WnZUizWQMR/MwQQNzFo= 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= @@ -643,8 +643,8 @@ github.com/zclconf/go-cty v1.1.0/go.mod h1:xnAOWiHeOqg2nWS62VtQ7pbOu17FtxJNW8RLE 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 v1.14.2 h1:kTG7lqmBou0Zkx35r6HJHUQTvaRPr5bIAf3AoHS0izI= +github.com/zclconf/go-cty v1.14.2/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= @@ -652,8 +652,10 @@ github.com/zclconf/go-cty-yaml v1.0.2/go.mod h1:IP3Ylp0wQpYm50IHK8OZWKMu6sPJIUgK 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/atlas-sdk/v20231001002 v20231001002.0.0 h1:h1X2CGKyN1UFvNs69vp7xpufbbreq6p7bbrg5uJ1sxw= +go.mongodb.org/atlas-sdk/v20231001002 v20231001002.0.0/go.mod h1:4TAUPaWPFNSbi8c1hbQLr1wAdkmqi48O7zvyXjBM+a8= +go.mongodb.org/atlas-sdk/v20231115005 v20231115005.0.0 h1:BbzZAZLhUy8EUtKjNeI9ajmPAjFYxudfd+2LB8ChQM8= +go.mongodb.org/atlas-sdk/v20231115005 v20231115005.0.0/go.mod h1:rtQDZDZ/Mcw6WA4n/IQVQgKzeaDk7btGvCU3HlKfX/k= 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= @@ -679,9 +681,8 @@ golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm 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/crypto v0.18.0 h1:PGVlW0xEltQnzFZ55hkuX5+KLyrMYhHld1YHO4AKcdc= +golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg= 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= @@ -762,7 +763,6 @@ golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLd 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= @@ -802,8 +802,8 @@ golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094/go.mod h1:h4gKUeWbJ4rQPri 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/oauth2 v0.14.0 h1:P0Vrf/2538nmC0H+pEQ3MNFRRnVR7RlqyVw+bvm26z0= +golang.org/x/oauth2 v0.14.0/go.mod h1:lAtNWgaWfL4cm7j2OV8TxGi9Qb7ECORx8DktCY74OwM= 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= @@ -818,8 +818,8 @@ golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJ 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/sync v0.5.0 h1:60k92dhOjHxJkrqnwsfl8KuaHbn/5dl0lUPUklKo3qE= +golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-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= @@ -891,10 +891,10 @@ golang.org/x/sys v0.0.0-20220615213510-4f61da869c0c/go.mod h1:oPkhp1MJrh7nUepCBc 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/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.16.0 h1:xWw16ngr6ZMtmxDyKyIgsE93KNKz5HKmMa3b8ALHidU= +golang.org/x/sys v0.16.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= @@ -1026,8 +1026,8 @@ google.golang.org/api v0.96.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ 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/api v0.149.0 h1:b2CqT6kG+zqJIVKRQ3ELJVLN1PwHZ6DJ3dW8yl82rgY= +google.golang.org/api v0.149.0/go.mod h1:Mwn1B7JTXrzXtnvmzQE2BD6bYZQ8DShKZDZbeN9I7qI= 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= @@ -1141,12 +1141,12 @@ google.golang.org/genproto v0.0.0-20221010155953-15ba04fc1c0e/go.mod h1:3526vdqw 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/genproto v0.0.0-20231106174013-bbf56f31fb17 h1:wpZ8pe2x1Q3f2KyT5f8oP/fa9rHAKgFPr/HZdNuS+PQ= +google.golang.org/genproto v0.0.0-20231106174013-bbf56f31fb17/go.mod h1:J7XzRzVy1+IPwWHZUzoD0IccYZIrXILAQpc+Qy9CMhY= +google.golang.org/genproto/googleapis/api v0.0.0-20231106174013-bbf56f31fb17 h1:JpwMPBpFN3uKhdaekDpiNlImDdkUAyiJ6ez/uxGaUSo= +google.golang.org/genproto/googleapis/api v0.0.0-20231106174013-bbf56f31fb17/go.mod h1:0xJLfVdJqpAPl8tDg1ujOCGzx6LFLttXT5NhllGOXY4= +google.golang.org/genproto/googleapis/rpc v0.0.0-20231106174013-bbf56f31fb17 h1:Jyp0Hsi0bmHXG6k9eATXoYtjd6e2UzZ1SCn/wIupY14= +google.golang.org/genproto/googleapis/rpc v0.0.0-20231106174013-bbf56f31fb17/go.mod h1:oQ5rr10WTTMvP4A36n8JpR1OrO1BEiV4f78CneXZxkA= 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= @@ -1184,8 +1184,8 @@ google.golang.org/grpc v1.48.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACu 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 v1.61.0 h1:TOvOcuXn30kRao+gfcvsebNEa5iZIiLkisYEkf7R7o0= +google.golang.org/grpc v1.61.0/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= 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= @@ -1202,8 +1202,8 @@ google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQ 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= +google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= +google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= 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= diff --git a/sdk/dotnet/ApiKey.cs b/sdk/dotnet/ApiKey.cs index ff36b0d9..595780dc 100644 --- a/sdk/dotnet/ApiKey.cs +++ b/sdk/dotnet/ApiKey.cs @@ -10,6 +10,29 @@ namespace Pulumi.Mongodbatlas { /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Mongodbatlas = Pulumi.Mongodbatlas; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var test = new Mongodbatlas.ApiKey("test", new() + /// { + /// Description = "key-name", + /// OrgId = "<ORG_ID>", + /// RoleNames = new[] + /// { + /// "ORG_READ_ONLY", + /// }, + /// }); + /// + /// }); + /// ``` + /// /// ## Import /// /// API Keys must be imported using org ID, API Key ID e.g. diff --git a/sdk/dotnet/BackupCompliancePolicy.cs b/sdk/dotnet/BackupCompliancePolicy.cs index 12b99e0e..0a9d4b3b 100644 --- a/sdk/dotnet/BackupCompliancePolicy.cs +++ b/sdk/dotnet/BackupCompliancePolicy.cs @@ -46,13 +46,13 @@ public partial class BackupCompliancePolicy : global::Pulumi.CustomResource /// Flag that indicates whether to enable additional backup copies for the cluster. If unspecified, this value defaults to false. /// [Output("copyProtectionEnabled")] - public Output CopyProtectionEnabled { get; private set; } = null!; + public Output CopyProtectionEnabled { get; private set; } = null!; /// /// 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. /// [Output("encryptionAtRestEnabled")] - public Output EncryptionAtRestEnabled { get; private set; } = null!; + public Output EncryptionAtRestEnabled { get; private set; } = null!; [Output("onDemandPolicyItem")] public Output OnDemandPolicyItem { get; private set; } = null!; @@ -61,7 +61,7 @@ public partial class BackupCompliancePolicy : global::Pulumi.CustomResource /// Flag that indicates whether the cluster uses Continuous Cloud Backups with a Backup Compliance Policy. If unspecified, this value defaults to false. /// [Output("pitEnabled")] - public Output PitEnabled { get; private set; } = null!; + public Output PitEnabled { get; private set; } = null!; [Output("policyItemDaily")] public Output PolicyItemDaily { get; private set; } = null!; @@ -172,14 +172,14 @@ public sealed class BackupCompliancePolicyArgs : global::Pulumi.ResourceArgs /// /// Flag that indicates whether to enable additional backup copies for the cluster. If unspecified, this value defaults to false. /// - [Input("copyProtectionEnabled", required: true)] - public Input CopyProtectionEnabled { get; set; } = null!; + [Input("copyProtectionEnabled")] + public Input? CopyProtectionEnabled { get; set; } /// /// 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. /// - [Input("encryptionAtRestEnabled", required: true)] - public Input EncryptionAtRestEnabled { get; set; } = null!; + [Input("encryptionAtRestEnabled")] + public Input? EncryptionAtRestEnabled { get; set; } [Input("onDemandPolicyItem", required: true)] public Input OnDemandPolicyItem { get; set; } = null!; @@ -187,8 +187,8 @@ public sealed class BackupCompliancePolicyArgs : global::Pulumi.ResourceArgs /// /// Flag that indicates whether the cluster uses Continuous Cloud Backups with a Backup Compliance Policy. If unspecified, this value defaults to false. /// - [Input("pitEnabled", required: true)] - public Input PitEnabled { get; set; } = null!; + [Input("pitEnabled")] + public Input? PitEnabled { get; set; } [Input("policyItemDaily")] public Input? PolicyItemDaily { get; set; } diff --git a/sdk/dotnet/CloudProviderAccess.cs b/sdk/dotnet/CloudProviderAccess.cs deleted file mode 100644 index f25f2406..00000000 --- a/sdk/dotnet/CloudProviderAccess.cs +++ /dev/null @@ -1,370 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.Mongodbatlas -{ - /// - /// ## Example Usage - /// - /// ```csharp - /// using System.Collections.Generic; - /// using System.Linq; - /// using Pulumi; - /// using Mongodbatlas = Pulumi.Mongodbatlas; - /// - /// return await Deployment.RunAsync(() => - /// { - /// var testRole = new Mongodbatlas.CloudProviderAccess("testRole", new() - /// { - /// ProjectId = "64259ee860c43338194b0f8e", - /// ProviderName = "AWS", - /// }); - /// - /// }); - /// ``` - /// ### With AWS - /// - /// ```csharp - /// using System.Collections.Generic; - /// using System.Linq; - /// using Pulumi; - /// using Mongodbatlas = Pulumi.Mongodbatlas; - /// - /// return await Deployment.RunAsync(() => - /// { - /// var testRole = new Mongodbatlas.CloudProviderAccessSetup("testRole", new() - /// { - /// ProjectId = "64259ee860c43338194b0f8e", - /// ProviderName = "AWS", - /// }); - /// - /// }); - /// ``` - /// ### With Azure - /// - /// ```csharp - /// using System.Collections.Generic; - /// using System.Linq; - /// using Pulumi; - /// using Mongodbatlas = Pulumi.Mongodbatlas; - /// - /// return await Deployment.RunAsync(() => - /// { - /// var testRole = new Mongodbatlas.CloudProviderAccessSetup("testRole", new() - /// { - /// AzureConfigs = new[] - /// { - /// new Mongodbatlas.Inputs.CloudProviderAccessSetupAzureConfigArgs - /// { - /// AtlasAzureAppId = "9f2deb0d-be22-4524-a403-df531868bac0", - /// ServicePrincipalId = "22f1d2a6-d0e9-482a-83a4-b8dd7dddc2c1", - /// TenantId = "91402384-d71e-22f5-22dd-759e272cdc1c", - /// }, - /// }, - /// ProjectId = "64259ee860c43338194b0f8e", - /// ProviderName = "AZURE", - /// }); - /// - /// }); - /// ``` - /// ### With AWS - /// ```csharp - /// using System.Collections.Generic; - /// using System.Linq; - /// using Pulumi; - /// using Mongodbatlas = Pulumi.Mongodbatlas; - /// - /// return await Deployment.RunAsync(() => - /// { - /// var setupOnly = new Mongodbatlas.CloudProviderAccessSetup("setupOnly", new() - /// { - /// ProjectId = "64259ee860c43338194b0f8e", - /// ProviderName = "AWS", - /// }); - /// - /// var authRole = new Mongodbatlas.CloudProviderAccessAuthorization("authRole", new() - /// { - /// ProjectId = setupOnly.ProjectId, - /// RoleId = setupOnly.RoleId, - /// Aws = new Mongodbatlas.Inputs.CloudProviderAccessAuthorizationAwsArgs - /// { - /// IamAssumedRoleArn = "arn:aws:iam::772401394250:role/test-user-role", - /// }, - /// }); - /// - /// }); - /// ``` - /// - /// ```csharp - /// using System.Collections.Generic; - /// using System.Linq; - /// using Pulumi; - /// using Mongodbatlas = Pulumi.Mongodbatlas; - /// - /// return await Deployment.RunAsync(() => - /// { - /// var setupOnly = new Mongodbatlas.CloudProviderAccessSetup("setupOnly", new() - /// { - /// ProjectId = "64259ee860c43338194b0f8e", - /// ProviderName = "AZURE", - /// AzureConfigs = new[] - /// { - /// new Mongodbatlas.Inputs.CloudProviderAccessSetupAzureConfigArgs - /// { - /// AtlasAzureAppId = "9f2deb0d-be22-4524-a403-df531868bac0", - /// ServicePrincipalId = "22f1d2a6-d0e9-482a-83a4-b8dd7dddc2c1", - /// TenantId = "91402384-d71e-22f5-22dd-759e272cdc1c", - /// }, - /// }, - /// }); - /// - /// var authRole = new Mongodbatlas.CloudProviderAccessAuthorization("authRole", new() - /// { - /// ProjectId = setupOnly.ProjectId, - /// RoleId = setupOnly.RoleId, - /// Azure = new Mongodbatlas.Inputs.CloudProviderAccessAuthorizationAzureArgs - /// { - /// AtlasAzureAppId = "9f2deb0d-be22-4524-a403-df531868bac0", - /// ServicePrincipalId = "22f1d2a6-d0e9-482a-83a4-b8dd7dddc2c1", - /// TenantId = "91402384-d71e-22f5-22dd-759e272cdc1c", - /// }, - /// }); - /// - /// }); - /// ``` - /// ## Authorize role - /// - /// Once the resource is created add the field `iam_assumed_role_arn` see [Set Up Unified AWS Access](https://docs.atlas.mongodb.com/security/set-up-unified-aws-access/#set-up-unified-aws-access) , and execute a new `pulumi up` this will create a PATCH request. - /// - /// ```csharp - /// using System.Collections.Generic; - /// using System.Linq; - /// using Pulumi; - /// using Mongodbatlas = Pulumi.Mongodbatlas; - /// - /// return await Deployment.RunAsync(() => - /// { - /// var testRole = new Mongodbatlas.CloudProviderAccess("testRole", new() - /// { - /// IamAssumedRoleArn = "arn:aws:iam::772401394250:role/test-user-role", - /// ProjectId = "<PROJECT-ID>", - /// ProviderName = "AWS", - /// }); - /// - /// }); - /// ``` - /// - /// ## Import - /// - /// The Cloud Provider Access resource can be imported using project ID and the provider name and mongodbatlas role id, in the format `project_id`-`provider_name`-`role_id`, e.g. - /// - /// ```sh - /// $ pulumi import mongodbatlas:index/cloudProviderAccess:CloudProviderAccess my_role 1112222b3bf99403840e8934-AWS-5fc17d476f7a33224f5b224e - /// ``` - /// See [MongoDB Atlas API](https://docs.atlas.mongodb.com/reference/api/cloud-provider-access-create-one-role/) Documentation for more information. - /// - [MongodbatlasResourceType("mongodbatlas:index/cloudProviderAccess:CloudProviderAccess")] - public partial class CloudProviderAccess : global::Pulumi.CustomResource - { - /// - /// Unique external ID Atlas uses when assuming the IAM role in your AWS account. - /// - [Output("atlasAssumedRoleExternalId")] - public Output AtlasAssumedRoleExternalId { get; private set; } = null!; - - /// - /// ARN associated with the Atlas AWS account used to assume IAM roles in your AWS account. - /// - [Output("atlasAwsAccountArn")] - public Output AtlasAwsAccountArn { get; private set; } = null!; - - /// - /// Date on which this role was authorized. - /// - [Output("authorizedDate")] - public Output AuthorizedDate { get; private set; } = null!; - - /// - /// Date on which this role was created. - /// - [Output("createdDate")] - public Output CreatedDate { get; private set; } = null!; - - /// - /// Atlas features this AWS IAM role is linked to. - /// - [Output("featureUsages")] - public Output> FeatureUsages { get; private set; } = null!; - - /// - /// 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!; - - /// - /// The unique ID for the project - /// - [Output("projectId")] - public Output ProjectId { get; private set; } = null!; - - /// - /// The cloud provider for which to create a new role. Currently only AWS is supported. - /// - [Output("providerName")] - public Output ProviderName { get; private set; } = null!; - - /// - /// Unique ID of this role returned by mongodb atlas api - /// - /// Conditional - /// - [Output("roleId")] - public Output RoleId { get; private set; } = null!; - - - /// - /// Create a CloudProviderAccess resource with the given unique name, arguments, and options. - /// - /// - /// The unique name of the resource - /// The arguments used to populate this resource's properties - /// A bag of options that control this resource's behavior - public CloudProviderAccess(string name, CloudProviderAccessArgs args, CustomResourceOptions? options = null) - : base("mongodbatlas:index/cloudProviderAccess:CloudProviderAccess", name, args ?? new CloudProviderAccessArgs(), MakeResourceOptions(options, "")) - { - } - - private CloudProviderAccess(string name, Input id, CloudProviderAccessState? state = null, CustomResourceOptions? options = null) - : base("mongodbatlas:index/cloudProviderAccess:CloudProviderAccess", name, state, MakeResourceOptions(options, id)) - { - } - - private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) - { - var defaultOptions = new CustomResourceOptions - { - Version = Utilities.Version, - }; - var merged = CustomResourceOptions.Merge(defaultOptions, options); - // Override the ID if one was specified for consistency with other language SDKs. - merged.Id = id ?? merged.Id; - return merged; - } - /// - /// Get an existing CloudProviderAccess resource's state with the given name, ID, and optional extra - /// properties used to qualify the lookup. - /// - /// - /// The unique name of the resulting resource. - /// The unique provider ID of the resource to lookup. - /// Any extra arguments used during the lookup. - /// A bag of options that control this resource's behavior - public static CloudProviderAccess Get(string name, Input id, CloudProviderAccessState? state = null, CustomResourceOptions? options = null) - { - return new CloudProviderAccess(name, id, state, options); - } - } - - public sealed class CloudProviderAccessArgs : global::Pulumi.ResourceArgs - { - /// - /// 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). - /// - [Input("iamAssumedRoleArn")] - public Input? IamAssumedRoleArn { get; set; } - - /// - /// The unique ID for the project - /// - [Input("projectId", required: true)] - public Input ProjectId { get; set; } = null!; - - /// - /// The cloud provider for which to create a new role. Currently only AWS is supported. - /// - [Input("providerName", required: true)] - public Input ProviderName { get; set; } = null!; - - public CloudProviderAccessArgs() - { - } - public static new CloudProviderAccessArgs Empty => new CloudProviderAccessArgs(); - } - - public sealed class CloudProviderAccessState : global::Pulumi.ResourceArgs - { - /// - /// Unique external ID Atlas uses when assuming the IAM role in your AWS account. - /// - [Input("atlasAssumedRoleExternalId")] - public Input? AtlasAssumedRoleExternalId { get; set; } - - /// - /// ARN associated with the Atlas AWS account used to assume IAM roles in your AWS account. - /// - [Input("atlasAwsAccountArn")] - public Input? AtlasAwsAccountArn { get; set; } - - /// - /// Date on which this role was authorized. - /// - [Input("authorizedDate")] - public Input? AuthorizedDate { get; set; } - - /// - /// Date on which this role was created. - /// - [Input("createdDate")] - public Input? CreatedDate { get; set; } - - [Input("featureUsages")] - private InputList? _featureUsages; - - /// - /// Atlas features this AWS IAM role is linked to. - /// - public InputList FeatureUsages - { - get => _featureUsages ?? (_featureUsages = new InputList()); - set => _featureUsages = value; - } - - /// - /// 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). - /// - [Input("iamAssumedRoleArn")] - public Input? IamAssumedRoleArn { get; set; } - - /// - /// The unique ID for the project - /// - [Input("projectId")] - public Input? ProjectId { get; set; } - - /// - /// The cloud provider for which to create a new role. Currently only AWS is supported. - /// - [Input("providerName")] - public Input? ProviderName { get; set; } - - /// - /// Unique ID of this role returned by mongodb atlas api - /// - /// Conditional - /// - [Input("roleId")] - public Input? RoleId { get; set; } - - public CloudProviderAccessState() - { - } - public static new CloudProviderAccessState Empty => new CloudProviderAccessState(); - } -} diff --git a/sdk/dotnet/FederatedDatabaseInstance.cs b/sdk/dotnet/FederatedDatabaseInstance.cs index f938e54c..250580bc 100644 --- a/sdk/dotnet/FederatedDatabaseInstance.cs +++ b/sdk/dotnet/FederatedDatabaseInstance.cs @@ -166,10 +166,10 @@ namespace Pulumi.Mongodbatlas public partial class FederatedDatabaseInstance : global::Pulumi.CustomResource { [Output("cloudProviderConfig")] - public Output CloudProviderConfig { get; private set; } = null!; + public Output CloudProviderConfig { get; private set; } = null!; [Output("dataProcessRegion")] - public Output DataProcessRegion { get; private set; } = null!; + public Output DataProcessRegion { get; private set; } = null!; /// /// The list of hostnames assigned to the Federated Database Instance. Each string in the array is a hostname assigned to the Federated Database Instance. diff --git a/sdk/dotnet/FederatedSettingsIdentityProvider.cs b/sdk/dotnet/FederatedSettingsIdentityProvider.cs index a8dde83a..4c76784a 100644 --- a/sdk/dotnet/FederatedSettingsIdentityProvider.cs +++ b/sdk/dotnet/FederatedSettingsIdentityProvider.cs @@ -11,6 +11,8 @@ namespace Pulumi.Mongodbatlas { /// /// `mongodbatlas.FederatedSettingsIdentityProvider` provides an Atlas federated settings identity provider resource provides a subset of settings to be maintained post import of the existing resource. + /// + /// > **NOTE:** OIDC Workforce IdP is currently in preview. To learn more about OIDC and existing limitations see the [OIDC Authentication Documentation](https://www.mongodb.com/docs/atlas/security-oidc/). /// ## Example Usage /// /// > **IMPORTANT** You **MUST** import this resource before you can manage it with this provider. @@ -48,7 +50,9 @@ namespace Pulumi.Mongodbatlas /// ```sh /// $ pulumi import mongodbatlas:index/federatedSettingsIdentityProvider:FederatedSettingsIdentityProvider identity_provider 6287a663c660f52b1c441c6c-0oad4fas87jL5Xnk1297 /// ``` - /// For more information see[MongoDB Atlas API Reference.](https://www.mongodb.com/docs/atlas/reference/api/federation-configuration/) + /// __WARNING:__ Starting from terraform provider version 1.16.0, to import the resource a 24-hexadecimal digit string that identifies the IdP (`idp_id`) will have to be used instead of `okta_idp_id`. See more [here](../guides/1.15.0-upgrade-guide.html.markdown) + /// + /// For more information see[MongoDB Atlas API Reference.](https://www.mongodb.com/docs/atlas/reference/api/federation-configuration/) /// [MongodbatlasResourceType("mongodbatlas:index/federatedSettingsIdentityProvider:FederatedSettingsIdentityProvider")] public partial class FederatedSettingsIdentityProvider : global::Pulumi.CustomResource @@ -59,6 +63,18 @@ public partial class FederatedSettingsIdentityProvider : global::Pulumi.CustomRe [Output("associatedDomains")] public Output> AssociatedDomains { get; private set; } = null!; + /// + /// Identifier of the intended recipient of the token used in OIDC IdP. + /// + [Output("audienceClaims")] + public Output> AudienceClaims { get; private set; } = null!; + + /// + /// Client identifier that is assigned to an application by the OIDC Identity Provider. + /// + [Output("clientId")] + public Output ClientId { get; private set; } = null!; + /// /// Unique 24-hexadecimal digit string that identifies the federated authentication configuration. /// @@ -66,7 +82,19 @@ public partial class FederatedSettingsIdentityProvider : global::Pulumi.CustomRe public Output FederationSettingsId { get; private set; } = null!; /// - /// Unique string that identifies the issuer of the SAML + /// Identifier of the claim which contains OIDC IdP Group IDs in the token. + /// + [Output("groupsClaim")] + public Output GroupsClaim { get; private set; } = null!; + + /// + /// Unique 24-hexadecimal digit string that identifies the IdP. + /// + [Output("idpId")] + public Output IdpId { get; private set; } = null!; + + /// + /// Unique string that identifies the issuer of the IdP. /// [Output("issuerUri")] public Output IssuerUri { get; private set; } = null!; @@ -84,36 +112,54 @@ public partial class FederatedSettingsIdentityProvider : global::Pulumi.CustomRe public Output OktaIdpId { get; private set; } = null!; /// - /// SAML Authentication Request Protocol HTTP method binding (POST or REDIRECT) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values: + /// The protocol of the identity provider. Either `SAML` or `OIDC`. + /// + [Output("protocol")] + public Output Protocol { get; private set; } = null!; + + /// + /// SAML Authentication Request Protocol HTTP method binding (`POST` or `REDIRECT`) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values: /// - HTTP POST /// - HTTP REDIRECT /// [Output("requestBinding")] - public Output RequestBinding { get; private set; } = null!; + public Output RequestBinding { get; private set; } = null!; /// - /// Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include SHA-1 and SHA-256. + /// Scopes that MongoDB applications will request from the authorization endpoint used for OIDC IdPs. + /// + [Output("requestedScopes")] + public Output> RequestedScopes { get; private set; } = null!; + + /// + /// Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include `SHA-1 `and `SHA-256`. /// [Output("responseSignatureAlgorithm")] - public Output ResponseSignatureAlgorithm { get; private set; } = null!; + public Output ResponseSignatureAlgorithm { get; private set; } = null!; /// /// Flag that indicates whether the identity provider has SSO debug enabled. /// [Output("ssoDebugEnabled")] - public Output SsoDebugEnabled { get; private set; } = null!; + public Output SsoDebugEnabled { get; private set; } = null!; /// /// Unique string that identifies the intended audience of the SAML assertion. /// [Output("ssoUrl")] - public Output SsoUrl { get; private set; } = null!; + public Output SsoUrl { get; private set; } = null!; /// /// String enum that indicates whether the identity provider is active or not. Accepted values are ACTIVE or INACTIVE. /// [Output("status")] - public Output Status { get; private set; } = null!; + public Output Status { get; private set; } = null!; + + /// + /// Identifier of the claim which contains the user ID in the token used for OIDC IdPs. + /// + [Output("userClaim")] + public Output UserClaim { get; private set; } = null!; /// @@ -173,6 +219,24 @@ public InputList AssociatedDomains set => _associatedDomains = value; } + [Input("audienceClaims")] + private InputList? _audienceClaims; + + /// + /// Identifier of the intended recipient of the token used in OIDC IdP. + /// + public InputList AudienceClaims + { + get => _audienceClaims ?? (_audienceClaims = new InputList()); + set => _audienceClaims = value; + } + + /// + /// Client identifier that is assigned to an application by the OIDC Identity Provider. + /// + [Input("clientId")] + public Input? ClientId { get; set; } + /// /// Unique 24-hexadecimal digit string that identifies the federated authentication configuration. /// @@ -180,7 +244,13 @@ public InputList AssociatedDomains public Input FederationSettingsId { get; set; } = null!; /// - /// Unique string that identifies the issuer of the SAML + /// Identifier of the claim which contains OIDC IdP Group IDs in the token. + /// + [Input("groupsClaim")] + public Input? GroupsClaim { get; set; } + + /// + /// Unique string that identifies the issuer of the IdP. /// [Input("issuerUri", required: true)] public Input IssuerUri { get; set; } = null!; @@ -192,36 +262,60 @@ public InputList AssociatedDomains public Input? Name { get; set; } /// - /// SAML Authentication Request Protocol HTTP method binding (POST or REDIRECT) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values: + /// The protocol of the identity provider. Either `SAML` or `OIDC`. + /// + [Input("protocol")] + public Input? Protocol { get; set; } + + /// + /// SAML Authentication Request Protocol HTTP method binding (`POST` or `REDIRECT`) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values: /// - HTTP POST /// - HTTP REDIRECT /// - [Input("requestBinding", required: true)] - public Input RequestBinding { get; set; } = null!; + [Input("requestBinding")] + public Input? RequestBinding { get; set; } + + [Input("requestedScopes")] + private InputList? _requestedScopes; + + /// + /// Scopes that MongoDB applications will request from the authorization endpoint used for OIDC IdPs. + /// + public InputList RequestedScopes + { + get => _requestedScopes ?? (_requestedScopes = new InputList()); + set => _requestedScopes = value; + } /// - /// Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include SHA-1 and SHA-256. + /// Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include `SHA-1 `and `SHA-256`. /// - [Input("responseSignatureAlgorithm", required: true)] - public Input ResponseSignatureAlgorithm { get; set; } = null!; + [Input("responseSignatureAlgorithm")] + public Input? ResponseSignatureAlgorithm { get; set; } /// /// Flag that indicates whether the identity provider has SSO debug enabled. /// - [Input("ssoDebugEnabled", required: true)] - public Input SsoDebugEnabled { get; set; } = null!; + [Input("ssoDebugEnabled")] + public Input? SsoDebugEnabled { get; set; } /// /// Unique string that identifies the intended audience of the SAML assertion. /// - [Input("ssoUrl", required: true)] - public Input SsoUrl { get; set; } = null!; + [Input("ssoUrl")] + public Input? SsoUrl { get; set; } /// /// String enum that indicates whether the identity provider is active or not. Accepted values are ACTIVE or INACTIVE. /// - [Input("status", required: true)] - public Input Status { get; set; } = null!; + [Input("status")] + public Input? Status { get; set; } + + /// + /// Identifier of the claim which contains the user ID in the token used for OIDC IdPs. + /// + [Input("userClaim")] + public Input? UserClaim { get; set; } public FederatedSettingsIdentityProviderArgs() { @@ -243,6 +337,24 @@ public InputList AssociatedDomains set => _associatedDomains = value; } + [Input("audienceClaims")] + private InputList? _audienceClaims; + + /// + /// Identifier of the intended recipient of the token used in OIDC IdP. + /// + public InputList AudienceClaims + { + get => _audienceClaims ?? (_audienceClaims = new InputList()); + set => _audienceClaims = value; + } + + /// + /// Client identifier that is assigned to an application by the OIDC Identity Provider. + /// + [Input("clientId")] + public Input? ClientId { get; set; } + /// /// Unique 24-hexadecimal digit string that identifies the federated authentication configuration. /// @@ -250,7 +362,19 @@ public InputList AssociatedDomains public Input? FederationSettingsId { get; set; } /// - /// Unique string that identifies the issuer of the SAML + /// Identifier of the claim which contains OIDC IdP Group IDs in the token. + /// + [Input("groupsClaim")] + public Input? GroupsClaim { get; set; } + + /// + /// Unique 24-hexadecimal digit string that identifies the IdP. + /// + [Input("idpId")] + public Input? IdpId { get; set; } + + /// + /// Unique string that identifies the issuer of the IdP. /// [Input("issuerUri")] public Input? IssuerUri { get; set; } @@ -268,15 +392,33 @@ public InputList AssociatedDomains public Input? OktaIdpId { get; set; } /// - /// SAML Authentication Request Protocol HTTP method binding (POST or REDIRECT) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values: + /// The protocol of the identity provider. Either `SAML` or `OIDC`. + /// + [Input("protocol")] + public Input? Protocol { get; set; } + + /// + /// SAML Authentication Request Protocol HTTP method binding (`POST` or `REDIRECT`) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values: /// - HTTP POST /// - HTTP REDIRECT /// [Input("requestBinding")] public Input? RequestBinding { get; set; } + [Input("requestedScopes")] + private InputList? _requestedScopes; + + /// + /// Scopes that MongoDB applications will request from the authorization endpoint used for OIDC IdPs. + /// + public InputList RequestedScopes + { + get => _requestedScopes ?? (_requestedScopes = new InputList()); + set => _requestedScopes = value; + } + /// - /// Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include SHA-1 and SHA-256. + /// Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include `SHA-1 `and `SHA-256`. /// [Input("responseSignatureAlgorithm")] public Input? ResponseSignatureAlgorithm { get; set; } @@ -299,6 +441,12 @@ public InputList AssociatedDomains [Input("status")] public Input? Status { get; set; } + /// + /// Identifier of the claim which contains the user ID in the token used for OIDC IdPs. + /// + [Input("userClaim")] + public Input? UserClaim { get; set; } + public FederatedSettingsIdentityProviderState() { } diff --git a/sdk/dotnet/GetApiKey.cs b/sdk/dotnet/GetApiKey.cs index 1ce93a67..c035eb5f 100644 --- a/sdk/dotnet/GetApiKey.cs +++ b/sdk/dotnet/GetApiKey.cs @@ -31,11 +31,14 @@ public static Output Invoke(GetApiKeyInvokeArgs args, InvokeOpt public sealed class GetApiKeyArgs : global::Pulumi.InvokeArgs { + /// + /// Unique identifier for the organization API key. + /// [Input("apiKeyId", required: true)] public string ApiKeyId { get; set; } = null!; /// - /// The unique ID for the project. + /// Unique identifier for the organization. /// [Input("orgId", required: true)] public string OrgId { get; set; } = null!; @@ -48,11 +51,14 @@ public GetApiKeyArgs() public sealed class GetApiKeyInvokeArgs : global::Pulumi.InvokeArgs { + /// + /// Unique identifier for the organization API key. + /// [Input("apiKeyId", required: true)] public Input ApiKeyId { get; set; } = null!; /// - /// The unique ID for the project. + /// Unique identifier for the organization. /// [Input("orgId", required: true)] public Input OrgId { get; set; } = null!; @@ -76,9 +82,6 @@ public sealed class GetApiKeyResult /// The provider-assigned unique ID for this managed resource. /// public readonly string Id; - /// - /// Unique identifier for the organization whose API keys you want to retrieve. Use the /orgs endpoint to retrieve all organizations to which the authenticated user has access. - /// public readonly string OrgId; /// /// Public key for this Organization API key. diff --git a/sdk/dotnet/GetApiKeys.cs b/sdk/dotnet/GetApiKeys.cs index cfb59d1e..bb625f5f 100644 --- a/sdk/dotnet/GetApiKeys.cs +++ b/sdk/dotnet/GetApiKeys.cs @@ -28,7 +28,7 @@ public sealed class GetApiKeysArgs : global::Pulumi.InvokeArgs public int? ItemsPerPage { get; set; } /// - /// Unique identifier for the organization whose API keys you want to retrieve. Use the /orgs endpoint to retrieve all organizations to which the authenticated user has access. + /// Unique identifier for the organization whose API keys you want to retrieve. /// [Input("orgId", required: true)] public string OrgId { get; set; } = null!; @@ -54,7 +54,7 @@ public sealed class GetApiKeysInvokeArgs : global::Pulumi.InvokeArgs public Input? ItemsPerPage { get; set; } /// - /// Unique identifier for the organization whose API keys you want to retrieve. Use the /orgs endpoint to retrieve all organizations to which the authenticated user has access. + /// Unique identifier for the organization whose API keys you want to retrieve. /// [Input("orgId", required: true)] public Input OrgId { get; set; } = null!; diff --git a/sdk/dotnet/GetBackupCompliancePolicy.cs b/sdk/dotnet/GetBackupCompliancePolicy.cs index 15602aa8..baf0809f 100644 --- a/sdk/dotnet/GetBackupCompliancePolicy.cs +++ b/sdk/dotnet/GetBackupCompliancePolicy.cs @@ -21,31 +21,6 @@ public static Output Invoke(GetBackupCompliance public sealed class GetBackupCompliancePolicyArgs : global::Pulumi.InvokeArgs { - [Input("onDemandPolicyItem")] - public Inputs.GetBackupCompliancePolicyOnDemandPolicyItemArgs? OnDemandPolicyItem { get; set; } - - [Input("policyItemDaily")] - public Inputs.GetBackupCompliancePolicyPolicyItemDailyArgs? PolicyItemDaily { get; set; } - - [Input("policyItemHourly")] - public Inputs.GetBackupCompliancePolicyPolicyItemHourlyArgs? PolicyItemHourly { get; set; } - - [Input("policyItemMonthlies")] - private List? _policyItemMonthlies; - public List PolicyItemMonthlies - { - get => _policyItemMonthlies ?? (_policyItemMonthlies = new List()); - set => _policyItemMonthlies = value; - } - - [Input("policyItemWeeklies")] - private List? _policyItemWeeklies; - public List PolicyItemWeeklies - { - get => _policyItemWeeklies ?? (_policyItemWeeklies = new List()); - set => _policyItemWeeklies = value; - } - /// /// Unique 24-hexadecimal digit string that identifies your project /// @@ -60,31 +35,6 @@ public GetBackupCompliancePolicyArgs() public sealed class GetBackupCompliancePolicyInvokeArgs : global::Pulumi.InvokeArgs { - [Input("onDemandPolicyItem")] - public Input? OnDemandPolicyItem { get; set; } - - [Input("policyItemDaily")] - public Input? PolicyItemDaily { get; set; } - - [Input("policyItemHourly")] - public Input? PolicyItemHourly { get; set; } - - [Input("policyItemMonthlies")] - private InputList? _policyItemMonthlies; - public InputList PolicyItemMonthlies - { - get => _policyItemMonthlies ?? (_policyItemMonthlies = new InputList()); - set => _policyItemMonthlies = value; - } - - [Input("policyItemWeeklies")] - private InputList? _policyItemWeeklies; - public InputList PolicyItemWeeklies - { - get => _policyItemWeeklies ?? (_policyItemWeeklies = new InputList()); - set => _policyItemWeeklies = value; - } - /// /// Unique 24-hexadecimal digit string that identifies your project /// @@ -125,13 +75,13 @@ public sealed class GetBackupCompliancePolicyResult /// The provider-assigned unique ID for this managed resource. /// public readonly string Id; - public readonly Outputs.GetBackupCompliancePolicyOnDemandPolicyItemResult? OnDemandPolicyItem; + public readonly Outputs.GetBackupCompliancePolicyOnDemandPolicyItemResult OnDemandPolicyItem; /// /// Flag that indicates whether the cluster uses Continuous Cloud Backups with a Backup Compliance Policy. If unspecified, this value defaults to false. /// public readonly bool PitEnabled; - public readonly Outputs.GetBackupCompliancePolicyPolicyItemDailyResult? PolicyItemDaily; - public readonly Outputs.GetBackupCompliancePolicyPolicyItemHourlyResult? PolicyItemHourly; + public readonly Outputs.GetBackupCompliancePolicyPolicyItemDailyResult PolicyItemDaily; + public readonly Outputs.GetBackupCompliancePolicyPolicyItemHourlyResult PolicyItemHourly; public readonly ImmutableArray PolicyItemMonthlies; public readonly ImmutableArray PolicyItemWeeklies; public readonly string ProjectId; @@ -166,13 +116,13 @@ private GetBackupCompliancePolicyResult( string id, - Outputs.GetBackupCompliancePolicyOnDemandPolicyItemResult? onDemandPolicyItem, + Outputs.GetBackupCompliancePolicyOnDemandPolicyItemResult onDemandPolicyItem, bool pitEnabled, - Outputs.GetBackupCompliancePolicyPolicyItemDailyResult? policyItemDaily, + Outputs.GetBackupCompliancePolicyPolicyItemDailyResult policyItemDaily, - Outputs.GetBackupCompliancePolicyPolicyItemHourlyResult? policyItemHourly, + Outputs.GetBackupCompliancePolicyPolicyItemHourlyResult policyItemHourly, ImmutableArray policyItemMonthlies, diff --git a/sdk/dotnet/GetCloudProviderAccess.cs b/sdk/dotnet/GetCloudProviderAccess.cs deleted file mode 100644 index 653f61d6..00000000 --- a/sdk/dotnet/GetCloudProviderAccess.cs +++ /dev/null @@ -1,147 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.Mongodbatlas -{ - public static class GetCloudProviderAccess - { - /// - /// **WARNING:** The data source `mongodbatlas.CloudProviderAccess` is deprecated and will be removed in version v1.14.0, use the data source `mongodbatlas.CloudProviderAccessSetup` instead. - /// - /// `mongodbatlas.CloudProviderAccess` allows you to get the list of cloud provider access roles, currently only AWS and Azure is supported. - /// - /// > **NOTE:** Groups and projects are synonymous terms. You may find `groupId` in the official documentation. - /// - /// {{% examples %}} - /// ## Example Usage - /// {{% example %}} - /// - /// ```csharp - /// using System.Collections.Generic; - /// using System.Linq; - /// using Pulumi; - /// using Mongodbatlas = Pulumi.Mongodbatlas; - /// - /// return await Deployment.RunAsync(() => - /// { - /// var testRole = new Mongodbatlas.CloudProviderAccess("testRole", new() - /// { - /// ProjectId = "64259ee860c43338194b0f8e", - /// ProviderName = "AWS", - /// }); - /// - /// var all = Mongodbatlas.GetCloudProviderAccess.Invoke(new() - /// { - /// ProjectId = testRole.ProjectId, - /// }); - /// - /// }); - /// ``` - /// {{% /example %}} - /// {{% /examples %}} - /// - public static Task InvokeAsync(GetCloudProviderAccessArgs args, InvokeOptions? options = null) - => global::Pulumi.Deployment.Instance.InvokeAsync("mongodbatlas:index/getCloudProviderAccess:getCloudProviderAccess", args ?? new GetCloudProviderAccessArgs(), options.WithDefaults()); - - /// - /// **WARNING:** The data source `mongodbatlas.CloudProviderAccess` is deprecated and will be removed in version v1.14.0, use the data source `mongodbatlas.CloudProviderAccessSetup` instead. - /// - /// `mongodbatlas.CloudProviderAccess` allows you to get the list of cloud provider access roles, currently only AWS and Azure is supported. - /// - /// > **NOTE:** Groups and projects are synonymous terms. You may find `groupId` in the official documentation. - /// - /// {{% examples %}} - /// ## Example Usage - /// {{% example %}} - /// - /// ```csharp - /// using System.Collections.Generic; - /// using System.Linq; - /// using Pulumi; - /// using Mongodbatlas = Pulumi.Mongodbatlas; - /// - /// return await Deployment.RunAsync(() => - /// { - /// var testRole = new Mongodbatlas.CloudProviderAccess("testRole", new() - /// { - /// ProjectId = "64259ee860c43338194b0f8e", - /// ProviderName = "AWS", - /// }); - /// - /// var all = Mongodbatlas.GetCloudProviderAccess.Invoke(new() - /// { - /// ProjectId = testRole.ProjectId, - /// }); - /// - /// }); - /// ``` - /// {{% /example %}} - /// {{% /examples %}} - /// - public static Output Invoke(GetCloudProviderAccessInvokeArgs args, InvokeOptions? options = null) - => global::Pulumi.Deployment.Instance.Invoke("mongodbatlas:index/getCloudProviderAccess:getCloudProviderAccess", args ?? new GetCloudProviderAccessInvokeArgs(), options.WithDefaults()); - } - - - public sealed class GetCloudProviderAccessArgs : global::Pulumi.InvokeArgs - { - /// - /// The unique ID for the project to get all Cloud Provider Access - /// - [Input("projectId", required: true)] - public string ProjectId { get; set; } = null!; - - public GetCloudProviderAccessArgs() - { - } - public static new GetCloudProviderAccessArgs Empty => new GetCloudProviderAccessArgs(); - } - - public sealed class GetCloudProviderAccessInvokeArgs : global::Pulumi.InvokeArgs - { - /// - /// The unique ID for the project to get all Cloud Provider Access - /// - [Input("projectId", required: true)] - public Input ProjectId { get; set; } = null!; - - public GetCloudProviderAccessInvokeArgs() - { - } - public static new GetCloudProviderAccessInvokeArgs Empty => new GetCloudProviderAccessInvokeArgs(); - } - - - [OutputType] - public sealed class GetCloudProviderAccessResult - { - /// - /// A list where each represents a Cloud Provider Access Role. - /// - public readonly ImmutableArray AwsIamRoles; - /// - /// The provider-assigned unique ID for this managed resource. - /// - public readonly string Id; - public readonly string ProjectId; - - [OutputConstructor] - private GetCloudProviderAccessResult( - ImmutableArray awsIamRoles, - - string id, - - string projectId) - { - AwsIamRoles = awsIamRoles; - Id = id; - ProjectId = projectId; - } - } -} diff --git a/sdk/dotnet/GetCloudProviderAccessSetup.cs b/sdk/dotnet/GetCloudProviderAccessSetup.cs index 57453fbc..90ac8c9f 100644 --- a/sdk/dotnet/GetCloudProviderAccessSetup.cs +++ b/sdk/dotnet/GetCloudProviderAccessSetup.cs @@ -12,7 +12,7 @@ namespace Pulumi.Mongodbatlas public static class GetCloudProviderAccessSetup { /// - /// `mongodbatlas.CloudProviderAccess` allows you to get a single role for a provider access role setup, currently only AWS and Azure are supported. + /// `mongodbatlas_cloud_provider_access` allows you to get a single role for a provider access role setup, currently only AWS and Azure are supported. /// /// > **NOTE:** Groups and projects are synonymous terms. You may find `groupId` in the official documentation. /// @@ -86,7 +86,7 @@ public static Task InvokeAsync(GetCloudProvid => global::Pulumi.Deployment.Instance.InvokeAsync("mongodbatlas:index/getCloudProviderAccessSetup:getCloudProviderAccessSetup", args ?? new GetCloudProviderAccessSetupArgs(), options.WithDefaults()); /// - /// `mongodbatlas.CloudProviderAccess` allows you to get a single role for a provider access role setup, currently only AWS and Azure are supported. + /// `mongodbatlas_cloud_provider_access` allows you to get a single role for a provider access role setup, currently only AWS and Azure are supported. /// /// > **NOTE:** Groups and projects are synonymous terms. You may find `groupId` in the official documentation. /// diff --git a/sdk/dotnet/GetFederatedSettingsIdentityProvider.cs b/sdk/dotnet/GetFederatedSettingsIdentityProvider.cs index 60ac0017..dd605f24 100644 --- a/sdk/dotnet/GetFederatedSettingsIdentityProvider.cs +++ b/sdk/dotnet/GetFederatedSettingsIdentityProvider.cs @@ -14,6 +14,7 @@ public static class GetFederatedSettingsIdentityProvider /// /// `mongodbatlas.FederatedSettingsIdentityProvider` provides a federated settings identity provider data source. Atlas federated settings identity provider provides federated settings outputs for the configured identity provider. /// + /// > **NOTE:** OIDC Workforce IdP is currently in preview. To learn more about OIDC and existing limitations see the [OIDC Authentication Documentation](https://www.mongodb.com/docs/atlas/security-oidc/) /// /// {{% examples %}} /// ## Example Usage @@ -59,6 +60,7 @@ public static Task InvokeAsync(GetFe /// /// `mongodbatlas.FederatedSettingsIdentityProvider` provides a federated settings identity provider data source. Atlas federated settings identity provider provides federated settings outputs for the configured identity provider. /// + /// > **NOTE:** OIDC Workforce IdP is currently in preview. To learn more about OIDC and existing limitations see the [OIDC Authentication Documentation](https://www.mongodb.com/docs/atlas/security-oidc/) /// /// {{% examples %}} /// ## Example Usage @@ -111,9 +113,6 @@ public sealed class GetFederatedSettingsIdentityProviderArgs : global::Pulumi.In [Input("federationSettingsId", required: true)] public string FederationSettingsId { get; set; } = null!; - /// - /// Unique 20-hexadecimal digit string that identifies the IdP. - /// [Input("identityProviderId", required: true)] public string IdentityProviderId { get; set; } = null!; @@ -131,9 +130,6 @@ public sealed class GetFederatedSettingsIdentityProviderInvokeArgs : global::Pul [Input("federationSettingsId", required: true)] public Input FederationSettingsId { get; set; } = null!; - /// - /// Unique 20-hexadecimal digit string that identifies the IdP. - /// [Input("identityProviderId", required: true)] public Input IdentityProviderId { get; set; } = null!; @@ -160,10 +156,18 @@ public sealed class GetFederatedSettingsIdentityProviderResult /// public readonly ImmutableArray AssociatedOrgs; /// + /// Identifier of the intended recipient of the token. + /// + public readonly ImmutableArray AudienceClaims; + /// /// Identifier for the intended audience of the SAML Assertion. /// public readonly string AudienceUri; /// + /// Client identifier that is assigned to an application by the Identity Provider. + /// + public readonly string ClientId; + /// /// Human-readable label that identifies the IdP. /// public readonly string DisplayName; @@ -172,11 +176,19 @@ public sealed class GetFederatedSettingsIdentityProviderResult /// public readonly string FederationSettingsId; /// + /// Identifier of the claim which contains IdP Group IDs in the token. + /// + public readonly string GroupsClaim; + /// /// The provider-assigned unique ID for this managed resource. /// public readonly string Id; public readonly string IdentityProviderId; /// + /// Unique 24-hexadecimal digit string that identifies the IdP + /// + public readonly string IdpId; + /// /// Identifier for the issuer of the SAML Assertion. /// public readonly string IssuerUri; @@ -186,12 +198,20 @@ public sealed class GetFederatedSettingsIdentityProviderResult public readonly string OktaIdpId; public readonly ImmutableArray PemFileInfos; /// + /// The protocol of the identity provider. Either SAML or OIDC. + /// + public readonly string Protocol; + /// /// SAML Authentication Request Protocol binding used to send the AuthNRequest. Atlas supports the following binding values: /// - HTTP POST /// - HTTP REDIRECT /// public readonly string RequestBinding; /// + /// Scopes that MongoDB applications will request from the authorization endpoint. + /// + public readonly ImmutableArray RequestedScopes; + /// /// Algorithm used to encrypt the IdP signature. Atlas supports the following signature algorithm values: /// - SHA-1 /// - SHA-256 @@ -209,6 +229,10 @@ public sealed class GetFederatedSettingsIdentityProviderResult /// Label that indicates whether the identity provider is active. The IdP is Inactive until you map at least one domain to the IdP. /// public readonly string Status; + /// + /// Identifier of the claim which contains the user ID in the token. + /// + public readonly string UserClaim; [OutputConstructor] private GetFederatedSettingsIdentityProviderResult( @@ -218,48 +242,69 @@ private GetFederatedSettingsIdentityProviderResult( ImmutableArray associatedOrgs, + ImmutableArray audienceClaims, + string audienceUri, + string clientId, + string displayName, string federationSettingsId, + string groupsClaim, + string id, string identityProviderId, + string idpId, + string issuerUri, string oktaIdpId, ImmutableArray pemFileInfos, + string protocol, + string requestBinding, + ImmutableArray requestedScopes, + string responseSignatureAlgorithm, bool ssoDebugEnabled, string ssoUrl, - string status) + string status, + + string userClaim) { AcsUrl = acsUrl; AssociatedDomains = associatedDomains; AssociatedOrgs = associatedOrgs; + AudienceClaims = audienceClaims; AudienceUri = audienceUri; + ClientId = clientId; DisplayName = displayName; FederationSettingsId = federationSettingsId; + GroupsClaim = groupsClaim; Id = id; IdentityProviderId = identityProviderId; + IdpId = idpId; IssuerUri = issuerUri; OktaIdpId = oktaIdpId; PemFileInfos = pemFileInfos; + Protocol = protocol; RequestBinding = requestBinding; + RequestedScopes = requestedScopes; ResponseSignatureAlgorithm = responseSignatureAlgorithm; SsoDebugEnabled = ssoDebugEnabled; SsoUrl = ssoUrl; Status = status; + UserClaim = userClaim; } } } diff --git a/sdk/dotnet/GetFederatedSettingsIdentityProviders.cs b/sdk/dotnet/GetFederatedSettingsIdentityProviders.cs index fee49b5c..f308f576 100644 --- a/sdk/dotnet/GetFederatedSettingsIdentityProviders.cs +++ b/sdk/dotnet/GetFederatedSettingsIdentityProviders.cs @@ -14,6 +14,7 @@ public static class GetFederatedSettingsIdentityProviders /// /// `mongodbatlas.getFederatedSettingsIdentityProviders` provides an Federated Settings Identity Providers datasource. Atlas Cloud Federated Settings Identity Providers provides federated settings outputs for the configured Identity Providers. /// + /// > **NOTE:** OIDC Workforce IdP is currently in preview. To learn more about OIDC and existing limitations see the [OIDC Authentication Documentation](https://www.mongodb.com/docs/atlas/security-oidc/). /// /// {{% examples %}} /// ## Example Usage @@ -56,6 +57,7 @@ public static Task InvokeAsync(GetF /// /// `mongodbatlas.getFederatedSettingsIdentityProviders` provides an Federated Settings Identity Providers datasource. Atlas Cloud Federated Settings Identity Providers provides federated settings outputs for the configured Identity Providers. /// + /// > **NOTE:** OIDC Workforce IdP is currently in preview. To learn more about OIDC and existing limitations see the [OIDC Authentication Documentation](https://www.mongodb.com/docs/atlas/security-oidc/). /// /// {{% examples %}} /// ## Example Usage diff --git a/sdk/dotnet/GetOrganization.cs b/sdk/dotnet/GetOrganization.cs index bc339b89..1da1c4a3 100644 --- a/sdk/dotnet/GetOrganization.cs +++ b/sdk/dotnet/GetOrganization.cs @@ -101,6 +101,10 @@ public GetOrganizationInvokeArgs() [OutputType] public sealed class GetOrganizationResult { + /// + /// (Optional) Flag that indicates whether to require API operations to originate from an IP Address added to the API access list for the specified organization. + /// + public readonly bool ApiAccessListRequired; /// /// The provider-assigned unique ID for this managed resource. /// @@ -111,28 +115,45 @@ public sealed class GetOrganizationResult public readonly bool IsDeleted; public readonly ImmutableArray Links; /// + /// (Optional) Flag that indicates whether to require users to set up Multi-Factor Authentication (MFA) before accessing the specified organization. To learn more, see: https://www.mongodb.com/docs/atlas/security-multi-factor-authentication/. + /// + public readonly bool MultiFactorAuthRequired; + /// /// Human-readable label that identifies the organization. /// public readonly string Name; public readonly string OrgId; + /// + /// (Optional) Flag that indicates whether to block MongoDB Support from accessing Atlas infrastructure for any deployment in the specified organization without explicit permission. Once this setting is turned on, you can grant MongoDB Support a 24-hour bypass access to the Atlas deployment to resolve support issues. To learn more, see: https://www.mongodb.com/docs/atlas/security-restrict-support-access/. + /// + public readonly bool RestrictEmployeeAccess; [OutputConstructor] private GetOrganizationResult( + bool apiAccessListRequired, + string id, bool isDeleted, ImmutableArray links, + bool multiFactorAuthRequired, + string name, - string orgId) + string orgId, + + bool restrictEmployeeAccess) { + ApiAccessListRequired = apiAccessListRequired; Id = id; IsDeleted = isDeleted; Links = links; + MultiFactorAuthRequired = multiFactorAuthRequired; Name = name; OrgId = orgId; + RestrictEmployeeAccess = restrictEmployeeAccess; } } } diff --git a/sdk/dotnet/GetProject.cs b/sdk/dotnet/GetProject.cs index 3caea3b7..c2f928d0 100644 --- a/sdk/dotnet/GetProject.cs +++ b/sdk/dotnet/GetProject.cs @@ -91,17 +91,14 @@ public sealed class GetProjectResult public readonly int ClusterCount; /// /// The ISO-8601-formatted timestamp of when Atlas created the project. - /// * `teams.#.team_id` - The unique identifier of the team you want to associate with the project. The team and project must share the same parent organization. - /// * `teams.#.role_names` - Each string in the array represents a project role assigned to the team. Every user associated with the team inherits these roles. The [MongoDB Documentation](https://www.mongodb.com/docs/atlas/reference/user-roles/#organization-roles) describes the roles a user can have. - /// * `limits.#.name` - Human-readable label that identifies this project limit. - /// * `limits.#.value` - Amount the limit is set to. - /// * `limits.#.current_usage` - Amount that indicates the current usage of the limit. - /// * `limits.#.default_limit` - Default value of the limit. - /// * `limits.#.maximum_limit` - Maximum value of the limit. /// public readonly string Created; public readonly string Id; /// + /// IP addresses in a project categorized by services. See IP Addresses. + /// + public readonly Outputs.GetProjectIpAddressesResult IpAddresses; + /// /// Flag that indicates whether to enable statistics in [cluster metrics](https://www.mongodb.com/docs/atlas/monitor-cluster-metrics/) collection for the project. /// public readonly bool IsCollectDatabaseSpecificsStatisticsEnabled; @@ -125,9 +122,12 @@ public sealed class GetProjectResult /// Flag that indicates whether to enable Schema Advisor for the project. If enabled, you receive customized recommendations to optimize your data model and enhance performance. Disable this setting to disable schema suggestions in the [Performance Advisor](https://www.mongodb.com/docs/atlas/performance-advisor/#std-label-performance-advisor) and the [Data Explorer](https://www.mongodb.com/docs/atlas/atlas-ui/#std-label-atlas-ui). /// public readonly bool IsSchemaAdvisorEnabled; + /// + /// The limits for the specified project. See Limits. + /// public readonly ImmutableArray Limits; /// - /// The name of the project you want to create. + /// Human-readable label that identifies this project limit. /// public readonly string? Name; /// @@ -139,6 +139,9 @@ public sealed class GetProjectResult /// If GOV_REGIONS_ONLY the project can be used for government regions only, otherwise defaults to standard regions. For more information see [MongoDB Atlas for Government](https://www.mongodb.com/docs/atlas/government/api/#creating-a-project). /// public readonly string RegionUsageRestrictions; + /// + /// Returns all teams to which the authenticated user has access in the project. See Teams. + /// public readonly ImmutableArray Teams; [OutputConstructor] @@ -149,6 +152,8 @@ private GetProjectResult( string id, + Outputs.GetProjectIpAddressesResult ipAddresses, + bool isCollectDatabaseSpecificsStatisticsEnabled, bool isDataExplorerEnabled, @@ -176,6 +181,7 @@ private GetProjectResult( ClusterCount = clusterCount; Created = created; Id = id; + IpAddresses = ipAddresses; IsCollectDatabaseSpecificsStatisticsEnabled = isCollectDatabaseSpecificsStatisticsEnabled; IsDataExplorerEnabled = isDataExplorerEnabled; IsExtendedStorageSizesEnabled = isExtendedStorageSizesEnabled; diff --git a/sdk/dotnet/GetSearchDeployment.cs b/sdk/dotnet/GetSearchDeployment.cs index 646bff54..d2b6a0d6 100644 --- a/sdk/dotnet/GetSearchDeployment.cs +++ b/sdk/dotnet/GetSearchDeployment.cs @@ -16,25 +16,6 @@ public static class GetSearchDeployment /// /// {{% 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.GetSearchDeployment.Invoke(new() - /// { - /// ClusterName = "<CLUSTER_NAME>", - /// ProjectId = "<PROJECT_ID>", - /// }); - /// - /// }); - /// ``` - /// {{% /example %}} /// {{% /examples %}} /// public static Task InvokeAsync(GetSearchDeploymentArgs args, InvokeOptions? options = null) @@ -45,25 +26,6 @@ public static Task InvokeAsync(GetSearchDeploymentArg /// /// {{% 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.GetSearchDeployment.Invoke(new() - /// { - /// ClusterName = "<CLUSTER_NAME>", - /// ProjectId = "<PROJECT_ID>", - /// }); - /// - /// }); - /// ``` - /// {{% /example %}} /// {{% /examples %}} /// public static Output Invoke(GetSearchDeploymentInvokeArgs args, InvokeOptions? options = null) @@ -74,13 +36,13 @@ public static Output Invoke(GetSearchDeploymentInvoke public sealed class GetSearchDeploymentArgs : global::Pulumi.InvokeArgs { /// - /// The name of the cluster containing a search node deployment. + /// Label that identifies the cluster to return the search nodes for. /// [Input("clusterName", required: true)] public string ClusterName { get; set; } = null!; /// - /// The unique identifier for the [project](https://docs.atlas.mongodb.com/organizations-projects/#std-label-projects) that contains the specified cluster. + /// Unique 24-hexadecimal digit string that identifies your project. /// [Input("projectId", required: true)] public string ProjectId { get; set; } = null!; @@ -94,13 +56,13 @@ public GetSearchDeploymentArgs() public sealed class GetSearchDeploymentInvokeArgs : global::Pulumi.InvokeArgs { /// - /// The name of the cluster containing a search node deployment. + /// Label that identifies the cluster to return the search nodes for. /// [Input("clusterName", required: true)] public Input ClusterName { get; set; } = null!; /// - /// The unique identifier for the [project](https://docs.atlas.mongodb.com/organizations-projects/#std-label-projects) that contains the specified cluster. + /// Unique 24-hexadecimal digit string that identifies your project. /// [Input("projectId", required: true)] public Input ProjectId { get; set; } = null!; @@ -115,15 +77,24 @@ public GetSearchDeploymentInvokeArgs() [OutputType] public sealed class GetSearchDeploymentResult { + /// + /// Label that identifies the cluster to return the search nodes for. + /// public readonly string ClusterName; + /// + /// Unique 24-hexadecimal digit string that identifies the search deployment. + /// public readonly string Id; + /// + /// Unique 24-hexadecimal digit string that identifies your project. + /// public readonly string ProjectId; /// - /// List of settings that configure the search nodes for your cluster. See specs. + /// List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. /// public readonly ImmutableArray Specs; /// - /// Human-readable label that indicates the current operating condition of this search node deployment. + /// Human-readable label that indicates the current operating condition of this search deployment. /// public readonly string StateName; diff --git a/sdk/dotnet/GetSearchIndex.cs b/sdk/dotnet/GetSearchIndex.cs index 52dec4a8..a53e37f1 100644 --- a/sdk/dotnet/GetSearchIndex.cs +++ b/sdk/dotnet/GetSearchIndex.cs @@ -150,9 +150,6 @@ public sealed class GetSearchIndexArgs : global::Pulumi.InvokeArgs [Input("searchAnalyzer")] public string? SearchAnalyzer { get; set; } - [Input("status")] - public string? Status { get; set; } - [Input("type")] public string? Type { get; set; } @@ -233,9 +230,6 @@ public sealed class GetSearchIndexInvokeArgs : global::Pulumi.InvokeArgs [Input("searchAnalyzer")] public Input? SearchAnalyzer { get; set; } - [Input("status")] - public Input? Status { get; set; } - [Input("type")] public Input? Type { get; set; } @@ -289,6 +283,9 @@ public sealed class GetSearchIndexResult /// [Analyzer](https://docs.atlas.mongodb.com/reference/atlas-search/analyzers/#std-label-analyzers-ref) to use when searching the index. /// public readonly string? SearchAnalyzer; + /// + /// Current status of the index. + /// public readonly string Status; /// /// Synonyms mapping definition to use in this index. diff --git a/sdk/dotnet/GetSearchIndexes.cs b/sdk/dotnet/GetSearchIndexes.cs index 94584ce0..3219c1d7 100644 --- a/sdk/dotnet/GetSearchIndexes.cs +++ b/sdk/dotnet/GetSearchIndexes.cs @@ -49,18 +49,6 @@ public sealed class GetSearchIndexesArgs : global::Pulumi.InvokeArgs [Input("database", required: true)] public string Database { get; set; } = null!; - /// - /// Number of items that Atlas returns per page, up to a maximum of 500. **WARNING:** this parameter is deprecated and will be removed in version 1.15.0 - /// - [Input("itemsPerPage")] - public int? ItemsPerPage { get; set; } - - /// - /// Page number, starting with one, that Atlas returns of the total number of objects. **WARNING:** this parameter is deprecated and will be removed in version 1.15.0 - /// - [Input("pageNum")] - public int? PageNum { get; set; } - /// /// Unique identifier for the [project](https://docs.atlas.mongodb.com/organizations-projects/#std-label-projects) that contains the specified cluster. /// @@ -93,18 +81,6 @@ public sealed class GetSearchIndexesInvokeArgs : global::Pulumi.InvokeArgs [Input("database", required: true)] public Input Database { get; set; } = null!; - /// - /// Number of items that Atlas returns per page, up to a maximum of 500. **WARNING:** this parameter is deprecated and will be removed in version 1.15.0 - /// - [Input("itemsPerPage")] - public Input? ItemsPerPage { get; set; } - - /// - /// Page number, starting with one, that Atlas returns of the total number of objects. **WARNING:** this parameter is deprecated and will be removed in version 1.15.0 - /// - [Input("pageNum")] - public Input? PageNum { get; set; } - /// /// Unique identifier for the [project](https://docs.atlas.mongodb.com/organizations-projects/#std-label-projects) that contains the specified cluster. /// @@ -134,8 +110,6 @@ public sealed class GetSearchIndexesResult /// The provider-assigned unique ID for this managed resource. /// public readonly string Id; - public readonly int? ItemsPerPage; - public readonly int? PageNum; public readonly string ProjectId; /// /// A list where each represents a search index. @@ -156,10 +130,6 @@ private GetSearchIndexesResult( string id, - int? itemsPerPage, - - int? pageNum, - string projectId, ImmutableArray results, @@ -170,8 +140,6 @@ private GetSearchIndexesResult( CollectionName = collectionName; Database = database; Id = id; - ItemsPerPage = itemsPerPage; - PageNum = pageNum; ProjectId = projectId; Results = results; TotalCount = totalCount; diff --git a/sdk/dotnet/Inputs/AlertConfigurationNotificationArgs.cs b/sdk/dotnet/Inputs/AlertConfigurationNotificationArgs.cs index 88d30ca4..fa060efd 100644 --- a/sdk/dotnet/Inputs/AlertConfigurationNotificationArgs.cs +++ b/sdk/dotnet/Inputs/AlertConfigurationNotificationArgs.cs @@ -51,7 +51,7 @@ public Input? DatadogApiKey } /// - /// Region that indicates which API URL to use. Accepted regions are: `US`, `EU`. The default Datadog region is US. + /// Region that indicates which API URL to use. See the `datadogRegion` field in the `notifications` request parameter of [MongoDB API Alert Configuration documentation](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/v2/#tag/Alert-Configurations/operation/createAlertConfiguration) for more details. The default Datadog region is US. /// [Input("datadogRegion")] public Input? DatadogRegion { get; set; } diff --git a/sdk/dotnet/Inputs/AlertConfigurationNotificationGetArgs.cs b/sdk/dotnet/Inputs/AlertConfigurationNotificationGetArgs.cs index 86fcdb1a..f78034cb 100644 --- a/sdk/dotnet/Inputs/AlertConfigurationNotificationGetArgs.cs +++ b/sdk/dotnet/Inputs/AlertConfigurationNotificationGetArgs.cs @@ -51,7 +51,7 @@ public Input? DatadogApiKey } /// - /// Region that indicates which API URL to use. Accepted regions are: `US`, `EU`. The default Datadog region is US. + /// Region that indicates which API URL to use. See the `datadogRegion` field in the `notifications` request parameter of [MongoDB API Alert Configuration documentation](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/v2/#tag/Alert-Configurations/operation/createAlertConfiguration) for more details. The default Datadog region is US. /// [Input("datadogRegion")] public Input? DatadogRegion { get; set; } diff --git a/sdk/dotnet/Inputs/CloudProviderAccessFeatureUsageArgs.cs b/sdk/dotnet/Inputs/CloudProviderAccessFeatureUsageArgs.cs deleted file mode 100644 index aaf102f5..00000000 --- a/sdk/dotnet/Inputs/CloudProviderAccessFeatureUsageArgs.cs +++ /dev/null @@ -1,31 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.Mongodbatlas.Inputs -{ - - public sealed class CloudProviderAccessFeatureUsageArgs : global::Pulumi.ResourceArgs - { - [Input("featureId")] - private InputMap? _featureId; - public InputMap FeatureId - { - get => _featureId ?? (_featureId = new InputMap()); - set => _featureId = value; - } - - [Input("featureType")] - public Input? FeatureType { get; set; } - - public CloudProviderAccessFeatureUsageArgs() - { - } - public static new CloudProviderAccessFeatureUsageArgs Empty => new CloudProviderAccessFeatureUsageArgs(); - } -} diff --git a/sdk/dotnet/Inputs/CloudProviderAccessFeatureUsageGetArgs.cs b/sdk/dotnet/Inputs/CloudProviderAccessFeatureUsageGetArgs.cs deleted file mode 100644 index 3449c207..00000000 --- a/sdk/dotnet/Inputs/CloudProviderAccessFeatureUsageGetArgs.cs +++ /dev/null @@ -1,31 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.Mongodbatlas.Inputs -{ - - public sealed class CloudProviderAccessFeatureUsageGetArgs : global::Pulumi.ResourceArgs - { - [Input("featureId")] - private InputMap? _featureId; - public InputMap FeatureId - { - get => _featureId ?? (_featureId = new InputMap()); - set => _featureId = value; - } - - [Input("featureType")] - public Input? FeatureType { get; set; } - - public CloudProviderAccessFeatureUsageGetArgs() - { - } - public static new CloudProviderAccessFeatureUsageGetArgs Empty => new CloudProviderAccessFeatureUsageGetArgs(); - } -} diff --git a/sdk/dotnet/Inputs/DatabaseUserRoleArgs.cs b/sdk/dotnet/Inputs/DatabaseUserRoleArgs.cs index 72db2ae1..d5ec5a6a 100644 --- a/sdk/dotnet/Inputs/DatabaseUserRoleArgs.cs +++ b/sdk/dotnet/Inputs/DatabaseUserRoleArgs.cs @@ -19,7 +19,7 @@ public sealed class DatabaseUserRoleArgs : global::Pulumi.ResourceArgs public Input? CollectionName { get; set; } /// - /// Database on which the user has the specified role. A role on the `admin` database can include privileges that apply to the other databases. + /// Database on which the user has the specified role. A role on the `admin` database can include privileges that apply to the other databases. This field should be set to `admin` for a custom MongoDB role. /// [Input("databaseName", required: true)] public Input DatabaseName { get; set; } = null!; diff --git a/sdk/dotnet/Inputs/DatabaseUserRoleGetArgs.cs b/sdk/dotnet/Inputs/DatabaseUserRoleGetArgs.cs index 8b0e0db0..4bb9f2dc 100644 --- a/sdk/dotnet/Inputs/DatabaseUserRoleGetArgs.cs +++ b/sdk/dotnet/Inputs/DatabaseUserRoleGetArgs.cs @@ -19,7 +19,7 @@ public sealed class DatabaseUserRoleGetArgs : global::Pulumi.ResourceArgs public Input? CollectionName { get; set; } /// - /// Database on which the user has the specified role. A role on the `admin` database can include privileges that apply to the other databases. + /// Database on which the user has the specified role. A role on the `admin` database can include privileges that apply to the other databases. This field should be set to `admin` for a custom MongoDB role. /// [Input("databaseName", required: true)] public Input DatabaseName { get; set; } = null!; diff --git a/sdk/dotnet/Inputs/EncryptionAtRestAwsKmsConfigArgs.cs b/sdk/dotnet/Inputs/EncryptionAtRestAwsKmsConfigArgs.cs index c56abe54..0ab23324 100644 --- a/sdk/dotnet/Inputs/EncryptionAtRestAwsKmsConfigArgs.cs +++ b/sdk/dotnet/Inputs/EncryptionAtRestAwsKmsConfigArgs.cs @@ -53,7 +53,7 @@ public Input? CustomerMasterKeyId public Input? Region { get; set; } /// - /// ID of an AWS IAM role authorized to manage an AWS customer master key. To find the ID for an existing IAM role check the `role_id` attribute of the `mongodbatlas.CloudProviderAccess` resource. + /// ID of an AWS IAM role authorized to manage an AWS customer master key. To find the ID for an existing IAM role check the `role_id` attribute of the `mongodbatlas_cloud_provider_access` resource. /// [Input("roleId")] public Input? RoleId { get; set; } diff --git a/sdk/dotnet/Inputs/EncryptionAtRestAwsKmsConfigGetArgs.cs b/sdk/dotnet/Inputs/EncryptionAtRestAwsKmsConfigGetArgs.cs index 14149cfd..358dfbd0 100644 --- a/sdk/dotnet/Inputs/EncryptionAtRestAwsKmsConfigGetArgs.cs +++ b/sdk/dotnet/Inputs/EncryptionAtRestAwsKmsConfigGetArgs.cs @@ -53,7 +53,7 @@ public Input? CustomerMasterKeyId public Input? Region { get; set; } /// - /// ID of an AWS IAM role authorized to manage an AWS customer master key. To find the ID for an existing IAM role check the `role_id` attribute of the `mongodbatlas.CloudProviderAccess` resource. + /// ID of an AWS IAM role authorized to manage an AWS customer master key. To find the ID for an existing IAM role check the `role_id` attribute of the `mongodbatlas_cloud_provider_access` resource. /// [Input("roleId")] public Input? RoleId { get; set; } diff --git a/sdk/dotnet/Inputs/GetBackupCompliancePolicyOnDemandPolicyItem.cs b/sdk/dotnet/Inputs/GetBackupCompliancePolicyOnDemandPolicyItem.cs deleted file mode 100644 index 59262ad1..00000000 --- a/sdk/dotnet/Inputs/GetBackupCompliancePolicyOnDemandPolicyItem.cs +++ /dev/null @@ -1,50 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.Mongodbatlas.Inputs -{ - - public sealed class GetBackupCompliancePolicyOnDemandPolicyItemArgs : global::Pulumi.InvokeArgs - { - /// - /// Desired frequency of the new backup policy item specified by `frequency_type` (monthly in this case). The supported values for weekly policies are - /// - [Input("frequencyInterval", required: true)] - public int FrequencyInterval { get; set; } - - /// - /// Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - /// - [Input("frequencyType", required: true)] - public string FrequencyType { get; set; } = null!; - - /// - /// Unique identifier of the backup policy item. - /// - [Input("id", required: true)] - public string Id { get; set; } = null!; - - /// - /// Scope of the backup policy item: `days`, `weeks`, or `months`. - /// - [Input("retentionUnit", required: true)] - public string RetentionUnit { get; set; } = null!; - - /// - /// Value to associate with `retention_unit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - /// - [Input("retentionValue", required: true)] - public int RetentionValue { get; set; } - - public GetBackupCompliancePolicyOnDemandPolicyItemArgs() - { - } - public static new GetBackupCompliancePolicyOnDemandPolicyItemArgs Empty => new GetBackupCompliancePolicyOnDemandPolicyItemArgs(); - } -} diff --git a/sdk/dotnet/Inputs/GetBackupCompliancePolicyOnDemandPolicyItemArgs.cs b/sdk/dotnet/Inputs/GetBackupCompliancePolicyOnDemandPolicyItemArgs.cs deleted file mode 100644 index 750a7ec6..00000000 --- a/sdk/dotnet/Inputs/GetBackupCompliancePolicyOnDemandPolicyItemArgs.cs +++ /dev/null @@ -1,50 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.Mongodbatlas.Inputs -{ - - public sealed class GetBackupCompliancePolicyOnDemandPolicyItemInputArgs : global::Pulumi.ResourceArgs - { - /// - /// Desired frequency of the new backup policy item specified by `frequency_type` (monthly in this case). The supported values for weekly policies are - /// - [Input("frequencyInterval", required: true)] - public Input FrequencyInterval { get; set; } = null!; - - /// - /// Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - /// - [Input("frequencyType", required: true)] - public Input FrequencyType { get; set; } = null!; - - /// - /// Unique identifier of the backup policy item. - /// - [Input("id", required: true)] - public Input Id { get; set; } = null!; - - /// - /// Scope of the backup policy item: `days`, `weeks`, or `months`. - /// - [Input("retentionUnit", required: true)] - public Input RetentionUnit { get; set; } = null!; - - /// - /// Value to associate with `retention_unit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - /// - [Input("retentionValue", required: true)] - public Input RetentionValue { get; set; } = null!; - - public GetBackupCompliancePolicyOnDemandPolicyItemInputArgs() - { - } - public static new GetBackupCompliancePolicyOnDemandPolicyItemInputArgs Empty => new GetBackupCompliancePolicyOnDemandPolicyItemInputArgs(); - } -} diff --git a/sdk/dotnet/Inputs/GetBackupCompliancePolicyPolicyItemDaily.cs b/sdk/dotnet/Inputs/GetBackupCompliancePolicyPolicyItemDaily.cs deleted file mode 100644 index 2379ec8a..00000000 --- a/sdk/dotnet/Inputs/GetBackupCompliancePolicyPolicyItemDaily.cs +++ /dev/null @@ -1,50 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.Mongodbatlas.Inputs -{ - - public sealed class GetBackupCompliancePolicyPolicyItemDailyArgs : global::Pulumi.InvokeArgs - { - /// - /// Desired frequency of the new backup policy item specified by `frequency_type` (monthly in this case). The supported values for weekly policies are - /// - [Input("frequencyInterval", required: true)] - public int FrequencyInterval { get; set; } - - /// - /// Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - /// - [Input("frequencyType", required: true)] - public string FrequencyType { get; set; } = null!; - - /// - /// Unique identifier of the backup policy item. - /// - [Input("id", required: true)] - public string Id { get; set; } = null!; - - /// - /// Scope of the backup policy item: `days`, `weeks`, or `months`. - /// - [Input("retentionUnit", required: true)] - public string RetentionUnit { get; set; } = null!; - - /// - /// Value to associate with `retention_unit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - /// - [Input("retentionValue", required: true)] - public int RetentionValue { get; set; } - - public GetBackupCompliancePolicyPolicyItemDailyArgs() - { - } - public static new GetBackupCompliancePolicyPolicyItemDailyArgs Empty => new GetBackupCompliancePolicyPolicyItemDailyArgs(); - } -} diff --git a/sdk/dotnet/Inputs/GetBackupCompliancePolicyPolicyItemDailyArgs.cs b/sdk/dotnet/Inputs/GetBackupCompliancePolicyPolicyItemDailyArgs.cs deleted file mode 100644 index 1acd19af..00000000 --- a/sdk/dotnet/Inputs/GetBackupCompliancePolicyPolicyItemDailyArgs.cs +++ /dev/null @@ -1,50 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.Mongodbatlas.Inputs -{ - - public sealed class GetBackupCompliancePolicyPolicyItemDailyInputArgs : global::Pulumi.ResourceArgs - { - /// - /// Desired frequency of the new backup policy item specified by `frequency_type` (monthly in this case). The supported values for weekly policies are - /// - [Input("frequencyInterval", required: true)] - public Input FrequencyInterval { get; set; } = null!; - - /// - /// Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - /// - [Input("frequencyType", required: true)] - public Input FrequencyType { get; set; } = null!; - - /// - /// Unique identifier of the backup policy item. - /// - [Input("id", required: true)] - public Input Id { get; set; } = null!; - - /// - /// Scope of the backup policy item: `days`, `weeks`, or `months`. - /// - [Input("retentionUnit", required: true)] - public Input RetentionUnit { get; set; } = null!; - - /// - /// Value to associate with `retention_unit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - /// - [Input("retentionValue", required: true)] - public Input RetentionValue { get; set; } = null!; - - public GetBackupCompliancePolicyPolicyItemDailyInputArgs() - { - } - public static new GetBackupCompliancePolicyPolicyItemDailyInputArgs Empty => new GetBackupCompliancePolicyPolicyItemDailyInputArgs(); - } -} diff --git a/sdk/dotnet/Inputs/GetBackupCompliancePolicyPolicyItemHourly.cs b/sdk/dotnet/Inputs/GetBackupCompliancePolicyPolicyItemHourly.cs deleted file mode 100644 index b1a5d4ed..00000000 --- a/sdk/dotnet/Inputs/GetBackupCompliancePolicyPolicyItemHourly.cs +++ /dev/null @@ -1,50 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.Mongodbatlas.Inputs -{ - - public sealed class GetBackupCompliancePolicyPolicyItemHourlyArgs : global::Pulumi.InvokeArgs - { - /// - /// Desired frequency of the new backup policy item specified by `frequency_type` (monthly in this case). The supported values for weekly policies are - /// - [Input("frequencyInterval", required: true)] - public int FrequencyInterval { get; set; } - - /// - /// Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - /// - [Input("frequencyType", required: true)] - public string FrequencyType { get; set; } = null!; - - /// - /// Unique identifier of the backup policy item. - /// - [Input("id", required: true)] - public string Id { get; set; } = null!; - - /// - /// Scope of the backup policy item: `days`, `weeks`, or `months`. - /// - [Input("retentionUnit", required: true)] - public string RetentionUnit { get; set; } = null!; - - /// - /// Value to associate with `retention_unit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - /// - [Input("retentionValue", required: true)] - public int RetentionValue { get; set; } - - public GetBackupCompliancePolicyPolicyItemHourlyArgs() - { - } - public static new GetBackupCompliancePolicyPolicyItemHourlyArgs Empty => new GetBackupCompliancePolicyPolicyItemHourlyArgs(); - } -} diff --git a/sdk/dotnet/Inputs/GetBackupCompliancePolicyPolicyItemHourlyArgs.cs b/sdk/dotnet/Inputs/GetBackupCompliancePolicyPolicyItemHourlyArgs.cs deleted file mode 100644 index c03068df..00000000 --- a/sdk/dotnet/Inputs/GetBackupCompliancePolicyPolicyItemHourlyArgs.cs +++ /dev/null @@ -1,50 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.Mongodbatlas.Inputs -{ - - public sealed class GetBackupCompliancePolicyPolicyItemHourlyInputArgs : global::Pulumi.ResourceArgs - { - /// - /// Desired frequency of the new backup policy item specified by `frequency_type` (monthly in this case). The supported values for weekly policies are - /// - [Input("frequencyInterval", required: true)] - public Input FrequencyInterval { get; set; } = null!; - - /// - /// Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - /// - [Input("frequencyType", required: true)] - public Input FrequencyType { get; set; } = null!; - - /// - /// Unique identifier of the backup policy item. - /// - [Input("id", required: true)] - public Input Id { get; set; } = null!; - - /// - /// Scope of the backup policy item: `days`, `weeks`, or `months`. - /// - [Input("retentionUnit", required: true)] - public Input RetentionUnit { get; set; } = null!; - - /// - /// Value to associate with `retention_unit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - /// - [Input("retentionValue", required: true)] - public Input RetentionValue { get; set; } = null!; - - public GetBackupCompliancePolicyPolicyItemHourlyInputArgs() - { - } - public static new GetBackupCompliancePolicyPolicyItemHourlyInputArgs Empty => new GetBackupCompliancePolicyPolicyItemHourlyInputArgs(); - } -} diff --git a/sdk/dotnet/Inputs/GetBackupCompliancePolicyPolicyItemMonthly.cs b/sdk/dotnet/Inputs/GetBackupCompliancePolicyPolicyItemMonthly.cs deleted file mode 100644 index 421ef827..00000000 --- a/sdk/dotnet/Inputs/GetBackupCompliancePolicyPolicyItemMonthly.cs +++ /dev/null @@ -1,50 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.Mongodbatlas.Inputs -{ - - public sealed class GetBackupCompliancePolicyPolicyItemMonthlyArgs : global::Pulumi.InvokeArgs - { - /// - /// Desired frequency of the new backup policy item specified by `frequency_type` (monthly in this case). The supported values for weekly policies are - /// - [Input("frequencyInterval", required: true)] - public int FrequencyInterval { get; set; } - - /// - /// Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - /// - [Input("frequencyType", required: true)] - public string FrequencyType { get; set; } = null!; - - /// - /// Unique identifier of the backup policy item. - /// - [Input("id", required: true)] - public string Id { get; set; } = null!; - - /// - /// Scope of the backup policy item: `days`, `weeks`, or `months`. - /// - [Input("retentionUnit", required: true)] - public string RetentionUnit { get; set; } = null!; - - /// - /// Value to associate with `retention_unit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - /// - [Input("retentionValue", required: true)] - public int RetentionValue { get; set; } - - public GetBackupCompliancePolicyPolicyItemMonthlyArgs() - { - } - public static new GetBackupCompliancePolicyPolicyItemMonthlyArgs Empty => new GetBackupCompliancePolicyPolicyItemMonthlyArgs(); - } -} diff --git a/sdk/dotnet/Inputs/GetBackupCompliancePolicyPolicyItemMonthlyArgs.cs b/sdk/dotnet/Inputs/GetBackupCompliancePolicyPolicyItemMonthlyArgs.cs deleted file mode 100644 index e6f4156d..00000000 --- a/sdk/dotnet/Inputs/GetBackupCompliancePolicyPolicyItemMonthlyArgs.cs +++ /dev/null @@ -1,50 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.Mongodbatlas.Inputs -{ - - public sealed class GetBackupCompliancePolicyPolicyItemMonthlyInputArgs : global::Pulumi.ResourceArgs - { - /// - /// Desired frequency of the new backup policy item specified by `frequency_type` (monthly in this case). The supported values for weekly policies are - /// - [Input("frequencyInterval", required: true)] - public Input FrequencyInterval { get; set; } = null!; - - /// - /// Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - /// - [Input("frequencyType", required: true)] - public Input FrequencyType { get; set; } = null!; - - /// - /// Unique identifier of the backup policy item. - /// - [Input("id", required: true)] - public Input Id { get; set; } = null!; - - /// - /// Scope of the backup policy item: `days`, `weeks`, or `months`. - /// - [Input("retentionUnit", required: true)] - public Input RetentionUnit { get; set; } = null!; - - /// - /// Value to associate with `retention_unit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - /// - [Input("retentionValue", required: true)] - public Input RetentionValue { get; set; } = null!; - - public GetBackupCompliancePolicyPolicyItemMonthlyInputArgs() - { - } - public static new GetBackupCompliancePolicyPolicyItemMonthlyInputArgs Empty => new GetBackupCompliancePolicyPolicyItemMonthlyInputArgs(); - } -} diff --git a/sdk/dotnet/Inputs/GetBackupCompliancePolicyPolicyItemWeekly.cs b/sdk/dotnet/Inputs/GetBackupCompliancePolicyPolicyItemWeekly.cs deleted file mode 100644 index aaa15605..00000000 --- a/sdk/dotnet/Inputs/GetBackupCompliancePolicyPolicyItemWeekly.cs +++ /dev/null @@ -1,50 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.Mongodbatlas.Inputs -{ - - public sealed class GetBackupCompliancePolicyPolicyItemWeeklyArgs : global::Pulumi.InvokeArgs - { - /// - /// Desired frequency of the new backup policy item specified by `frequency_type` (monthly in this case). The supported values for weekly policies are - /// - [Input("frequencyInterval", required: true)] - public int FrequencyInterval { get; set; } - - /// - /// Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - /// - [Input("frequencyType", required: true)] - public string FrequencyType { get; set; } = null!; - - /// - /// Unique identifier of the backup policy item. - /// - [Input("id", required: true)] - public string Id { get; set; } = null!; - - /// - /// Scope of the backup policy item: `days`, `weeks`, or `months`. - /// - [Input("retentionUnit", required: true)] - public string RetentionUnit { get; set; } = null!; - - /// - /// Value to associate with `retention_unit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - /// - [Input("retentionValue", required: true)] - public int RetentionValue { get; set; } - - public GetBackupCompliancePolicyPolicyItemWeeklyArgs() - { - } - public static new GetBackupCompliancePolicyPolicyItemWeeklyArgs Empty => new GetBackupCompliancePolicyPolicyItemWeeklyArgs(); - } -} diff --git a/sdk/dotnet/Inputs/GetBackupCompliancePolicyPolicyItemWeeklyArgs.cs b/sdk/dotnet/Inputs/GetBackupCompliancePolicyPolicyItemWeeklyArgs.cs deleted file mode 100644 index c43d6b41..00000000 --- a/sdk/dotnet/Inputs/GetBackupCompliancePolicyPolicyItemWeeklyArgs.cs +++ /dev/null @@ -1,50 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.Mongodbatlas.Inputs -{ - - public sealed class GetBackupCompliancePolicyPolicyItemWeeklyInputArgs : global::Pulumi.ResourceArgs - { - /// - /// Desired frequency of the new backup policy item specified by `frequency_type` (monthly in this case). The supported values for weekly policies are - /// - [Input("frequencyInterval", required: true)] - public Input FrequencyInterval { get; set; } = null!; - - /// - /// Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - /// - [Input("frequencyType", required: true)] - public Input FrequencyType { get; set; } = null!; - - /// - /// Unique identifier of the backup policy item. - /// - [Input("id", required: true)] - public Input Id { get; set; } = null!; - - /// - /// Scope of the backup policy item: `days`, `weeks`, or `months`. - /// - [Input("retentionUnit", required: true)] - public Input RetentionUnit { get; set; } = null!; - - /// - /// Value to associate with `retention_unit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - /// - [Input("retentionValue", required: true)] - public Input RetentionValue { get; set; } = null!; - - public GetBackupCompliancePolicyPolicyItemWeeklyInputArgs() - { - } - public static new GetBackupCompliancePolicyPolicyItemWeeklyInputArgs Empty => new GetBackupCompliancePolicyPolicyItemWeeklyInputArgs(); - } -} diff --git a/sdk/dotnet/Inputs/ProjectIpAddressesArgs.cs b/sdk/dotnet/Inputs/ProjectIpAddressesArgs.cs new file mode 100644 index 00000000..d08ce5bc --- /dev/null +++ b/sdk/dotnet/Inputs/ProjectIpAddressesArgs.cs @@ -0,0 +1,23 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Mongodbatlas.Inputs +{ + + public sealed class ProjectIpAddressesArgs : global::Pulumi.ResourceArgs + { + [Input("services")] + public Input? Services { get; set; } + + public ProjectIpAddressesArgs() + { + } + public static new ProjectIpAddressesArgs Empty => new ProjectIpAddressesArgs(); + } +} diff --git a/sdk/dotnet/Inputs/ProjectIpAddressesGetArgs.cs b/sdk/dotnet/Inputs/ProjectIpAddressesGetArgs.cs new file mode 100644 index 00000000..0673a562 --- /dev/null +++ b/sdk/dotnet/Inputs/ProjectIpAddressesGetArgs.cs @@ -0,0 +1,23 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Mongodbatlas.Inputs +{ + + public sealed class ProjectIpAddressesGetArgs : global::Pulumi.ResourceArgs + { + [Input("services")] + public Input? Services { get; set; } + + public ProjectIpAddressesGetArgs() + { + } + public static new ProjectIpAddressesGetArgs Empty => new ProjectIpAddressesGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/ProjectIpAddressesServicesArgs.cs b/sdk/dotnet/Inputs/ProjectIpAddressesServicesArgs.cs new file mode 100644 index 00000000..63e7c7f1 --- /dev/null +++ b/sdk/dotnet/Inputs/ProjectIpAddressesServicesArgs.cs @@ -0,0 +1,28 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Mongodbatlas.Inputs +{ + + public sealed class ProjectIpAddressesServicesArgs : global::Pulumi.ResourceArgs + { + [Input("clusters")] + private InputList? _clusters; + public InputList Clusters + { + get => _clusters ?? (_clusters = new InputList()); + set => _clusters = value; + } + + public ProjectIpAddressesServicesArgs() + { + } + public static new ProjectIpAddressesServicesArgs Empty => new ProjectIpAddressesServicesArgs(); + } +} diff --git a/sdk/dotnet/Inputs/ProjectIpAddressesServicesClusterArgs.cs b/sdk/dotnet/Inputs/ProjectIpAddressesServicesClusterArgs.cs new file mode 100644 index 00000000..134f647e --- /dev/null +++ b/sdk/dotnet/Inputs/ProjectIpAddressesServicesClusterArgs.cs @@ -0,0 +1,39 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Mongodbatlas.Inputs +{ + + public sealed class ProjectIpAddressesServicesClusterArgs : global::Pulumi.ResourceArgs + { + [Input("clusterName")] + public Input? ClusterName { get; set; } + + [Input("inbounds")] + private InputList? _inbounds; + public InputList Inbounds + { + get => _inbounds ?? (_inbounds = new InputList()); + set => _inbounds = value; + } + + [Input("outbounds")] + private InputList? _outbounds; + public InputList Outbounds + { + get => _outbounds ?? (_outbounds = new InputList()); + set => _outbounds = value; + } + + public ProjectIpAddressesServicesClusterArgs() + { + } + public static new ProjectIpAddressesServicesClusterArgs Empty => new ProjectIpAddressesServicesClusterArgs(); + } +} diff --git a/sdk/dotnet/Inputs/ProjectIpAddressesServicesClusterGetArgs.cs b/sdk/dotnet/Inputs/ProjectIpAddressesServicesClusterGetArgs.cs new file mode 100644 index 00000000..f07c26f2 --- /dev/null +++ b/sdk/dotnet/Inputs/ProjectIpAddressesServicesClusterGetArgs.cs @@ -0,0 +1,39 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Mongodbatlas.Inputs +{ + + public sealed class ProjectIpAddressesServicesClusterGetArgs : global::Pulumi.ResourceArgs + { + [Input("clusterName")] + public Input? ClusterName { get; set; } + + [Input("inbounds")] + private InputList? _inbounds; + public InputList Inbounds + { + get => _inbounds ?? (_inbounds = new InputList()); + set => _inbounds = value; + } + + [Input("outbounds")] + private InputList? _outbounds; + public InputList Outbounds + { + get => _outbounds ?? (_outbounds = new InputList()); + set => _outbounds = value; + } + + public ProjectIpAddressesServicesClusterGetArgs() + { + } + public static new ProjectIpAddressesServicesClusterGetArgs Empty => new ProjectIpAddressesServicesClusterGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/ProjectIpAddressesServicesGetArgs.cs b/sdk/dotnet/Inputs/ProjectIpAddressesServicesGetArgs.cs new file mode 100644 index 00000000..31ad6d06 --- /dev/null +++ b/sdk/dotnet/Inputs/ProjectIpAddressesServicesGetArgs.cs @@ -0,0 +1,28 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Mongodbatlas.Inputs +{ + + public sealed class ProjectIpAddressesServicesGetArgs : global::Pulumi.ResourceArgs + { + [Input("clusters")] + private InputList? _clusters; + public InputList Clusters + { + get => _clusters ?? (_clusters = new InputList()); + set => _clusters = value; + } + + public ProjectIpAddressesServicesGetArgs() + { + } + public static new ProjectIpAddressesServicesGetArgs Empty => new ProjectIpAddressesServicesGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SearchIndexSynonymArgs.cs b/sdk/dotnet/Inputs/SearchIndexSynonymArgs.cs index 39f64388..480dedd7 100644 --- a/sdk/dotnet/Inputs/SearchIndexSynonymArgs.cs +++ b/sdk/dotnet/Inputs/SearchIndexSynonymArgs.cs @@ -25,7 +25,7 @@ public sealed class SearchIndexSynonymArgs : global::Pulumi.ResourceArgs public Input Name { get; set; } = null!; /// - /// Name of the source MongoDB collection for the synonyms. Documents in this collection must be in the format described in the [Synonyms Source Collection Documents](https://docs.atlas.mongodb.com/reference/atlas-search/synonyms/#std-label-synonyms-coll-spec). + /// (Required) Name of the source MongoDB collection for the synonyms. Documents in this collection must be in the format described in the [Synonyms Source Collection Documents](https://docs.atlas.mongodb.com/reference/atlas-search/synonyms/#std-label-synonyms-coll-spec). /// [Input("sourceCollection", required: true)] public Input SourceCollection { get; set; } = null!; diff --git a/sdk/dotnet/Inputs/SearchIndexSynonymGetArgs.cs b/sdk/dotnet/Inputs/SearchIndexSynonymGetArgs.cs index 81b721cb..6f1bd945 100644 --- a/sdk/dotnet/Inputs/SearchIndexSynonymGetArgs.cs +++ b/sdk/dotnet/Inputs/SearchIndexSynonymGetArgs.cs @@ -25,7 +25,7 @@ public sealed class SearchIndexSynonymGetArgs : global::Pulumi.ResourceArgs public Input Name { get; set; } = null!; /// - /// Name of the source MongoDB collection for the synonyms. Documents in this collection must be in the format described in the [Synonyms Source Collection Documents](https://docs.atlas.mongodb.com/reference/atlas-search/synonyms/#std-label-synonyms-coll-spec). + /// (Required) Name of the source MongoDB collection for the synonyms. Documents in this collection must be in the format described in the [Synonyms Source Collection Documents](https://docs.atlas.mongodb.com/reference/atlas-search/synonyms/#std-label-synonyms-coll-spec). /// [Input("sourceCollection", required: true)] public Input SourceCollection { get; set; } = null!; diff --git a/sdk/dotnet/NetworkContainer.cs b/sdk/dotnet/NetworkContainer.cs index 7a6c218c..47a0ff09 100644 --- a/sdk/dotnet/NetworkContainer.cs +++ b/sdk/dotnet/NetworkContainer.cs @@ -10,7 +10,7 @@ namespace Pulumi.Mongodbatlas { /// - /// `mongodbatlas.NetworkContainer` provides a Network Peering Container resource. The resource lets you create, edit and delete network peering containers. The resource requires your Project ID. Each cloud provider requires slightly different attributes so read the argument reference carefully. + /// `mongodbatlas.NetworkContainer` provides a Network Peering Container resource. The resource lets you create, edit and delete network peering containers. You must delete network peering containers before creating clusters in your project. You can't delete a network peering container if your project contains clusters. The resource requires your Project ID. Each cloud provider requires slightly different attributes so read the argument reference carefully. /// /// Network peering container is a general term used to describe any cloud providers' VPC/VNet concept. Containers only need to be created if the peering connection to the cloud provider will be created before the first cluster that requires the container. If the cluster has been/will be created first Atlas automatically creates the required container per the "containers per cloud provider" information that follows (in this case you can obtain the container id from the cluster resource attribute `container_id`). /// diff --git a/sdk/dotnet/Organization.cs b/sdk/dotnet/Organization.cs index 6b2213e0..dcb91619 100644 --- a/sdk/dotnet/Organization.cs +++ b/sdk/dotnet/Organization.cs @@ -12,7 +12,11 @@ namespace Pulumi.Mongodbatlas /// /// `mongodbatlas.Organization` provides programmatic management (including creation) of a MongoDB Atlas Organization resource. /// - /// > **IMPORTANT NOTE:** When you establish an Atlas organization using this resource, it automatically generates a set of initial public and private Programmatic API Keys. These key values are vital to store because you'll need to use them to grant access to the newly created Atlas organization. + /// > **IMPORTANT NOTE:** When you establish an Atlas organization using this resource, it automatically generates a set of initial public and private Programmatic API Keys. These key values are vital to store because you'll need to use them to grant access to the newly created Atlas organization. To use this resource, `role_names` for new API Key must have the ORG_OWNER role specified. + /// + /// > **IMPORTANT NOTE:** To use this resource, the requesting API Key must have the Organization Owner role. The requesting API Key's organization must be a paying organization. To learn more, see Configure a Paying Organization in the MongoDB Atlas documentation. + /// + /// > **NOTE** Import command is currently not supported for this resource. /// /// ## Example Usage /// @@ -36,30 +40,31 @@ namespace Pulumi.Mongodbatlas /// /// }); /// ``` - /// - /// ## Import - /// - /// Organization must be imported using organization ID, e.g. - /// - /// ```sh - /// $ pulumi import mongodbatlas:index/organization:Organization my_org 5d09d6a59ccf6445652a444a - /// ``` - /// For more information see[MongoDB Atlas Admin API Organization](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Organizations/operation/createOrganization) - /// - /// Documentation for more information. /// [MongodbatlasResourceType("mongodbatlas:index/organization:Organization")] public partial class Organization : global::Pulumi.CustomResource { + /// + /// Flag that indicates whether to require API operations to originate from an IP Address added to the API access list for the specified organization. + /// + [Output("apiAccessListRequired")] + public Output ApiAccessListRequired { get; private set; } = null!; + [Output("description")] public Output Description { get; private set; } = null!; /// - /// (Optional) Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation. + /// Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation. /// [Output("federationSettingsId")] public Output FederationSettingsId { get; private set; } = null!; + /// + /// Flag that indicates whether to require users to set up Multi-Factor Authentication (MFA) before accessing the specified organization. To learn more, see: https://www.mongodb.com/docs/atlas/security-multi-factor-authentication/. + /// + [Output("multiFactorAuthRequired")] + public Output MultiFactorAuthRequired { get; private set; } = null!; + /// /// The name of the organization you want to create. (Cannot be changed via this Provider after creation.) /// @@ -87,6 +92,12 @@ public partial class Organization : global::Pulumi.CustomResource [Output("publicKey")] public Output PublicKey { get; private set; } = null!; + /// + /// Flag that indicates whether to block MongoDB Support from accessing Atlas infrastructure for any deployment in the specified organization without explicit permission. Once this setting is turned on, you can grant MongoDB Support a 24-hour bypass access to the Atlas deployment to resolve support issues. To learn more, see: https://www.mongodb.com/docs/atlas/security-restrict-support-access/. + /// + [Output("restrictEmployeeAccess")] + public Output RestrictEmployeeAccess { get; private set; } = null!; + /// /// List of Organization roles that the Programmatic API key needs to have. Ensure that you provide at least one role and ensure all roles are valid for the Organization. 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/#organization-roles) describes the roles that you can assign to a Programmatic API key. /// @@ -144,15 +155,27 @@ public static Organization Get(string name, Input id, OrganizationState? public sealed class OrganizationArgs : global::Pulumi.ResourceArgs { + /// + /// Flag that indicates whether to require API operations to originate from an IP Address added to the API access list for the specified organization. + /// + [Input("apiAccessListRequired")] + public Input? ApiAccessListRequired { get; set; } + [Input("description", required: true)] public Input Description { get; set; } = null!; /// - /// (Optional) Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation. + /// Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation. /// [Input("federationSettingsId")] public Input? FederationSettingsId { get; set; } + /// + /// Flag that indicates whether to require users to set up Multi-Factor Authentication (MFA) before accessing the specified organization. To learn more, see: https://www.mongodb.com/docs/atlas/security-multi-factor-authentication/. + /// + [Input("multiFactorAuthRequired")] + public Input? MultiFactorAuthRequired { get; set; } + /// /// The name of the organization you want to create. (Cannot be changed via this Provider after creation.) /// @@ -165,6 +188,12 @@ public sealed class OrganizationArgs : global::Pulumi.ResourceArgs [Input("orgOwnerId", required: true)] public Input OrgOwnerId { get; set; } = null!; + /// + /// Flag that indicates whether to block MongoDB Support from accessing Atlas infrastructure for any deployment in the specified organization without explicit permission. Once this setting is turned on, you can grant MongoDB Support a 24-hour bypass access to the Atlas deployment to resolve support issues. To learn more, see: https://www.mongodb.com/docs/atlas/security-restrict-support-access/. + /// + [Input("restrictEmployeeAccess")] + public Input? RestrictEmployeeAccess { get; set; } + [Input("roleNames", required: true)] private InputList? _roleNames; @@ -185,15 +214,27 @@ public OrganizationArgs() public sealed class OrganizationState : global::Pulumi.ResourceArgs { + /// + /// Flag that indicates whether to require API operations to originate from an IP Address added to the API access list for the specified organization. + /// + [Input("apiAccessListRequired")] + public Input? ApiAccessListRequired { get; set; } + [Input("description")] public Input? Description { get; set; } /// - /// (Optional) Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation. + /// Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation. /// [Input("federationSettingsId")] public Input? FederationSettingsId { get; set; } + /// + /// Flag that indicates whether to require users to set up Multi-Factor Authentication (MFA) before accessing the specified organization. To learn more, see: https://www.mongodb.com/docs/atlas/security-multi-factor-authentication/. + /// + [Input("multiFactorAuthRequired")] + public Input? MultiFactorAuthRequired { get; set; } + /// /// The name of the organization you want to create. (Cannot be changed via this Provider after creation.) /// @@ -240,6 +281,12 @@ public Input? PublicKey } } + /// + /// Flag that indicates whether to block MongoDB Support from accessing Atlas infrastructure for any deployment in the specified organization without explicit permission. Once this setting is turned on, you can grant MongoDB Support a 24-hour bypass access to the Atlas deployment to resolve support issues. To learn more, see: https://www.mongodb.com/docs/atlas/security-restrict-support-access/. + /// + [Input("restrictEmployeeAccess")] + public Input? RestrictEmployeeAccess { get; set; } + [Input("roleNames")] private InputList? _roleNames; diff --git a/sdk/dotnet/Outputs/AlertConfigurationNotification.cs b/sdk/dotnet/Outputs/AlertConfigurationNotification.cs index f7d38298..194736ba 100644 --- a/sdk/dotnet/Outputs/AlertConfigurationNotification.cs +++ b/sdk/dotnet/Outputs/AlertConfigurationNotification.cs @@ -26,7 +26,7 @@ public sealed class AlertConfigurationNotification /// public readonly string? DatadogApiKey; /// - /// Region that indicates which API URL to use. Accepted regions are: `US`, `EU`. The default Datadog region is US. + /// Region that indicates which API URL to use. See the `datadogRegion` field in the `notifications` request parameter of [MongoDB API Alert Configuration documentation](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/v2/#tag/Alert-Configurations/operation/createAlertConfiguration) for more details. The default Datadog region is US. /// public readonly string? DatadogRegion; /// diff --git a/sdk/dotnet/Outputs/DatabaseUserRole.cs b/sdk/dotnet/Outputs/DatabaseUserRole.cs index f0cd78ac..de623414 100644 --- a/sdk/dotnet/Outputs/DatabaseUserRole.cs +++ b/sdk/dotnet/Outputs/DatabaseUserRole.cs @@ -18,7 +18,7 @@ public sealed class DatabaseUserRole /// public readonly string? CollectionName; /// - /// Database on which the user has the specified role. A role on the `admin` database can include privileges that apply to the other databases. + /// Database on which the user has the specified role. A role on the `admin` database can include privileges that apply to the other databases. This field should be set to `admin` for a custom MongoDB role. /// public readonly string DatabaseName; /// diff --git a/sdk/dotnet/Outputs/EncryptionAtRestAwsKmsConfig.cs b/sdk/dotnet/Outputs/EncryptionAtRestAwsKmsConfig.cs index 792276c6..bcc6c8ee 100644 --- a/sdk/dotnet/Outputs/EncryptionAtRestAwsKmsConfig.cs +++ b/sdk/dotnet/Outputs/EncryptionAtRestAwsKmsConfig.cs @@ -27,7 +27,7 @@ public sealed class EncryptionAtRestAwsKmsConfig /// public readonly string? Region; /// - /// ID of an AWS IAM role authorized to manage an AWS customer master key. To find the ID for an existing IAM role check the `role_id` attribute of the `mongodbatlas.CloudProviderAccess` resource. + /// ID of an AWS IAM role authorized to manage an AWS customer master key. To find the ID for an existing IAM role check the `role_id` attribute of the `mongodbatlas_cloud_provider_access` resource. /// public readonly string? RoleId; public readonly string? SecretAccessKey; diff --git a/sdk/dotnet/Outputs/GetAlertConfigurationNotificationResult.cs b/sdk/dotnet/Outputs/GetAlertConfigurationNotificationResult.cs index bd682449..505acb43 100644 --- a/sdk/dotnet/Outputs/GetAlertConfigurationNotificationResult.cs +++ b/sdk/dotnet/Outputs/GetAlertConfigurationNotificationResult.cs @@ -26,7 +26,7 @@ public sealed class GetAlertConfigurationNotificationResult /// public readonly string DatadogApiKey; /// - /// Region that indicates which API URL to use. Accepted regions are: `US`, `EU`. The default Datadog region is US. + /// Region that indicates which API URL to use. See the `datadogRegion` field in the `notifications` request parameter of [MongoDB API Alert Configuration documentation](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/v2/#tag/Alert-Configurations/operation/createAlertConfiguration) for more details. The default Datadog region is US. /// public readonly string DatadogRegion; /// diff --git a/sdk/dotnet/Outputs/GetAlertConfigurationsResultNotificationResult.cs b/sdk/dotnet/Outputs/GetAlertConfigurationsResultNotificationResult.cs index 827131fb..dffc4152 100644 --- a/sdk/dotnet/Outputs/GetAlertConfigurationsResultNotificationResult.cs +++ b/sdk/dotnet/Outputs/GetAlertConfigurationsResultNotificationResult.cs @@ -26,7 +26,7 @@ public sealed class GetAlertConfigurationsResultNotificationResult /// public readonly string DatadogApiKey; /// - /// Region that indicates which API URL to use. Accepted regions are: `US`, `EU`. The default Datadog region is US. + /// Region that indicates which API URL to use. See the `datadogRegion` field in the `notifications` request parameter of [MongoDB API Alert Configuration documentation](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/v2/#tag/Alert-Configurations/operation/createAlertConfiguration) for more details. The default Datadog region is US. /// public readonly string DatadogRegion; /// diff --git a/sdk/dotnet/Outputs/GetCloudProviderAccessAwsIamRoleResult.cs b/sdk/dotnet/Outputs/GetCloudProviderAccessAwsIamRoleResult.cs deleted file mode 100644 index be3ede52..00000000 --- a/sdk/dotnet/Outputs/GetCloudProviderAccessAwsIamRoleResult.cs +++ /dev/null @@ -1,77 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.Mongodbatlas.Outputs -{ - - [OutputType] - public sealed class GetCloudProviderAccessAwsIamRoleResult - { - /// - /// Unique external ID Atlas uses when assuming the IAM role in your AWS account. - /// - public readonly string AtlasAssumedRoleExternalId; - /// - /// ARN associated with the Atlas AWS account used to assume IAM roles in your AWS account. - /// - public readonly string AtlasAwsAccountArn; - /// - /// Date on which this role was authorized. - /// - public readonly string AuthorizedDate; - /// - /// Date on which this role was created. - /// - public readonly string CreatedDate; - /// - /// Atlas features this AWS IAM role is linked to. - /// - public readonly ImmutableArray FeatureUsages; - /// - /// ARN of the IAM Role that Atlas assumes when accessing resources in your AWS account. - /// - public readonly string IamAssumedRoleArn; - /// - /// Name of the cloud provider. Currently limited to AWS. - /// - public readonly string ProviderName; - /// - /// Unique ID of this role. - /// - public readonly string RoleId; - - [OutputConstructor] - private GetCloudProviderAccessAwsIamRoleResult( - string atlasAssumedRoleExternalId, - - string atlasAwsAccountArn, - - string authorizedDate, - - string createdDate, - - ImmutableArray featureUsages, - - string iamAssumedRoleArn, - - string providerName, - - string roleId) - { - AtlasAssumedRoleExternalId = atlasAssumedRoleExternalId; - AtlasAwsAccountArn = atlasAwsAccountArn; - AuthorizedDate = authorizedDate; - CreatedDate = createdDate; - FeatureUsages = featureUsages; - IamAssumedRoleArn = iamAssumedRoleArn; - ProviderName = providerName; - RoleId = roleId; - } - } -} diff --git a/sdk/dotnet/Outputs/GetFederatedSettingsIdentityProviderAssociatedOrgResult.cs b/sdk/dotnet/Outputs/GetFederatedSettingsIdentityProviderAssociatedOrgResult.cs index 1144a5a0..2e346150 100644 --- a/sdk/dotnet/Outputs/GetFederatedSettingsIdentityProviderAssociatedOrgResult.cs +++ b/sdk/dotnet/Outputs/GetFederatedSettingsIdentityProviderAssociatedOrgResult.cs @@ -21,9 +21,6 @@ public sealed class GetFederatedSettingsIdentityProviderAssociatedOrgResult /// Flag that indicates whether domain restriction is enabled for the connected organization. /// public readonly bool DomainRestrictionEnabled; - /// - /// Unique 20-hexadecimal digit string that identifies the IdP. - /// public readonly string IdentityProviderId; /// /// Unique 24-hexadecimal digit string that identifies the organization that contains your projects. diff --git a/sdk/dotnet/Outputs/GetFederatedSettingsIdentityProvidersResultResult.cs b/sdk/dotnet/Outputs/GetFederatedSettingsIdentityProvidersResultResult.cs index 7b59e360..d785b594 100644 --- a/sdk/dotnet/Outputs/GetFederatedSettingsIdentityProvidersResultResult.cs +++ b/sdk/dotnet/Outputs/GetFederatedSettingsIdentityProvidersResultResult.cs @@ -26,26 +26,50 @@ public sealed class GetFederatedSettingsIdentityProvidersResultResult /// public readonly ImmutableArray AssociatedOrgs; /// + /// Identifier of the intended recipient of the token. + /// + public readonly ImmutableArray AudienceClaims; + /// /// Identifier for the intended audience of the SAML Assertion. /// public readonly string AudienceUri; /// + /// Client identifier that is assigned to an application by the Identity Provider. + /// + public readonly string ClientId; + /// /// Human-readable label that identifies the IdP. /// public readonly string DisplayName; /// + /// Identifier of the claim which contains IdP Group IDs in the token. + /// + public readonly string GroupsClaim; + /// + /// Unique 20-hexadecimal digit string that identifies the IdP. + /// + public readonly string IdpId; + /// /// Identifier for the issuer of the SAML Assertion. /// public readonly string IssuerUri; public readonly string OktaIdpId; public readonly ImmutableArray PemFileInfos; /// + /// The protocol of the identity provider + /// + public readonly string Protocol; + /// /// SAML Authentication Request Protocol binding used to send the AuthNRequest. Atlas supports the following binding values: /// - HTTP POST /// - HTTP REDIRECT /// public readonly string RequestBinding; /// + /// Scopes that MongoDB applications will request from the authorization endpoint. + /// + public readonly ImmutableArray RequestedScopes; + /// /// Algorithm used to encrypt the IdP signature. Atlas supports the following signature algorithm values: /// - SHA-1 /// - SHA-256 @@ -63,6 +87,10 @@ public sealed class GetFederatedSettingsIdentityProvidersResultResult /// Label that indicates whether the identity provider is active. The IdP is Inactive until you map at least one domain to the IdP. /// public readonly string Status; + /// + /// Identifier of the claim which contains the user ID in the token. + /// + public readonly string UserClaim; [OutputConstructor] private GetFederatedSettingsIdentityProvidersResultResult( @@ -72,39 +100,60 @@ private GetFederatedSettingsIdentityProvidersResultResult( ImmutableArray associatedOrgs, + ImmutableArray audienceClaims, + string audienceUri, + string clientId, + string displayName, + string groupsClaim, + + string idpId, + string issuerUri, string oktaIdpId, ImmutableArray pemFileInfos, + string protocol, + string requestBinding, + ImmutableArray requestedScopes, + string responseSignatureAlgorithm, bool ssoDebugEnabled, string ssoUrl, - string status) + string status, + + string userClaim) { AcsUrl = acsUrl; AssociatedDomains = associatedDomains; AssociatedOrgs = associatedOrgs; + AudienceClaims = audienceClaims; AudienceUri = audienceUri; + ClientId = clientId; DisplayName = displayName; + GroupsClaim = groupsClaim; + IdpId = idpId; IssuerUri = issuerUri; OktaIdpId = oktaIdpId; PemFileInfos = pemFileInfos; + Protocol = protocol; RequestBinding = requestBinding; + RequestedScopes = requestedScopes; ResponseSignatureAlgorithm = responseSignatureAlgorithm; SsoDebugEnabled = ssoDebugEnabled; SsoUrl = ssoUrl; Status = status; + UserClaim = userClaim; } } } diff --git a/sdk/dotnet/Outputs/GetOrganizationsResultResult.cs b/sdk/dotnet/Outputs/GetOrganizationsResultResult.cs index 1d1f90fa..f0dc79f4 100644 --- a/sdk/dotnet/Outputs/GetOrganizationsResultResult.cs +++ b/sdk/dotnet/Outputs/GetOrganizationsResultResult.cs @@ -13,36 +13,57 @@ namespace Pulumi.Mongodbatlas.Outputs [OutputType] public sealed class GetOrganizationsResultResult { + /// + /// Flag that indicates whether to require API operations to originate from an IP Address added to the API access list for the specified organization. + /// + public readonly bool ApiAccessListRequired; /// /// Autogenerated Unique ID for this data source. /// public readonly string Id; /// /// Flag that indicates whether this organization has been deleted. - /// - /// See [MongoDB Atlas API - Organizations](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Organizations/operation/listOrganizations) Documentation for more information. /// public readonly bool IsDeleted; public readonly ImmutableArray Links; /// + /// Flag that indicates whether to require users to set up Multi-Factor Authentication (MFA) before accessing the specified organization. To learn more, see: https://www.mongodb.com/docs/atlas/security-multi-factor-authentication/. + /// + public readonly bool MultiFactorAuthRequired; + /// /// Human-readable label that identifies the organization. /// public readonly string Name; + /// + /// Flag that indicates whether to block MongoDB Support from accessing Atlas infrastructure for any deployment in the specified organization without explicit permission. Once this setting is turned on, you can grant MongoDB Support a 24-hour bypass access to the Atlas deployment to resolve support issues. To learn more, see: https://www.mongodb.com/docs/atlas/security-restrict-support-access/. + /// + /// See [MongoDB Atlas API - Organizations](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Organizations/operation/listOrganizations) Documentation for more information. + /// + public readonly bool RestrictEmployeeAccess; [OutputConstructor] private GetOrganizationsResultResult( + bool apiAccessListRequired, + string id, bool isDeleted, ImmutableArray links, - string name) + bool multiFactorAuthRequired, + + string name, + + bool restrictEmployeeAccess) { + ApiAccessListRequired = apiAccessListRequired; Id = id; IsDeleted = isDeleted; Links = links; + MultiFactorAuthRequired = multiFactorAuthRequired; Name = name; + RestrictEmployeeAccess = restrictEmployeeAccess; } } } diff --git a/sdk/dotnet/Outputs/GetCloudProviderAccessAwsIamRoleFeatureUsageResult.cs b/sdk/dotnet/Outputs/GetProjectIpAddressesResult.cs similarity index 50% rename from sdk/dotnet/Outputs/GetCloudProviderAccessAwsIamRoleFeatureUsageResult.cs rename to sdk/dotnet/Outputs/GetProjectIpAddressesResult.cs index bdea421d..eb72fd65 100644 --- a/sdk/dotnet/Outputs/GetCloudProviderAccessAwsIamRoleFeatureUsageResult.cs +++ b/sdk/dotnet/Outputs/GetProjectIpAddressesResult.cs @@ -11,19 +11,14 @@ namespace Pulumi.Mongodbatlas.Outputs { [OutputType] - public sealed class GetCloudProviderAccessAwsIamRoleFeatureUsageResult + public sealed class GetProjectIpAddressesResult { - public readonly ImmutableDictionary FeatureId; - public readonly string FeatureType; + public readonly Outputs.GetProjectIpAddressesServicesResult Services; [OutputConstructor] - private GetCloudProviderAccessAwsIamRoleFeatureUsageResult( - ImmutableDictionary featureId, - - string featureType) + private GetProjectIpAddressesResult(Outputs.GetProjectIpAddressesServicesResult services) { - FeatureId = featureId; - FeatureType = featureType; + Services = services; } } } diff --git a/sdk/dotnet/Outputs/GetProjectIpAddressesServicesClusterResult.cs b/sdk/dotnet/Outputs/GetProjectIpAddressesServicesClusterResult.cs new file mode 100644 index 00000000..972ee921 --- /dev/null +++ b/sdk/dotnet/Outputs/GetProjectIpAddressesServicesClusterResult.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Mongodbatlas.Outputs +{ + + [OutputType] + public sealed class GetProjectIpAddressesServicesClusterResult + { + public readonly string ClusterName; + public readonly ImmutableArray Inbounds; + public readonly ImmutableArray Outbounds; + + [OutputConstructor] + private GetProjectIpAddressesServicesClusterResult( + string clusterName, + + ImmutableArray inbounds, + + ImmutableArray outbounds) + { + ClusterName = clusterName; + Inbounds = inbounds; + Outbounds = outbounds; + } + } +} diff --git a/sdk/dotnet/Outputs/CloudProviderAccessFeatureUsage.cs b/sdk/dotnet/Outputs/GetProjectIpAddressesServicesResult.cs similarity index 52% rename from sdk/dotnet/Outputs/CloudProviderAccessFeatureUsage.cs rename to sdk/dotnet/Outputs/GetProjectIpAddressesServicesResult.cs index c292c6df..c20f4348 100644 --- a/sdk/dotnet/Outputs/CloudProviderAccessFeatureUsage.cs +++ b/sdk/dotnet/Outputs/GetProjectIpAddressesServicesResult.cs @@ -11,19 +11,14 @@ namespace Pulumi.Mongodbatlas.Outputs { [OutputType] - public sealed class CloudProviderAccessFeatureUsage + public sealed class GetProjectIpAddressesServicesResult { - public readonly ImmutableDictionary? FeatureId; - public readonly string? FeatureType; + public readonly ImmutableArray Clusters; [OutputConstructor] - private CloudProviderAccessFeatureUsage( - ImmutableDictionary? featureId, - - string? featureType) + private GetProjectIpAddressesServicesResult(ImmutableArray clusters) { - FeatureId = featureId; - FeatureType = featureType; + Clusters = clusters; } } } diff --git a/sdk/dotnet/Outputs/GetProjectLimitResult.cs b/sdk/dotnet/Outputs/GetProjectLimitResult.cs index 86e1ad27..a4b760f6 100644 --- a/sdk/dotnet/Outputs/GetProjectLimitResult.cs +++ b/sdk/dotnet/Outputs/GetProjectLimitResult.cs @@ -13,8 +13,17 @@ namespace Pulumi.Mongodbatlas.Outputs [OutputType] public sealed class GetProjectLimitResult { + /// + /// Amount that indicates the current usage of the limit. + /// public readonly int CurrentUsage; + /// + /// Default value of the limit. + /// public readonly int DefaultLimit; + /// + /// Maximum value of the limit. + /// public readonly int MaximumLimit; /// /// The unique ID for the project. @@ -22,6 +31,9 @@ public sealed class GetProjectLimitResult /// > **IMPORTANT:** Either `project_id` or `name` must be configurated. /// public readonly string Name; + /// + /// Amount the limit is set to. + /// public readonly int Value; [OutputConstructor] diff --git a/sdk/dotnet/Outputs/GetProjectTeamResult.cs b/sdk/dotnet/Outputs/GetProjectTeamResult.cs index 03603138..f0ed820b 100644 --- a/sdk/dotnet/Outputs/GetProjectTeamResult.cs +++ b/sdk/dotnet/Outputs/GetProjectTeamResult.cs @@ -13,7 +13,13 @@ namespace Pulumi.Mongodbatlas.Outputs [OutputType] public sealed class GetProjectTeamResult { + /// + /// Each string in the array represents a project role assigned to the team. Every user associated with the team inherits these roles. The [MongoDB Documentation](https://www.mongodb.com/docs/atlas/reference/user-roles/#organization-roles) describes the roles a user can have. + /// public readonly ImmutableArray RoleNames; + /// + /// The unique identifier of the team you want to associate with the project. The team and project must share the same parent organization. + /// public readonly string TeamId; [OutputConstructor] diff --git a/sdk/dotnet/Outputs/GetProjectsResultIpAddressesResult.cs b/sdk/dotnet/Outputs/GetProjectsResultIpAddressesResult.cs new file mode 100644 index 00000000..b7e2b164 --- /dev/null +++ b/sdk/dotnet/Outputs/GetProjectsResultIpAddressesResult.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Mongodbatlas.Outputs +{ + + [OutputType] + public sealed class GetProjectsResultIpAddressesResult + { + public readonly Outputs.GetProjectsResultIpAddressesServicesResult Services; + + [OutputConstructor] + private GetProjectsResultIpAddressesResult(Outputs.GetProjectsResultIpAddressesServicesResult services) + { + Services = services; + } + } +} diff --git a/sdk/dotnet/Outputs/GetProjectsResultIpAddressesServicesClusterResult.cs b/sdk/dotnet/Outputs/GetProjectsResultIpAddressesServicesClusterResult.cs new file mode 100644 index 00000000..4dcbb2aa --- /dev/null +++ b/sdk/dotnet/Outputs/GetProjectsResultIpAddressesServicesClusterResult.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Mongodbatlas.Outputs +{ + + [OutputType] + public sealed class GetProjectsResultIpAddressesServicesClusterResult + { + public readonly string ClusterName; + public readonly ImmutableArray Inbounds; + public readonly ImmutableArray Outbounds; + + [OutputConstructor] + private GetProjectsResultIpAddressesServicesClusterResult( + string clusterName, + + ImmutableArray inbounds, + + ImmutableArray outbounds) + { + ClusterName = clusterName; + Inbounds = inbounds; + Outbounds = outbounds; + } + } +} diff --git a/sdk/dotnet/Outputs/GetProjectsResultIpAddressesServicesResult.cs b/sdk/dotnet/Outputs/GetProjectsResultIpAddressesServicesResult.cs new file mode 100644 index 00000000..ec6d9f40 --- /dev/null +++ b/sdk/dotnet/Outputs/GetProjectsResultIpAddressesServicesResult.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Mongodbatlas.Outputs +{ + + [OutputType] + public sealed class GetProjectsResultIpAddressesServicesResult + { + public readonly ImmutableArray Clusters; + + [OutputConstructor] + private GetProjectsResultIpAddressesServicesResult(ImmutableArray clusters) + { + Clusters = clusters; + } + } +} diff --git a/sdk/dotnet/Outputs/GetProjectsResultLimitResult.cs b/sdk/dotnet/Outputs/GetProjectsResultLimitResult.cs index f990c66e..998e91a8 100644 --- a/sdk/dotnet/Outputs/GetProjectsResultLimitResult.cs +++ b/sdk/dotnet/Outputs/GetProjectsResultLimitResult.cs @@ -13,13 +13,25 @@ namespace Pulumi.Mongodbatlas.Outputs [OutputType] public sealed class GetProjectsResultLimitResult { + /// + /// Amount that indicates the current usage of the limit. + /// public readonly int CurrentUsage; + /// + /// Default value of the limit. + /// public readonly int DefaultLimit; + /// + /// Maximum value of the limit. + /// public readonly int MaximumLimit; /// - /// The name of the project you want to create. + /// Human-readable label that identifies this project limit. /// public readonly string Name; + /// + /// Amount the limit is set to. + /// public readonly int Value; [OutputConstructor] diff --git a/sdk/dotnet/Outputs/GetProjectsResultResult.cs b/sdk/dotnet/Outputs/GetProjectsResultResult.cs index f998f43b..bd3498a8 100644 --- a/sdk/dotnet/Outputs/GetProjectsResultResult.cs +++ b/sdk/dotnet/Outputs/GetProjectsResultResult.cs @@ -19,13 +19,6 @@ public sealed class GetProjectsResultResult public readonly int ClusterCount; /// /// The ISO-8601-formatted timestamp of when Atlas created the project. - /// * `teams.#.team_id` - The unique identifier of the team you want to associate with the project. The team and project must share the same parent organization. - /// * `teams.#.role_names` - Each string in the array represents a project role assigned to the team. Every user associated with the team inherits these roles. The [MongoDB Documentation](https://www.mongodb.com/docs/atlas/reference/user-roles/#organization-roles) describes the roles a user can have. - /// * `limits.#.name` - Human-readable label that identifies this project limit. - /// * `limits.#.value` - Amount the limit is set to. - /// * `limits.#.current_usage` - Amount that indicates the current usage of the limit. - /// * `limits.#.default_limit` - Default value of the limit. - /// * `limits.#.maximum_limit` - Maximum value of the limit. /// public readonly string Created; /// @@ -33,6 +26,10 @@ public sealed class GetProjectsResultResult /// public readonly string Id; /// + /// IP addresses in a project categorized by services. See IP Addresses. + /// + public readonly Outputs.GetProjectsResultIpAddressesResult IpAddresses; + /// /// Flag that indicates whether to enable statistics in [cluster metrics](https://www.mongodb.com/docs/atlas/monitor-cluster-metrics/) collection for the project. /// public readonly bool IsCollectDatabaseSpecificsStatisticsEnabled; @@ -56,9 +53,12 @@ public sealed class GetProjectsResultResult /// Flag that indicates whether to enable Schema Advisor for the project. If enabled, you receive customized recommendations to optimize your data model and enhance performance. Disable this setting to disable schema suggestions in the [Performance Advisor](https://www.mongodb.com/docs/atlas/performance-advisor/#std-label-performance-advisor) and the [Data Explorer](https://www.mongodb.com/docs/atlas/atlas-ui/#std-label-atlas-ui). /// public readonly bool IsSchemaAdvisorEnabled; + /// + /// The limits for the specified project. See Limits. + /// public readonly ImmutableArray Limits; /// - /// The name of the project you want to create. + /// Human-readable label that identifies this project limit. /// public readonly string Name; /// @@ -68,10 +68,11 @@ public sealed class GetProjectsResultResult public readonly string ProjectId; /// /// If GOV_REGIONS_ONLY the project can be used for government regions only, otherwise defaults to standard regions. For more information see [MongoDB Atlas for Government](https://www.mongodb.com/docs/atlas/government/api/#creating-a-project). - /// - /// See [MongoDB Atlas API - Projects](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Projects) - [and MongoDB Atlas API - Teams](https://docs.atlas.mongodb.com/reference/api/project-get-teams/) Documentation for more information. /// public readonly string RegionUsageRestrictions; + /// + /// Returns all teams to which the authenticated user has access in the project. See Teams. + /// public readonly ImmutableArray Teams; [OutputConstructor] @@ -82,6 +83,8 @@ private GetProjectsResultResult( string id, + Outputs.GetProjectsResultIpAddressesResult ipAddresses, + bool isCollectDatabaseSpecificsStatisticsEnabled, bool isDataExplorerEnabled, @@ -109,6 +112,7 @@ private GetProjectsResultResult( ClusterCount = clusterCount; Created = created; Id = id; + IpAddresses = ipAddresses; IsCollectDatabaseSpecificsStatisticsEnabled = isCollectDatabaseSpecificsStatisticsEnabled; IsDataExplorerEnabled = isDataExplorerEnabled; IsExtendedStorageSizesEnabled = isExtendedStorageSizesEnabled; diff --git a/sdk/dotnet/Outputs/GetProjectsResultTeamResult.cs b/sdk/dotnet/Outputs/GetProjectsResultTeamResult.cs index ff5dbc1b..0d334ea3 100644 --- a/sdk/dotnet/Outputs/GetProjectsResultTeamResult.cs +++ b/sdk/dotnet/Outputs/GetProjectsResultTeamResult.cs @@ -13,7 +13,13 @@ namespace Pulumi.Mongodbatlas.Outputs [OutputType] public sealed class GetProjectsResultTeamResult { + /// + /// Each string in the array represents a project role assigned to the team. Every user associated with the team inherits these roles. The [MongoDB Documentation](https://www.mongodb.com/docs/atlas/reference/user-roles/#organization-roles) describes the roles a user can have. + /// public readonly ImmutableArray RoleNames; + /// + /// The unique identifier of the team you want to associate with the project. The team and project must share the same parent organization. + /// public readonly string TeamId; [OutputConstructor] diff --git a/sdk/dotnet/Outputs/GetSearchDeploymentSpecResult.cs b/sdk/dotnet/Outputs/GetSearchDeploymentSpecResult.cs index 8eac43ad..4712e6ba 100644 --- a/sdk/dotnet/Outputs/GetSearchDeploymentSpecResult.cs +++ b/sdk/dotnet/Outputs/GetSearchDeploymentSpecResult.cs @@ -14,11 +14,11 @@ namespace Pulumi.Mongodbatlas.Outputs public sealed class GetSearchDeploymentSpecResult { /// - /// (Required) Hardware specification for the search node instance sizes. The [MongoDB Atlas API](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Atlas-Search/operation/createAtlasSearchDeployment) describes the valid values. More details can also be found in the [Search Node Documentation](https://www.mongodb.com/docs/atlas/cluster-config/multi-cloud-distribution/#search-tier). + /// Hardware specification for the search node instance sizes. The [MongoDB Atlas API](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Atlas-Search/operation/createAtlasSearchDeployment) describes the valid values. More details can also be found in the [Search Node Documentation](https://www.mongodb.com/docs/atlas/cluster-config/multi-cloud-distribution/#search-tier). /// public readonly string InstanceSize; /// - /// (Required) Number of search nodes in the cluster. + /// Number of search nodes in the cluster. /// public readonly int NodeCount; diff --git a/sdk/dotnet/Outputs/GetSearchIndexesResultResult.cs b/sdk/dotnet/Outputs/GetSearchIndexesResultResult.cs index 27358199..f20b5510 100644 --- a/sdk/dotnet/Outputs/GetSearchIndexesResultResult.cs +++ b/sdk/dotnet/Outputs/GetSearchIndexesResultResult.cs @@ -55,6 +55,9 @@ public sealed class GetSearchIndexesResultResult /// [Analyzer](https://docs.atlas.mongodb.com/reference/atlas-search/analyzers/#std-label-analyzers-ref) to use when searching the index. /// public readonly string? SearchAnalyzer; + /// + /// Current status of the index. + /// public readonly string Status; /// /// Synonyms mapping definition to use in this index. diff --git a/sdk/dotnet/Outputs/ProjectIpAddresses.cs b/sdk/dotnet/Outputs/ProjectIpAddresses.cs new file mode 100644 index 00000000..812a4103 --- /dev/null +++ b/sdk/dotnet/Outputs/ProjectIpAddresses.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Mongodbatlas.Outputs +{ + + [OutputType] + public sealed class ProjectIpAddresses + { + public readonly Outputs.ProjectIpAddressesServices? Services; + + [OutputConstructor] + private ProjectIpAddresses(Outputs.ProjectIpAddressesServices? services) + { + Services = services; + } + } +} diff --git a/sdk/dotnet/Outputs/ProjectIpAddressesServices.cs b/sdk/dotnet/Outputs/ProjectIpAddressesServices.cs new file mode 100644 index 00000000..a0bdddcb --- /dev/null +++ b/sdk/dotnet/Outputs/ProjectIpAddressesServices.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Mongodbatlas.Outputs +{ + + [OutputType] + public sealed class ProjectIpAddressesServices + { + public readonly ImmutableArray Clusters; + + [OutputConstructor] + private ProjectIpAddressesServices(ImmutableArray clusters) + { + Clusters = clusters; + } + } +} diff --git a/sdk/dotnet/Outputs/ProjectIpAddressesServicesCluster.cs b/sdk/dotnet/Outputs/ProjectIpAddressesServicesCluster.cs new file mode 100644 index 00000000..cd77c578 --- /dev/null +++ b/sdk/dotnet/Outputs/ProjectIpAddressesServicesCluster.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Mongodbatlas.Outputs +{ + + [OutputType] + public sealed class ProjectIpAddressesServicesCluster + { + public readonly string? ClusterName; + public readonly ImmutableArray Inbounds; + public readonly ImmutableArray Outbounds; + + [OutputConstructor] + private ProjectIpAddressesServicesCluster( + string? clusterName, + + ImmutableArray inbounds, + + ImmutableArray outbounds) + { + ClusterName = clusterName; + Inbounds = inbounds; + Outbounds = outbounds; + } + } +} diff --git a/sdk/dotnet/Outputs/SearchIndexSynonym.cs b/sdk/dotnet/Outputs/SearchIndexSynonym.cs index cf477caa..ca781de2 100644 --- a/sdk/dotnet/Outputs/SearchIndexSynonym.cs +++ b/sdk/dotnet/Outputs/SearchIndexSynonym.cs @@ -22,7 +22,7 @@ public sealed class SearchIndexSynonym /// public readonly string Name; /// - /// Name of the source MongoDB collection for the synonyms. Documents in this collection must be in the format described in the [Synonyms Source Collection Documents](https://docs.atlas.mongodb.com/reference/atlas-search/synonyms/#std-label-synonyms-coll-spec). + /// (Required) Name of the source MongoDB collection for the synonyms. Documents in this collection must be in the format described in the [Synonyms Source Collection Documents](https://docs.atlas.mongodb.com/reference/atlas-search/synonyms/#std-label-synonyms-coll-spec). /// public readonly string SourceCollection; diff --git a/sdk/dotnet/Project.cs b/sdk/dotnet/Project.cs index de999c1e..b19f8bea 100644 --- a/sdk/dotnet/Project.cs +++ b/sdk/dotnet/Project.cs @@ -87,17 +87,23 @@ namespace Pulumi.Mongodbatlas public partial class Project : global::Pulumi.CustomResource { /// - /// The number of Atlas clusters deployed in the project.. + /// The number of Atlas clusters deployed in the project. /// [Output("clusterCount")] public Output ClusterCount { get; private set; } = null!; /// - /// The ISO-8601-formatted timestamp of when Atlas created the project.. + /// The ISO-8601-formatted timestamp of when Atlas created the project. /// [Output("created")] public Output Created { get; private set; } = null!; + /// + /// IP addresses in a project categorized by services. See IP Addresses. + /// + [Output("ipAddresses")] + public Output IpAddresses { get; private set; } = null!; + /// /// Flag that indicates whether to enable statistics in [cluster metrics](https://www.mongodb.com/docs/atlas/monitor-cluster-metrics/) collection for the project. By default, this flag is set to true. /// @@ -307,17 +313,23 @@ public ProjectArgs() public sealed class ProjectState : global::Pulumi.ResourceArgs { /// - /// The number of Atlas clusters deployed in the project.. + /// The number of Atlas clusters deployed in the project. /// [Input("clusterCount")] public Input? ClusterCount { get; set; } /// - /// The ISO-8601-formatted timestamp of when Atlas created the project.. + /// The ISO-8601-formatted timestamp of when Atlas created the project. /// [Input("created")] public Input? Created { get; set; } + /// + /// IP addresses in a project categorized by services. See IP Addresses. + /// + [Input("ipAddresses")] + public Input? IpAddresses { get; set; } + /// /// Flag that indicates whether to enable statistics in [cluster metrics](https://www.mongodb.com/docs/atlas/monitor-cluster-metrics/) collection for the project. By default, this flag is set to true. /// diff --git a/sdk/dotnet/SearchDeployment.cs b/sdk/dotnet/SearchDeployment.cs index 25560c36..fd9641e5 100644 --- a/sdk/dotnet/SearchDeployment.cs +++ b/sdk/dotnet/SearchDeployment.cs @@ -16,45 +16,35 @@ namespace Pulumi.Mongodbatlas /// /// > **NOTE:** Only a single search deployment resource can be defined for each cluster. /// - /// ## Import - /// - /// Search node resource can be imported using the project ID and cluster name, in the format `PROJECT_ID-CLUSTER_NAME`, e.g. - /// - /// ```sh - /// $ pulumi import mongodbatlas:index/searchDeployment:SearchDeployment test 650972848269185c55f40ca1-Cluster0 - /// ``` - /// For more information see[MongoDB Atlas API - Search Node](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Atlas-Search/operation/createAtlasSearchDeployment) Documentation. + /// ## Example Usage /// [MongodbatlasResourceType("mongodbatlas:index/searchDeployment:SearchDeployment")] public partial class SearchDeployment : global::Pulumi.CustomResource { /// - /// Label that identifies the cluster to create search nodes for. + /// Label that identifies the cluster to return the search nodes for. /// [Output("clusterName")] public Output ClusterName { get; private set; } = null!; /// - /// Unique 24-hexadecimal digit string that identifies your project. + /// Unique 24-hexadecimal character string that identifies the project. /// [Output("projectId")] public Output ProjectId { get; private set; } = null!; /// - /// List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. See specs. + /// List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. /// [Output("specs")] public Output> Specs { get; private set; } = null!; /// - /// Human-readable label that indicates the current operating condition of this search node deployment. + /// Human-readable label that indicates the current operating condition of this search deployment. /// [Output("stateName")] public Output StateName { get; private set; } = null!; - /// - /// The time to wait for search nodes to be created, updated, or deleted. The timeout value is defined by a signed sequence of decimal numbers with a time unit suffix such as: `1h45m`, `300s`, `10m`, .... The valid time units are: `ns`, `us` (or `µs`), `ms`, `s`, `m`, `h`. The attribute must be defined with nested attributes. - /// [Output("timeouts")] public Output Timeouts { get; private set; } = null!; @@ -105,13 +95,13 @@ public static SearchDeployment Get(string name, Input id, SearchDeployme public sealed class SearchDeploymentArgs : global::Pulumi.ResourceArgs { /// - /// Label that identifies the cluster to create search nodes for. + /// Label that identifies the cluster to return the search nodes for. /// [Input("clusterName", required: true)] public Input ClusterName { get; set; } = null!; /// - /// Unique 24-hexadecimal digit string that identifies your project. + /// Unique 24-hexadecimal character string that identifies the project. /// [Input("projectId", required: true)] public Input ProjectId { get; set; } = null!; @@ -120,7 +110,7 @@ public sealed class SearchDeploymentArgs : global::Pulumi.ResourceArgs private InputList? _specs; /// - /// List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. See specs. + /// List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. /// public InputList Specs { @@ -128,9 +118,6 @@ public InputList Specs set => _specs = value; } - /// - /// The time to wait for search nodes to be created, updated, or deleted. The timeout value is defined by a signed sequence of decimal numbers with a time unit suffix such as: `1h45m`, `300s`, `10m`, .... The valid time units are: `ns`, `us` (or `µs`), `ms`, `s`, `m`, `h`. The attribute must be defined with nested attributes. - /// [Input("timeouts")] public Input? Timeouts { get; set; } @@ -143,13 +130,13 @@ public SearchDeploymentArgs() public sealed class SearchDeploymentState : global::Pulumi.ResourceArgs { /// - /// Label that identifies the cluster to create search nodes for. + /// Label that identifies the cluster to return the search nodes for. /// [Input("clusterName")] public Input? ClusterName { get; set; } /// - /// Unique 24-hexadecimal digit string that identifies your project. + /// Unique 24-hexadecimal character string that identifies the project. /// [Input("projectId")] public Input? ProjectId { get; set; } @@ -158,7 +145,7 @@ public sealed class SearchDeploymentState : global::Pulumi.ResourceArgs private InputList? _specs; /// - /// List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. See specs. + /// List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. /// public InputList Specs { @@ -167,14 +154,11 @@ public InputList Specs } /// - /// Human-readable label that indicates the current operating condition of this search node deployment. + /// Human-readable label that indicates the current operating condition of this search deployment. /// [Input("stateName")] public Input? StateName { get; set; } - /// - /// The time to wait for search nodes to be created, updated, or deleted. The timeout value is defined by a signed sequence of decimal numbers with a time unit suffix such as: `1h45m`, `300s`, `10m`, .... The valid time units are: `ns`, `us` (or `µs`), `ms`, `s`, `m`, `h`. The attribute must be defined with nested attributes. - /// [Input("timeouts")] public Input? Timeouts { get; set; } diff --git a/sdk/dotnet/SearchIndex.cs b/sdk/dotnet/SearchIndex.cs index aaff560e..a9234945 100644 --- a/sdk/dotnet/SearchIndex.cs +++ b/sdk/dotnet/SearchIndex.cs @@ -215,6 +215,9 @@ public partial class SearchIndex : global::Pulumi.CustomResource [Output("searchAnalyzer")] public Output SearchAnalyzer { get; private set; } = null!; + /// + /// Current status of the index. + /// [Output("status")] public Output Status { get; private set; } = null!; @@ -345,9 +348,6 @@ public sealed class SearchIndexArgs : global::Pulumi.ResourceArgs [Input("searchAnalyzer")] public Input? SearchAnalyzer { get; set; } - [Input("status")] - public Input? Status { get; set; } - [Input("synonyms")] private InputList? _synonyms; @@ -446,6 +446,9 @@ public sealed class SearchIndexState : global::Pulumi.ResourceArgs [Input("searchAnalyzer")] public Input? SearchAnalyzer { get; set; } + /// + /// Current status of the index. + /// [Input("status")] public Input? Status { get; set; } diff --git a/sdk/go/mongodbatlas/apiKey.go b/sdk/go/mongodbatlas/apiKey.go index ed86a2cf..debc6824 100644 --- a/sdk/go/mongodbatlas/apiKey.go +++ b/sdk/go/mongodbatlas/apiKey.go @@ -12,6 +12,36 @@ 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.NewApiKey(ctx, "test", &mongodbatlas.ApiKeyArgs{ +// Description: pulumi.String("key-name"), +// OrgId: pulumi.String(""), +// RoleNames: pulumi.StringArray{ +// pulumi.String("ORG_READ_ONLY"), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// // ## Import // // API Keys must be imported using org ID, API Key ID e.g. diff --git a/sdk/go/mongodbatlas/backupCompliancePolicy.go b/sdk/go/mongodbatlas/backupCompliancePolicy.go index b65d267d..8a7405fe 100644 --- a/sdk/go/mongodbatlas/backupCompliancePolicy.go +++ b/sdk/go/mongodbatlas/backupCompliancePolicy.go @@ -35,12 +35,12 @@ type BackupCompliancePolicy struct { // 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"` + CopyProtectionEnabled pulumi.BoolPtrOutput `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. - EncryptionAtRestEnabled pulumi.BoolOutput `pulumi:"encryptionAtRestEnabled"` + EncryptionAtRestEnabled pulumi.BoolPtrOutput `pulumi:"encryptionAtRestEnabled"` OnDemandPolicyItem BackupCompliancePolicyOnDemandPolicyItemOutput `pulumi:"onDemandPolicyItem"` // Flag that indicates whether the cluster uses Continuous Cloud Backups with a Backup Compliance Policy. If unspecified, this value defaults to false. - PitEnabled pulumi.BoolOutput `pulumi:"pitEnabled"` + PitEnabled pulumi.BoolPtrOutput `pulumi:"pitEnabled"` PolicyItemDaily BackupCompliancePolicyPolicyItemDailyPtrOutput `pulumi:"policyItemDaily"` PolicyItemHourly BackupCompliancePolicyPolicyItemHourlyPtrOutput `pulumi:"policyItemHourly"` PolicyItemMonthlies BackupCompliancePolicyPolicyItemMonthlyArrayOutput `pulumi:"policyItemMonthlies"` @@ -73,18 +73,9 @@ func NewBackupCompliancePolicy(ctx *pulumi.Context, 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'") - } - if args.EncryptionAtRestEnabled == nil { - return nil, errors.New("invalid value for required argument 'EncryptionAtRestEnabled'") - } if args.OnDemandPolicyItem == nil { return nil, errors.New("invalid value for required argument 'OnDemandPolicyItem'") } - if args.PitEnabled == nil { - return nil, errors.New("invalid value for required argument 'PitEnabled'") - } if args.ProjectId == nil { return nil, errors.New("invalid value for required argument 'ProjectId'") } @@ -182,12 +173,12 @@ type backupCompliancePolicyArgs struct { // 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"` + 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. - EncryptionAtRestEnabled bool `pulumi:"encryptionAtRestEnabled"` + EncryptionAtRestEnabled *bool `pulumi:"encryptionAtRestEnabled"` OnDemandPolicyItem BackupCompliancePolicyOnDemandPolicyItem `pulumi:"onDemandPolicyItem"` // Flag that indicates whether the cluster uses Continuous Cloud Backups with a Backup Compliance Policy. If unspecified, this value defaults to false. - PitEnabled bool `pulumi:"pitEnabled"` + PitEnabled *bool `pulumi:"pitEnabled"` PolicyItemDaily *BackupCompliancePolicyPolicyItemDaily `pulumi:"policyItemDaily"` PolicyItemHourly *BackupCompliancePolicyPolicyItemHourly `pulumi:"policyItemHourly"` PolicyItemMonthlies []BackupCompliancePolicyPolicyItemMonthly `pulumi:"policyItemMonthlies"` @@ -207,12 +198,12 @@ type BackupCompliancePolicyArgs struct { // 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 + 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. - EncryptionAtRestEnabled pulumi.BoolInput + EncryptionAtRestEnabled pulumi.BoolPtrInput OnDemandPolicyItem BackupCompliancePolicyOnDemandPolicyItemInput // Flag that indicates whether the cluster uses Continuous Cloud Backups with a Backup Compliance Policy. If unspecified, this value defaults to false. - PitEnabled pulumi.BoolInput + PitEnabled pulumi.BoolPtrInput PolicyItemDaily BackupCompliancePolicyPolicyItemDailyPtrInput PolicyItemHourly BackupCompliancePolicyPolicyItemHourlyPtrInput PolicyItemMonthlies BackupCompliancePolicyPolicyItemMonthlyArrayInput @@ -326,13 +317,13 @@ func (o BackupCompliancePolicyOutput) AuthorizedUserLastName() pulumi.StringOutp } // 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) +func (o BackupCompliancePolicyOutput) CopyProtectionEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *BackupCompliancePolicy) pulumi.BoolPtrOutput { return v.CopyProtectionEnabled }).(pulumi.BoolPtrOutput) } // 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. -func (o BackupCompliancePolicyOutput) EncryptionAtRestEnabled() pulumi.BoolOutput { - return o.ApplyT(func(v *BackupCompliancePolicy) pulumi.BoolOutput { return v.EncryptionAtRestEnabled }).(pulumi.BoolOutput) +func (o BackupCompliancePolicyOutput) EncryptionAtRestEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *BackupCompliancePolicy) pulumi.BoolPtrOutput { return v.EncryptionAtRestEnabled }).(pulumi.BoolPtrOutput) } func (o BackupCompliancePolicyOutput) OnDemandPolicyItem() BackupCompliancePolicyOnDemandPolicyItemOutput { @@ -342,8 +333,8 @@ func (o BackupCompliancePolicyOutput) OnDemandPolicyItem() BackupCompliancePolic } // Flag that indicates whether the cluster uses Continuous Cloud Backups with a Backup Compliance Policy. If unspecified, this value defaults to false. -func (o BackupCompliancePolicyOutput) PitEnabled() pulumi.BoolOutput { - return o.ApplyT(func(v *BackupCompliancePolicy) pulumi.BoolOutput { return v.PitEnabled }).(pulumi.BoolOutput) +func (o BackupCompliancePolicyOutput) PitEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *BackupCompliancePolicy) pulumi.BoolPtrOutput { return v.PitEnabled }).(pulumi.BoolPtrOutput) } func (o BackupCompliancePolicyOutput) PolicyItemDaily() BackupCompliancePolicyPolicyItemDailyPtrOutput { diff --git a/sdk/go/mongodbatlas/cloudProviderAccess.go b/sdk/go/mongodbatlas/cloudProviderAccess.go deleted file mode 100644 index c1a35014..00000000 --- a/sdk/go/mongodbatlas/cloudProviderAccess.go +++ /dev/null @@ -1,530 +0,0 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. -// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** - -package mongodbatlas - -import ( - "context" - "reflect" - - "errors" - "github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas/internal" - "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.NewCloudProviderAccess(ctx, "testRole", &mongodbatlas.CloudProviderAccessArgs{ -// ProjectId: pulumi.String("64259ee860c43338194b0f8e"), -// ProviderName: pulumi.String("AWS"), -// }) -// if err != nil { -// return err -// } -// return nil -// }) -// } -// -// ``` -// ### With AWS -// -// ```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.NewCloudProviderAccessSetup(ctx, "testRole", &mongodbatlas.CloudProviderAccessSetupArgs{ -// ProjectId: pulumi.String("64259ee860c43338194b0f8e"), -// ProviderName: pulumi.String("AWS"), -// }) -// if err != nil { -// return err -// } -// return nil -// }) -// } -// -// ``` -// ### With Azure -// -// ```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.NewCloudProviderAccessSetup(ctx, "testRole", &mongodbatlas.CloudProviderAccessSetupArgs{ -// AzureConfigs: mongodbatlas.CloudProviderAccessSetupAzureConfigArray{ -// &mongodbatlas.CloudProviderAccessSetupAzureConfigArgs{ -// AtlasAzureAppId: pulumi.String("9f2deb0d-be22-4524-a403-df531868bac0"), -// ServicePrincipalId: pulumi.String("22f1d2a6-d0e9-482a-83a4-b8dd7dddc2c1"), -// TenantId: pulumi.String("91402384-d71e-22f5-22dd-759e272cdc1c"), -// }, -// }, -// ProjectId: pulumi.String("64259ee860c43338194b0f8e"), -// ProviderName: pulumi.String("AZURE"), -// }) -// if err != nil { -// return err -// } -// return nil -// }) -// } -// -// ``` -// ### With AWS -// ```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 { -// setupOnly, err := mongodbatlas.NewCloudProviderAccessSetup(ctx, "setupOnly", &mongodbatlas.CloudProviderAccessSetupArgs{ -// ProjectId: pulumi.String("64259ee860c43338194b0f8e"), -// ProviderName: pulumi.String("AWS"), -// }) -// if err != nil { -// return err -// } -// _, err = mongodbatlas.NewCloudProviderAccessAuthorization(ctx, "authRole", &mongodbatlas.CloudProviderAccessAuthorizationArgs{ -// ProjectId: setupOnly.ProjectId, -// RoleId: setupOnly.RoleId, -// Aws: &mongodbatlas.CloudProviderAccessAuthorizationAwsArgs{ -// IamAssumedRoleArn: pulumi.String("arn:aws:iam::772401394250:role/test-user-role"), -// }, -// }) -// if err != nil { -// return err -// } -// return nil -// }) -// } -// -// ``` -// -// ```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 { -// setupOnly, err := mongodbatlas.NewCloudProviderAccessSetup(ctx, "setupOnly", &mongodbatlas.CloudProviderAccessSetupArgs{ -// ProjectId: pulumi.String("64259ee860c43338194b0f8e"), -// ProviderName: pulumi.String("AZURE"), -// AzureConfigs: mongodbatlas.CloudProviderAccessSetupAzureConfigArray{ -// &mongodbatlas.CloudProviderAccessSetupAzureConfigArgs{ -// AtlasAzureAppId: pulumi.String("9f2deb0d-be22-4524-a403-df531868bac0"), -// ServicePrincipalId: pulumi.String("22f1d2a6-d0e9-482a-83a4-b8dd7dddc2c1"), -// TenantId: pulumi.String("91402384-d71e-22f5-22dd-759e272cdc1c"), -// }, -// }, -// }) -// if err != nil { -// return err -// } -// _, err = mongodbatlas.NewCloudProviderAccessAuthorization(ctx, "authRole", &mongodbatlas.CloudProviderAccessAuthorizationArgs{ -// ProjectId: setupOnly.ProjectId, -// RoleId: setupOnly.RoleId, -// Azure: &mongodbatlas.CloudProviderAccessAuthorizationAzureArgs{ -// AtlasAzureAppId: pulumi.String("9f2deb0d-be22-4524-a403-df531868bac0"), -// ServicePrincipalId: pulumi.String("22f1d2a6-d0e9-482a-83a4-b8dd7dddc2c1"), -// TenantId: pulumi.String("91402384-d71e-22f5-22dd-759e272cdc1c"), -// }, -// }) -// if err != nil { -// return err -// } -// return nil -// }) -// } -// -// ``` -// ## Authorize role -// -// Once the resource is created add the field `iamAssumedRoleArn` see [Set Up Unified AWS Access](https://docs.atlas.mongodb.com/security/set-up-unified-aws-access/#set-up-unified-aws-access) , and execute a new `pulumi up` this will create a PATCH request. -// -// ```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.NewCloudProviderAccess(ctx, "testRole", &mongodbatlas.CloudProviderAccessArgs{ -// IamAssumedRoleArn: pulumi.String("arn:aws:iam::772401394250:role/test-user-role"), -// ProjectId: pulumi.String(""), -// ProviderName: pulumi.String("AWS"), -// }) -// if err != nil { -// return err -// } -// return nil -// }) -// } -// -// ``` -// -// ## Import -// -// The Cloud Provider Access resource can be imported using project ID and the provider name and mongodbatlas role id, in the format `project_id`-`provider_name`-`role_id`, e.g. -// -// ```sh -// -// $ pulumi import mongodbatlas:index/cloudProviderAccess:CloudProviderAccess my_role 1112222b3bf99403840e8934-AWS-5fc17d476f7a33224f5b224e -// -// ``` -// -// See [MongoDB Atlas API](https://docs.atlas.mongodb.com/reference/api/cloud-provider-access-create-one-role/) Documentation for more information. -type CloudProviderAccess struct { - pulumi.CustomResourceState - - // Unique external ID Atlas uses when assuming the IAM role in your AWS account. - AtlasAssumedRoleExternalId pulumi.StringOutput `pulumi:"atlasAssumedRoleExternalId"` - // ARN associated with the Atlas AWS account used to assume IAM roles in your AWS account. - AtlasAwsAccountArn pulumi.StringOutput `pulumi:"atlasAwsAccountArn"` - // Date on which this role was authorized. - AuthorizedDate pulumi.StringOutput `pulumi:"authorizedDate"` - // Date on which this role was created. - CreatedDate pulumi.StringOutput `pulumi:"createdDate"` - // 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.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. - ProviderName pulumi.StringOutput `pulumi:"providerName"` - // Unique ID of this role returned by mongodb atlas api - // - // Conditional - RoleId pulumi.StringOutput `pulumi:"roleId"` -} - -// NewCloudProviderAccess registers a new resource with the given unique name, arguments, and options. -func NewCloudProviderAccess(ctx *pulumi.Context, - name string, args *CloudProviderAccessArgs, opts ...pulumi.ResourceOption) (*CloudProviderAccess, error) { - if args == nil { - return nil, errors.New("missing one or more required arguments") - } - - if args.ProjectId == nil { - return nil, errors.New("invalid value for required argument 'ProjectId'") - } - if args.ProviderName == nil { - return nil, errors.New("invalid value for required argument 'ProviderName'") - } - opts = internal.PkgResourceDefaultOpts(opts) - var resource CloudProviderAccess - err := ctx.RegisterResource("mongodbatlas:index/cloudProviderAccess:CloudProviderAccess", name, args, &resource, opts...) - if err != nil { - return nil, err - } - return &resource, nil -} - -// GetCloudProviderAccess gets an existing CloudProviderAccess resource's state with the given name, ID, and optional -// state properties that are used to uniquely qualify the lookup (nil if not required). -func GetCloudProviderAccess(ctx *pulumi.Context, - name string, id pulumi.IDInput, state *CloudProviderAccessState, opts ...pulumi.ResourceOption) (*CloudProviderAccess, error) { - var resource CloudProviderAccess - err := ctx.ReadResource("mongodbatlas:index/cloudProviderAccess:CloudProviderAccess", name, id, state, &resource, opts...) - if err != nil { - return nil, err - } - return &resource, nil -} - -// Input properties used for looking up and filtering CloudProviderAccess resources. -type cloudProviderAccessState struct { - // Unique external ID Atlas uses when assuming the IAM role in your AWS account. - AtlasAssumedRoleExternalId *string `pulumi:"atlasAssumedRoleExternalId"` - // ARN associated with the Atlas AWS account used to assume IAM roles in your AWS account. - AtlasAwsAccountArn *string `pulumi:"atlasAwsAccountArn"` - // Date on which this role was authorized. - AuthorizedDate *string `pulumi:"authorizedDate"` - // Date on which this role was created. - CreatedDate *string `pulumi:"createdDate"` - // Atlas features this AWS IAM role is linked to. - FeatureUsages []CloudProviderAccessFeatureUsage `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 *string `pulumi:"iamAssumedRoleArn"` - // The unique ID for the project - ProjectId *string `pulumi:"projectId"` - // The cloud provider for which to create a new role. Currently only AWS is supported. - ProviderName *string `pulumi:"providerName"` - // Unique ID of this role returned by mongodb atlas api - // - // Conditional - RoleId *string `pulumi:"roleId"` -} - -type CloudProviderAccessState struct { - // Unique external ID Atlas uses when assuming the IAM role in your AWS account. - AtlasAssumedRoleExternalId pulumi.StringPtrInput - // ARN associated with the Atlas AWS account used to assume IAM roles in your AWS account. - AtlasAwsAccountArn pulumi.StringPtrInput - // Date on which this role was authorized. - AuthorizedDate pulumi.StringPtrInput - // Date on which this role was created. - CreatedDate pulumi.StringPtrInput - // Atlas features this AWS IAM role is linked to. - FeatureUsages CloudProviderAccessFeatureUsageArrayInput - // 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.StringPtrInput - // The unique ID for the project - ProjectId pulumi.StringPtrInput - // The cloud provider for which to create a new role. Currently only AWS is supported. - ProviderName pulumi.StringPtrInput - // Unique ID of this role returned by mongodb atlas api - // - // Conditional - RoleId pulumi.StringPtrInput -} - -func (CloudProviderAccessState) ElementType() reflect.Type { - return reflect.TypeOf((*cloudProviderAccessState)(nil)).Elem() -} - -type cloudProviderAccessArgs struct { - // 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 *string `pulumi:"iamAssumedRoleArn"` - // The unique ID for the project - ProjectId string `pulumi:"projectId"` - // The cloud provider for which to create a new role. Currently only AWS is supported. - ProviderName string `pulumi:"providerName"` -} - -// The set of arguments for constructing a CloudProviderAccess resource. -type CloudProviderAccessArgs struct { - // 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.StringPtrInput - // The unique ID for the project - ProjectId pulumi.StringInput - // The cloud provider for which to create a new role. Currently only AWS is supported. - ProviderName pulumi.StringInput -} - -func (CloudProviderAccessArgs) ElementType() reflect.Type { - return reflect.TypeOf((*cloudProviderAccessArgs)(nil)).Elem() -} - -type CloudProviderAccessInput interface { - pulumi.Input - - ToCloudProviderAccessOutput() CloudProviderAccessOutput - ToCloudProviderAccessOutputWithContext(ctx context.Context) CloudProviderAccessOutput -} - -func (*CloudProviderAccess) ElementType() reflect.Type { - return reflect.TypeOf((**CloudProviderAccess)(nil)).Elem() -} - -func (i *CloudProviderAccess) ToCloudProviderAccessOutput() CloudProviderAccessOutput { - return i.ToCloudProviderAccessOutputWithContext(context.Background()) -} - -func (i *CloudProviderAccess) ToCloudProviderAccessOutputWithContext(ctx context.Context) CloudProviderAccessOutput { - return pulumi.ToOutputWithContext(ctx, i).(CloudProviderAccessOutput) -} - -// CloudProviderAccessArrayInput is an input type that accepts CloudProviderAccessArray and CloudProviderAccessArrayOutput values. -// You can construct a concrete instance of `CloudProviderAccessArrayInput` via: -// -// CloudProviderAccessArray{ CloudProviderAccessArgs{...} } -type CloudProviderAccessArrayInput interface { - pulumi.Input - - ToCloudProviderAccessArrayOutput() CloudProviderAccessArrayOutput - ToCloudProviderAccessArrayOutputWithContext(context.Context) CloudProviderAccessArrayOutput -} - -type CloudProviderAccessArray []CloudProviderAccessInput - -func (CloudProviderAccessArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]*CloudProviderAccess)(nil)).Elem() -} - -func (i CloudProviderAccessArray) ToCloudProviderAccessArrayOutput() CloudProviderAccessArrayOutput { - return i.ToCloudProviderAccessArrayOutputWithContext(context.Background()) -} - -func (i CloudProviderAccessArray) ToCloudProviderAccessArrayOutputWithContext(ctx context.Context) CloudProviderAccessArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(CloudProviderAccessArrayOutput) -} - -// CloudProviderAccessMapInput is an input type that accepts CloudProviderAccessMap and CloudProviderAccessMapOutput values. -// You can construct a concrete instance of `CloudProviderAccessMapInput` via: -// -// CloudProviderAccessMap{ "key": CloudProviderAccessArgs{...} } -type CloudProviderAccessMapInput interface { - pulumi.Input - - ToCloudProviderAccessMapOutput() CloudProviderAccessMapOutput - ToCloudProviderAccessMapOutputWithContext(context.Context) CloudProviderAccessMapOutput -} - -type CloudProviderAccessMap map[string]CloudProviderAccessInput - -func (CloudProviderAccessMap) ElementType() reflect.Type { - return reflect.TypeOf((*map[string]*CloudProviderAccess)(nil)).Elem() -} - -func (i CloudProviderAccessMap) ToCloudProviderAccessMapOutput() CloudProviderAccessMapOutput { - return i.ToCloudProviderAccessMapOutputWithContext(context.Background()) -} - -func (i CloudProviderAccessMap) ToCloudProviderAccessMapOutputWithContext(ctx context.Context) CloudProviderAccessMapOutput { - return pulumi.ToOutputWithContext(ctx, i).(CloudProviderAccessMapOutput) -} - -type CloudProviderAccessOutput struct{ *pulumi.OutputState } - -func (CloudProviderAccessOutput) ElementType() reflect.Type { - return reflect.TypeOf((**CloudProviderAccess)(nil)).Elem() -} - -func (o CloudProviderAccessOutput) ToCloudProviderAccessOutput() CloudProviderAccessOutput { - return o -} - -func (o CloudProviderAccessOutput) ToCloudProviderAccessOutputWithContext(ctx context.Context) CloudProviderAccessOutput { - return o -} - -// Unique external ID Atlas uses when assuming the IAM role in your AWS account. -func (o CloudProviderAccessOutput) AtlasAssumedRoleExternalId() pulumi.StringOutput { - return o.ApplyT(func(v *CloudProviderAccess) pulumi.StringOutput { return v.AtlasAssumedRoleExternalId }).(pulumi.StringOutput) -} - -// ARN associated with the Atlas AWS account used to assume IAM roles in your AWS account. -func (o CloudProviderAccessOutput) AtlasAwsAccountArn() pulumi.StringOutput { - return o.ApplyT(func(v *CloudProviderAccess) pulumi.StringOutput { return v.AtlasAwsAccountArn }).(pulumi.StringOutput) -} - -// Date on which this role was authorized. -func (o CloudProviderAccessOutput) AuthorizedDate() pulumi.StringOutput { - return o.ApplyT(func(v *CloudProviderAccess) pulumi.StringOutput { return v.AuthorizedDate }).(pulumi.StringOutput) -} - -// Date on which this role was created. -func (o CloudProviderAccessOutput) CreatedDate() pulumi.StringOutput { - return o.ApplyT(func(v *CloudProviderAccess) pulumi.StringOutput { return v.CreatedDate }).(pulumi.StringOutput) -} - -// Atlas features this AWS IAM role is linked to. -func (o CloudProviderAccessOutput) FeatureUsages() CloudProviderAccessFeatureUsageArrayOutput { - return o.ApplyT(func(v *CloudProviderAccess) CloudProviderAccessFeatureUsageArrayOutput { return v.FeatureUsages }).(CloudProviderAccessFeatureUsageArrayOutput) -} - -// 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.StringOutput { - return o.ApplyT(func(v *CloudProviderAccess) pulumi.StringOutput { return v.IamAssumedRoleArn }).(pulumi.StringOutput) -} - -// The unique ID for the project -func (o CloudProviderAccessOutput) ProjectId() pulumi.StringOutput { - return o.ApplyT(func(v *CloudProviderAccess) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) -} - -// The cloud provider for which to create a new role. Currently only AWS is supported. -func (o CloudProviderAccessOutput) ProviderName() pulumi.StringOutput { - return o.ApplyT(func(v *CloudProviderAccess) pulumi.StringOutput { return v.ProviderName }).(pulumi.StringOutput) -} - -// Unique ID of this role returned by mongodb atlas api -// -// Conditional -func (o CloudProviderAccessOutput) RoleId() pulumi.StringOutput { - return o.ApplyT(func(v *CloudProviderAccess) pulumi.StringOutput { return v.RoleId }).(pulumi.StringOutput) -} - -type CloudProviderAccessArrayOutput struct{ *pulumi.OutputState } - -func (CloudProviderAccessArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]*CloudProviderAccess)(nil)).Elem() -} - -func (o CloudProviderAccessArrayOutput) ToCloudProviderAccessArrayOutput() CloudProviderAccessArrayOutput { - return o -} - -func (o CloudProviderAccessArrayOutput) ToCloudProviderAccessArrayOutputWithContext(ctx context.Context) CloudProviderAccessArrayOutput { - return o -} - -func (o CloudProviderAccessArrayOutput) Index(i pulumi.IntInput) CloudProviderAccessOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) *CloudProviderAccess { - return vs[0].([]*CloudProviderAccess)[vs[1].(int)] - }).(CloudProviderAccessOutput) -} - -type CloudProviderAccessMapOutput struct{ *pulumi.OutputState } - -func (CloudProviderAccessMapOutput) ElementType() reflect.Type { - return reflect.TypeOf((*map[string]*CloudProviderAccess)(nil)).Elem() -} - -func (o CloudProviderAccessMapOutput) ToCloudProviderAccessMapOutput() CloudProviderAccessMapOutput { - return o -} - -func (o CloudProviderAccessMapOutput) ToCloudProviderAccessMapOutputWithContext(ctx context.Context) CloudProviderAccessMapOutput { - return o -} - -func (o CloudProviderAccessMapOutput) MapIndex(k pulumi.StringInput) CloudProviderAccessOutput { - return pulumi.All(o, k).ApplyT(func(vs []interface{}) *CloudProviderAccess { - return vs[0].(map[string]*CloudProviderAccess)[vs[1].(string)] - }).(CloudProviderAccessOutput) -} - -func init() { - pulumi.RegisterInputType(reflect.TypeOf((*CloudProviderAccessInput)(nil)).Elem(), &CloudProviderAccess{}) - pulumi.RegisterInputType(reflect.TypeOf((*CloudProviderAccessArrayInput)(nil)).Elem(), CloudProviderAccessArray{}) - pulumi.RegisterInputType(reflect.TypeOf((*CloudProviderAccessMapInput)(nil)).Elem(), CloudProviderAccessMap{}) - pulumi.RegisterOutputType(CloudProviderAccessOutput{}) - pulumi.RegisterOutputType(CloudProviderAccessArrayOutput{}) - pulumi.RegisterOutputType(CloudProviderAccessMapOutput{}) -} diff --git a/sdk/go/mongodbatlas/federatedDatabaseInstance.go b/sdk/go/mongodbatlas/federatedDatabaseInstance.go index 5b905f5d..d489e384 100644 --- a/sdk/go/mongodbatlas/federatedDatabaseInstance.go +++ b/sdk/go/mongodbatlas/federatedDatabaseInstance.go @@ -164,8 +164,8 @@ import ( type FederatedDatabaseInstance struct { pulumi.CustomResourceState - CloudProviderConfig FederatedDatabaseInstanceCloudProviderConfigPtrOutput `pulumi:"cloudProviderConfig"` - DataProcessRegion FederatedDatabaseInstanceDataProcessRegionPtrOutput `pulumi:"dataProcessRegion"` + CloudProviderConfig FederatedDatabaseInstanceCloudProviderConfigOutput `pulumi:"cloudProviderConfig"` + DataProcessRegion FederatedDatabaseInstanceDataProcessRegionOutput `pulumi:"dataProcessRegion"` // The list of hostnames assigned to the Federated Database Instance. Each string in the array is a hostname assigned to the Federated Database Instance. Hostnames pulumi.StringArrayOutput `pulumi:"hostnames"` // Name of the Atlas Federated Database Instance. @@ -574,16 +574,16 @@ func (o FederatedDatabaseInstanceOutput) ToFederatedDatabaseInstanceOutputWithCo return o } -func (o FederatedDatabaseInstanceOutput) CloudProviderConfig() FederatedDatabaseInstanceCloudProviderConfigPtrOutput { - return o.ApplyT(func(v *FederatedDatabaseInstance) FederatedDatabaseInstanceCloudProviderConfigPtrOutput { +func (o FederatedDatabaseInstanceOutput) CloudProviderConfig() FederatedDatabaseInstanceCloudProviderConfigOutput { + return o.ApplyT(func(v *FederatedDatabaseInstance) FederatedDatabaseInstanceCloudProviderConfigOutput { return v.CloudProviderConfig - }).(FederatedDatabaseInstanceCloudProviderConfigPtrOutput) + }).(FederatedDatabaseInstanceCloudProviderConfigOutput) } -func (o FederatedDatabaseInstanceOutput) DataProcessRegion() FederatedDatabaseInstanceDataProcessRegionPtrOutput { - return o.ApplyT(func(v *FederatedDatabaseInstance) FederatedDatabaseInstanceDataProcessRegionPtrOutput { +func (o FederatedDatabaseInstanceOutput) DataProcessRegion() FederatedDatabaseInstanceDataProcessRegionOutput { + return o.ApplyT(func(v *FederatedDatabaseInstance) FederatedDatabaseInstanceDataProcessRegionOutput { return v.DataProcessRegion - }).(FederatedDatabaseInstanceDataProcessRegionPtrOutput) + }).(FederatedDatabaseInstanceDataProcessRegionOutput) } // The list of hostnames assigned to the Federated Database Instance. Each string in the array is a hostname assigned to the Federated Database Instance. diff --git a/sdk/go/mongodbatlas/federatedSettingsIdentityProvider.go b/sdk/go/mongodbatlas/federatedSettingsIdentityProvider.go index 068ad8b0..e510c713 100644 --- a/sdk/go/mongodbatlas/federatedSettingsIdentityProvider.go +++ b/sdk/go/mongodbatlas/federatedSettingsIdentityProvider.go @@ -13,6 +13,8 @@ import ( ) // `FederatedSettingsIdentityProvider` provides an Atlas federated settings identity provider resource provides a subset of settings to be maintained post import of the existing resource. +// +// > **NOTE:** OIDC Workforce IdP is currently in preview. To learn more about OIDC and existing limitations see the [OIDC Authentication Documentation](https://www.mongodb.com/docs/atlas/security-oidc/). // ## Example Usage // // > **IMPORTANT** You **MUST** import this resource before you can manage it with this provider. @@ -60,32 +62,48 @@ import ( // // ``` // -// For more information see[MongoDB Atlas API Reference.](https://www.mongodb.com/docs/atlas/reference/api/federation-configuration/) +// __WARNING:__ Starting from terraform provider version 1.16.0, to import the resource a 24-hexadecimal digit string that identifies the IdP (`idp_id`) will have to be used instead of `okta_idp_id`. See more [here](../guides/1.15.0-upgrade-guide.html.markdown) +// +// For more information see[MongoDB Atlas API Reference.](https://www.mongodb.com/docs/atlas/reference/api/federation-configuration/) type FederatedSettingsIdentityProvider struct { pulumi.CustomResourceState // List that contains the domains associated with the identity provider. AssociatedDomains pulumi.StringArrayOutput `pulumi:"associatedDomains"` + // Identifier of the intended recipient of the token used in OIDC IdP. + AudienceClaims pulumi.StringArrayOutput `pulumi:"audienceClaims"` + // Client identifier that is assigned to an application by the OIDC Identity Provider. + ClientId pulumi.StringPtrOutput `pulumi:"clientId"` // Unique 24-hexadecimal digit string that identifies the federated authentication configuration. FederationSettingsId pulumi.StringOutput `pulumi:"federationSettingsId"` - // Unique string that identifies the issuer of the SAML + // Identifier of the claim which contains OIDC IdP Group IDs in the token. + GroupsClaim pulumi.StringPtrOutput `pulumi:"groupsClaim"` + // Unique 24-hexadecimal digit string that identifies the IdP. + IdpId pulumi.StringOutput `pulumi:"idpId"` + // Unique string that identifies the issuer of the IdP. IssuerUri pulumi.StringOutput `pulumi:"issuerUri"` // Human-readable label that identifies the identity provider. Name pulumi.StringOutput `pulumi:"name"` // Unique 20-hexadecimal digit string that identifies the IdP. OktaIdpId pulumi.StringOutput `pulumi:"oktaIdpId"` - // SAML Authentication Request Protocol HTTP method binding (POST or REDIRECT) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values: + // The protocol of the identity provider. Either `SAML` or `OIDC`. + Protocol pulumi.StringOutput `pulumi:"protocol"` + // SAML Authentication Request Protocol HTTP method binding (`POST` or `REDIRECT`) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values: // - HTTP POST // - HTTP REDIRECT - RequestBinding pulumi.StringOutput `pulumi:"requestBinding"` - // Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include SHA-1 and SHA-256. - ResponseSignatureAlgorithm pulumi.StringOutput `pulumi:"responseSignatureAlgorithm"` + RequestBinding pulumi.StringPtrOutput `pulumi:"requestBinding"` + // Scopes that MongoDB applications will request from the authorization endpoint used for OIDC IdPs. + RequestedScopes pulumi.StringArrayOutput `pulumi:"requestedScopes"` + // Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include ` SHA-1 `and `SHA-256`. + ResponseSignatureAlgorithm pulumi.StringPtrOutput `pulumi:"responseSignatureAlgorithm"` // Flag that indicates whether the identity provider has SSO debug enabled. - SsoDebugEnabled pulumi.BoolOutput `pulumi:"ssoDebugEnabled"` + SsoDebugEnabled pulumi.BoolPtrOutput `pulumi:"ssoDebugEnabled"` // Unique string that identifies the intended audience of the SAML assertion. - SsoUrl pulumi.StringOutput `pulumi:"ssoUrl"` + SsoUrl pulumi.StringPtrOutput `pulumi:"ssoUrl"` // String enum that indicates whether the identity provider is active or not. Accepted values are ACTIVE or INACTIVE. - Status pulumi.StringOutput `pulumi:"status"` + Status pulumi.StringPtrOutput `pulumi:"status"` + // Identifier of the claim which contains the user ID in the token used for OIDC IdPs. + UserClaim pulumi.StringPtrOutput `pulumi:"userClaim"` } // NewFederatedSettingsIdentityProvider registers a new resource with the given unique name, arguments, and options. @@ -101,21 +119,6 @@ func NewFederatedSettingsIdentityProvider(ctx *pulumi.Context, if args.IssuerUri == nil { return nil, errors.New("invalid value for required argument 'IssuerUri'") } - if args.RequestBinding == nil { - return nil, errors.New("invalid value for required argument 'RequestBinding'") - } - if args.ResponseSignatureAlgorithm == nil { - return nil, errors.New("invalid value for required argument 'ResponseSignatureAlgorithm'") - } - if args.SsoDebugEnabled == nil { - return nil, errors.New("invalid value for required argument 'SsoDebugEnabled'") - } - if args.SsoUrl == nil { - return nil, errors.New("invalid value for required argument 'SsoUrl'") - } - if args.Status == nil { - return nil, errors.New("invalid value for required argument 'Status'") - } opts = internal.PkgResourceDefaultOpts(opts) var resource FederatedSettingsIdentityProvider err := ctx.RegisterResource("mongodbatlas:index/federatedSettingsIdentityProvider:FederatedSettingsIdentityProvider", name, args, &resource, opts...) @@ -141,19 +144,31 @@ func GetFederatedSettingsIdentityProvider(ctx *pulumi.Context, type federatedSettingsIdentityProviderState struct { // List that contains the domains associated with the identity provider. AssociatedDomains []string `pulumi:"associatedDomains"` + // Identifier of the intended recipient of the token used in OIDC IdP. + AudienceClaims []string `pulumi:"audienceClaims"` + // Client identifier that is assigned to an application by the OIDC Identity Provider. + ClientId *string `pulumi:"clientId"` // Unique 24-hexadecimal digit string that identifies the federated authentication configuration. FederationSettingsId *string `pulumi:"federationSettingsId"` - // Unique string that identifies the issuer of the SAML + // Identifier of the claim which contains OIDC IdP Group IDs in the token. + GroupsClaim *string `pulumi:"groupsClaim"` + // Unique 24-hexadecimal digit string that identifies the IdP. + IdpId *string `pulumi:"idpId"` + // Unique string that identifies the issuer of the IdP. IssuerUri *string `pulumi:"issuerUri"` // Human-readable label that identifies the identity provider. Name *string `pulumi:"name"` // Unique 20-hexadecimal digit string that identifies the IdP. OktaIdpId *string `pulumi:"oktaIdpId"` - // SAML Authentication Request Protocol HTTP method binding (POST or REDIRECT) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values: + // The protocol of the identity provider. Either `SAML` or `OIDC`. + Protocol *string `pulumi:"protocol"` + // SAML Authentication Request Protocol HTTP method binding (`POST` or `REDIRECT`) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values: // - HTTP POST // - HTTP REDIRECT RequestBinding *string `pulumi:"requestBinding"` - // Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include SHA-1 and SHA-256. + // Scopes that MongoDB applications will request from the authorization endpoint used for OIDC IdPs. + RequestedScopes []string `pulumi:"requestedScopes"` + // Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include ` SHA-1 `and `SHA-256`. ResponseSignatureAlgorithm *string `pulumi:"responseSignatureAlgorithm"` // Flag that indicates whether the identity provider has SSO debug enabled. SsoDebugEnabled *bool `pulumi:"ssoDebugEnabled"` @@ -161,24 +176,38 @@ type federatedSettingsIdentityProviderState struct { SsoUrl *string `pulumi:"ssoUrl"` // String enum that indicates whether the identity provider is active or not. Accepted values are ACTIVE or INACTIVE. Status *string `pulumi:"status"` + // Identifier of the claim which contains the user ID in the token used for OIDC IdPs. + UserClaim *string `pulumi:"userClaim"` } type FederatedSettingsIdentityProviderState struct { // List that contains the domains associated with the identity provider. AssociatedDomains pulumi.StringArrayInput + // Identifier of the intended recipient of the token used in OIDC IdP. + AudienceClaims pulumi.StringArrayInput + // Client identifier that is assigned to an application by the OIDC Identity Provider. + ClientId pulumi.StringPtrInput // Unique 24-hexadecimal digit string that identifies the federated authentication configuration. FederationSettingsId pulumi.StringPtrInput - // Unique string that identifies the issuer of the SAML + // Identifier of the claim which contains OIDC IdP Group IDs in the token. + GroupsClaim pulumi.StringPtrInput + // Unique 24-hexadecimal digit string that identifies the IdP. + IdpId pulumi.StringPtrInput + // Unique string that identifies the issuer of the IdP. IssuerUri pulumi.StringPtrInput // Human-readable label that identifies the identity provider. Name pulumi.StringPtrInput // Unique 20-hexadecimal digit string that identifies the IdP. OktaIdpId pulumi.StringPtrInput - // SAML Authentication Request Protocol HTTP method binding (POST or REDIRECT) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values: + // The protocol of the identity provider. Either `SAML` or `OIDC`. + Protocol pulumi.StringPtrInput + // SAML Authentication Request Protocol HTTP method binding (`POST` or `REDIRECT`) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values: // - HTTP POST // - HTTP REDIRECT RequestBinding pulumi.StringPtrInput - // Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include SHA-1 and SHA-256. + // Scopes that MongoDB applications will request from the authorization endpoint used for OIDC IdPs. + RequestedScopes pulumi.StringArrayInput + // Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include ` SHA-1 `and `SHA-256`. ResponseSignatureAlgorithm pulumi.StringPtrInput // Flag that indicates whether the identity provider has SSO debug enabled. SsoDebugEnabled pulumi.BoolPtrInput @@ -186,6 +215,8 @@ type FederatedSettingsIdentityProviderState struct { SsoUrl pulumi.StringPtrInput // String enum that indicates whether the identity provider is active or not. Accepted values are ACTIVE or INACTIVE. Status pulumi.StringPtrInput + // Identifier of the claim which contains the user ID in the token used for OIDC IdPs. + UserClaim pulumi.StringPtrInput } func (FederatedSettingsIdentityProviderState) ElementType() reflect.Type { @@ -195,48 +226,72 @@ func (FederatedSettingsIdentityProviderState) ElementType() reflect.Type { type federatedSettingsIdentityProviderArgs struct { // List that contains the domains associated with the identity provider. AssociatedDomains []string `pulumi:"associatedDomains"` + // Identifier of the intended recipient of the token used in OIDC IdP. + AudienceClaims []string `pulumi:"audienceClaims"` + // Client identifier that is assigned to an application by the OIDC Identity Provider. + ClientId *string `pulumi:"clientId"` // Unique 24-hexadecimal digit string that identifies the federated authentication configuration. FederationSettingsId string `pulumi:"federationSettingsId"` - // Unique string that identifies the issuer of the SAML + // Identifier of the claim which contains OIDC IdP Group IDs in the token. + GroupsClaim *string `pulumi:"groupsClaim"` + // Unique string that identifies the issuer of the IdP. IssuerUri string `pulumi:"issuerUri"` // Human-readable label that identifies the identity provider. Name *string `pulumi:"name"` - // SAML Authentication Request Protocol HTTP method binding (POST or REDIRECT) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values: + // The protocol of the identity provider. Either `SAML` or `OIDC`. + Protocol *string `pulumi:"protocol"` + // SAML Authentication Request Protocol HTTP method binding (`POST` or `REDIRECT`) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values: // - HTTP POST // - HTTP REDIRECT - RequestBinding string `pulumi:"requestBinding"` - // Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include SHA-1 and SHA-256. - ResponseSignatureAlgorithm string `pulumi:"responseSignatureAlgorithm"` + RequestBinding *string `pulumi:"requestBinding"` + // Scopes that MongoDB applications will request from the authorization endpoint used for OIDC IdPs. + RequestedScopes []string `pulumi:"requestedScopes"` + // Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include ` SHA-1 `and `SHA-256`. + ResponseSignatureAlgorithm *string `pulumi:"responseSignatureAlgorithm"` // Flag that indicates whether the identity provider has SSO debug enabled. - SsoDebugEnabled bool `pulumi:"ssoDebugEnabled"` + SsoDebugEnabled *bool `pulumi:"ssoDebugEnabled"` // Unique string that identifies the intended audience of the SAML assertion. - SsoUrl string `pulumi:"ssoUrl"` + SsoUrl *string `pulumi:"ssoUrl"` // String enum that indicates whether the identity provider is active or not. Accepted values are ACTIVE or INACTIVE. - Status string `pulumi:"status"` + Status *string `pulumi:"status"` + // Identifier of the claim which contains the user ID in the token used for OIDC IdPs. + UserClaim *string `pulumi:"userClaim"` } // The set of arguments for constructing a FederatedSettingsIdentityProvider resource. type FederatedSettingsIdentityProviderArgs struct { // List that contains the domains associated with the identity provider. AssociatedDomains pulumi.StringArrayInput + // Identifier of the intended recipient of the token used in OIDC IdP. + AudienceClaims pulumi.StringArrayInput + // Client identifier that is assigned to an application by the OIDC Identity Provider. + ClientId pulumi.StringPtrInput // Unique 24-hexadecimal digit string that identifies the federated authentication configuration. FederationSettingsId pulumi.StringInput - // Unique string that identifies the issuer of the SAML + // Identifier of the claim which contains OIDC IdP Group IDs in the token. + GroupsClaim pulumi.StringPtrInput + // Unique string that identifies the issuer of the IdP. IssuerUri pulumi.StringInput // Human-readable label that identifies the identity provider. Name pulumi.StringPtrInput - // SAML Authentication Request Protocol HTTP method binding (POST or REDIRECT) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values: + // The protocol of the identity provider. Either `SAML` or `OIDC`. + Protocol pulumi.StringPtrInput + // SAML Authentication Request Protocol HTTP method binding (`POST` or `REDIRECT`) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values: // - HTTP POST // - HTTP REDIRECT - RequestBinding pulumi.StringInput - // Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include SHA-1 and SHA-256. - ResponseSignatureAlgorithm pulumi.StringInput + RequestBinding pulumi.StringPtrInput + // Scopes that MongoDB applications will request from the authorization endpoint used for OIDC IdPs. + RequestedScopes pulumi.StringArrayInput + // Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include ` SHA-1 `and `SHA-256`. + ResponseSignatureAlgorithm pulumi.StringPtrInput // Flag that indicates whether the identity provider has SSO debug enabled. - SsoDebugEnabled pulumi.BoolInput + SsoDebugEnabled pulumi.BoolPtrInput // Unique string that identifies the intended audience of the SAML assertion. - SsoUrl pulumi.StringInput + SsoUrl pulumi.StringPtrInput // String enum that indicates whether the identity provider is active or not. Accepted values are ACTIVE or INACTIVE. - Status pulumi.StringInput + Status pulumi.StringPtrInput + // Identifier of the claim which contains the user ID in the token used for OIDC IdPs. + UserClaim pulumi.StringPtrInput } func (FederatedSettingsIdentityProviderArgs) ElementType() reflect.Type { @@ -331,12 +386,32 @@ func (o FederatedSettingsIdentityProviderOutput) AssociatedDomains() pulumi.Stri return o.ApplyT(func(v *FederatedSettingsIdentityProvider) pulumi.StringArrayOutput { return v.AssociatedDomains }).(pulumi.StringArrayOutput) } +// Identifier of the intended recipient of the token used in OIDC IdP. +func (o FederatedSettingsIdentityProviderOutput) AudienceClaims() pulumi.StringArrayOutput { + return o.ApplyT(func(v *FederatedSettingsIdentityProvider) pulumi.StringArrayOutput { return v.AudienceClaims }).(pulumi.StringArrayOutput) +} + +// Client identifier that is assigned to an application by the OIDC Identity Provider. +func (o FederatedSettingsIdentityProviderOutput) ClientId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FederatedSettingsIdentityProvider) pulumi.StringPtrOutput { return v.ClientId }).(pulumi.StringPtrOutput) +} + // Unique 24-hexadecimal digit string that identifies the federated authentication configuration. func (o FederatedSettingsIdentityProviderOutput) FederationSettingsId() pulumi.StringOutput { return o.ApplyT(func(v *FederatedSettingsIdentityProvider) pulumi.StringOutput { return v.FederationSettingsId }).(pulumi.StringOutput) } -// Unique string that identifies the issuer of the SAML +// Identifier of the claim which contains OIDC IdP Group IDs in the token. +func (o FederatedSettingsIdentityProviderOutput) GroupsClaim() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FederatedSettingsIdentityProvider) pulumi.StringPtrOutput { return v.GroupsClaim }).(pulumi.StringPtrOutput) +} + +// Unique 24-hexadecimal digit string that identifies the IdP. +func (o FederatedSettingsIdentityProviderOutput) IdpId() pulumi.StringOutput { + return o.ApplyT(func(v *FederatedSettingsIdentityProvider) pulumi.StringOutput { return v.IdpId }).(pulumi.StringOutput) +} + +// Unique string that identifies the issuer of the IdP. func (o FederatedSettingsIdentityProviderOutput) IssuerUri() pulumi.StringOutput { return o.ApplyT(func(v *FederatedSettingsIdentityProvider) pulumi.StringOutput { return v.IssuerUri }).(pulumi.StringOutput) } @@ -351,31 +426,46 @@ func (o FederatedSettingsIdentityProviderOutput) OktaIdpId() pulumi.StringOutput return o.ApplyT(func(v *FederatedSettingsIdentityProvider) pulumi.StringOutput { return v.OktaIdpId }).(pulumi.StringOutput) } -// SAML Authentication Request Protocol HTTP method binding (POST or REDIRECT) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values: +// The protocol of the identity provider. Either `SAML` or `OIDC`. +func (o FederatedSettingsIdentityProviderOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v *FederatedSettingsIdentityProvider) pulumi.StringOutput { return v.Protocol }).(pulumi.StringOutput) +} + +// SAML Authentication Request Protocol HTTP method binding (`POST` or `REDIRECT`) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values: // - HTTP POST // - HTTP REDIRECT -func (o FederatedSettingsIdentityProviderOutput) RequestBinding() pulumi.StringOutput { - return o.ApplyT(func(v *FederatedSettingsIdentityProvider) pulumi.StringOutput { return v.RequestBinding }).(pulumi.StringOutput) +func (o FederatedSettingsIdentityProviderOutput) RequestBinding() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FederatedSettingsIdentityProvider) pulumi.StringPtrOutput { return v.RequestBinding }).(pulumi.StringPtrOutput) } -// Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include SHA-1 and SHA-256. -func (o FederatedSettingsIdentityProviderOutput) ResponseSignatureAlgorithm() pulumi.StringOutput { - return o.ApplyT(func(v *FederatedSettingsIdentityProvider) pulumi.StringOutput { return v.ResponseSignatureAlgorithm }).(pulumi.StringOutput) +// Scopes that MongoDB applications will request from the authorization endpoint used for OIDC IdPs. +func (o FederatedSettingsIdentityProviderOutput) RequestedScopes() pulumi.StringArrayOutput { + return o.ApplyT(func(v *FederatedSettingsIdentityProvider) pulumi.StringArrayOutput { return v.RequestedScopes }).(pulumi.StringArrayOutput) +} + +// Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include ` SHA-1 `and `SHA-256`. +func (o FederatedSettingsIdentityProviderOutput) ResponseSignatureAlgorithm() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FederatedSettingsIdentityProvider) pulumi.StringPtrOutput { return v.ResponseSignatureAlgorithm }).(pulumi.StringPtrOutput) } // Flag that indicates whether the identity provider has SSO debug enabled. -func (o FederatedSettingsIdentityProviderOutput) SsoDebugEnabled() pulumi.BoolOutput { - return o.ApplyT(func(v *FederatedSettingsIdentityProvider) pulumi.BoolOutput { return v.SsoDebugEnabled }).(pulumi.BoolOutput) +func (o FederatedSettingsIdentityProviderOutput) SsoDebugEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *FederatedSettingsIdentityProvider) pulumi.BoolPtrOutput { return v.SsoDebugEnabled }).(pulumi.BoolPtrOutput) } // Unique string that identifies the intended audience of the SAML assertion. -func (o FederatedSettingsIdentityProviderOutput) SsoUrl() pulumi.StringOutput { - return o.ApplyT(func(v *FederatedSettingsIdentityProvider) pulumi.StringOutput { return v.SsoUrl }).(pulumi.StringOutput) +func (o FederatedSettingsIdentityProviderOutput) SsoUrl() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FederatedSettingsIdentityProvider) pulumi.StringPtrOutput { return v.SsoUrl }).(pulumi.StringPtrOutput) } // String enum that indicates whether the identity provider is active or not. Accepted values are ACTIVE or INACTIVE. -func (o FederatedSettingsIdentityProviderOutput) Status() pulumi.StringOutput { - return o.ApplyT(func(v *FederatedSettingsIdentityProvider) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +func (o FederatedSettingsIdentityProviderOutput) Status() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FederatedSettingsIdentityProvider) pulumi.StringPtrOutput { return v.Status }).(pulumi.StringPtrOutput) +} + +// Identifier of the claim which contains the user ID in the token used for OIDC IdPs. +func (o FederatedSettingsIdentityProviderOutput) UserClaim() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FederatedSettingsIdentityProvider) pulumi.StringPtrOutput { return v.UserClaim }).(pulumi.StringPtrOutput) } type FederatedSettingsIdentityProviderArrayOutput struct{ *pulumi.OutputState } diff --git a/sdk/go/mongodbatlas/getApiKey.go b/sdk/go/mongodbatlas/getApiKey.go index 56549f06..66f0abac 100644 --- a/sdk/go/mongodbatlas/getApiKey.go +++ b/sdk/go/mongodbatlas/getApiKey.go @@ -24,8 +24,9 @@ func LookupApiKey(ctx *pulumi.Context, args *LookupApiKeyArgs, opts ...pulumi.In // A collection of arguments for invoking getApiKey. type LookupApiKeyArgs struct { + // Unique identifier for the organization API key. ApiKeyId string `pulumi:"apiKeyId"` - // The unique ID for the project. + // Unique identifier for the organization. OrgId string `pulumi:"orgId"` } @@ -35,8 +36,7 @@ type LookupApiKeyResult struct { // Description of this Organization API key. Description string `pulumi:"description"` // The provider-assigned unique ID for this managed resource. - Id string `pulumi:"id"` - // Unique identifier for the organization whose API keys you want to retrieve. Use the /orgs endpoint to retrieve all organizations to which the authenticated user has access. + Id string `pulumi:"id"` OrgId string `pulumi:"orgId"` // Public key for this Organization API key. PublicKey string `pulumi:"publicKey"` @@ -60,8 +60,9 @@ func LookupApiKeyOutput(ctx *pulumi.Context, args LookupApiKeyOutputArgs, opts . // A collection of arguments for invoking getApiKey. type LookupApiKeyOutputArgs struct { + // Unique identifier for the organization API key. ApiKeyId pulumi.StringInput `pulumi:"apiKeyId"` - // The unique ID for the project. + // Unique identifier for the organization. OrgId pulumi.StringInput `pulumi:"orgId"` } @@ -98,7 +99,6 @@ func (o LookupApiKeyResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v LookupApiKeyResult) string { return v.Id }).(pulumi.StringOutput) } -// Unique identifier for the organization whose API keys you want to retrieve. Use the /orgs endpoint to retrieve all organizations to which the authenticated user has access. func (o LookupApiKeyResultOutput) OrgId() pulumi.StringOutput { return o.ApplyT(func(v LookupApiKeyResult) string { return v.OrgId }).(pulumi.StringOutput) } diff --git a/sdk/go/mongodbatlas/getApiKeys.go b/sdk/go/mongodbatlas/getApiKeys.go index 5aca269d..6f872b54 100644 --- a/sdk/go/mongodbatlas/getApiKeys.go +++ b/sdk/go/mongodbatlas/getApiKeys.go @@ -25,7 +25,7 @@ func LookupApiKeys(ctx *pulumi.Context, args *LookupApiKeysArgs, opts ...pulumi. type LookupApiKeysArgs struct { // Number of items to return per page, up to a maximum of 500. Defaults to `100`. ItemsPerPage *int `pulumi:"itemsPerPage"` - // Unique identifier for the organization whose API keys you want to retrieve. Use the /orgs endpoint to retrieve all organizations to which the authenticated user has access. + // Unique identifier for the organization whose API keys you want to retrieve. OrgId string `pulumi:"orgId"` // The page to return. Defaults to `1`. PageNum *int `pulumi:"pageNum"` @@ -58,7 +58,7 @@ func LookupApiKeysOutput(ctx *pulumi.Context, args LookupApiKeysOutputArgs, opts type LookupApiKeysOutputArgs struct { // Number of items to return per page, up to a maximum of 500. Defaults to `100`. ItemsPerPage pulumi.IntPtrInput `pulumi:"itemsPerPage"` - // Unique identifier for the organization whose API keys you want to retrieve. Use the /orgs endpoint to retrieve all organizations to which the authenticated user has access. + // Unique identifier for the organization whose API keys you want to retrieve. OrgId pulumi.StringInput `pulumi:"orgId"` // The page to return. Defaults to `1`. PageNum pulumi.IntPtrInput `pulumi:"pageNum"` diff --git a/sdk/go/mongodbatlas/getBackupCompliancePolicy.go b/sdk/go/mongodbatlas/getBackupCompliancePolicy.go index 711b2526..fbbe586f 100644 --- a/sdk/go/mongodbatlas/getBackupCompliancePolicy.go +++ b/sdk/go/mongodbatlas/getBackupCompliancePolicy.go @@ -23,11 +23,6 @@ func LookupBackupCompliancePolicy(ctx *pulumi.Context, args *LookupBackupComplia // A collection of arguments for invoking getBackupCompliancePolicy. type LookupBackupCompliancePolicyArgs struct { - OnDemandPolicyItem *GetBackupCompliancePolicyOnDemandPolicyItem `pulumi:"onDemandPolicyItem"` - PolicyItemDaily *GetBackupCompliancePolicyPolicyItemDaily `pulumi:"policyItemDaily"` - PolicyItemHourly *GetBackupCompliancePolicyPolicyItemHourly `pulumi:"policyItemHourly"` - PolicyItemMonthlies []GetBackupCompliancePolicyPolicyItemMonthly `pulumi:"policyItemMonthlies"` - PolicyItemWeeklies []GetBackupCompliancePolicyPolicyItemWeekly `pulumi:"policyItemWeeklies"` // Unique 24-hexadecimal digit string that identifies your project ProjectId string `pulumi:"projectId"` } @@ -45,12 +40,12 @@ type LookupBackupCompliancePolicyResult struct { // 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. EncryptionAtRestEnabled bool `pulumi:"encryptionAtRestEnabled"` // The provider-assigned unique ID for this managed resource. - Id string `pulumi:"id"` - OnDemandPolicyItem *GetBackupCompliancePolicyOnDemandPolicyItem `pulumi:"onDemandPolicyItem"` + Id string `pulumi:"id"` + OnDemandPolicyItem GetBackupCompliancePolicyOnDemandPolicyItem `pulumi:"onDemandPolicyItem"` // Flag that indicates whether the cluster uses Continuous Cloud Backups with a Backup Compliance Policy. If unspecified, this value defaults to false. PitEnabled bool `pulumi:"pitEnabled"` - PolicyItemDaily *GetBackupCompliancePolicyPolicyItemDaily `pulumi:"policyItemDaily"` - PolicyItemHourly *GetBackupCompliancePolicyPolicyItemHourly `pulumi:"policyItemHourly"` + PolicyItemDaily GetBackupCompliancePolicyPolicyItemDaily `pulumi:"policyItemDaily"` + PolicyItemHourly GetBackupCompliancePolicyPolicyItemHourly `pulumi:"policyItemHourly"` PolicyItemMonthlies []GetBackupCompliancePolicyPolicyItemMonthly `pulumi:"policyItemMonthlies"` PolicyItemWeeklies []GetBackupCompliancePolicyPolicyItemWeekly `pulumi:"policyItemWeeklies"` ProjectId string `pulumi:"projectId"` @@ -79,11 +74,6 @@ func LookupBackupCompliancePolicyOutput(ctx *pulumi.Context, args LookupBackupCo // A collection of arguments for invoking getBackupCompliancePolicy. type LookupBackupCompliancePolicyOutputArgs struct { - OnDemandPolicyItem GetBackupCompliancePolicyOnDemandPolicyItemPtrInput `pulumi:"onDemandPolicyItem"` - PolicyItemDaily GetBackupCompliancePolicyPolicyItemDailyPtrInput `pulumi:"policyItemDaily"` - PolicyItemHourly GetBackupCompliancePolicyPolicyItemHourlyPtrInput `pulumi:"policyItemHourly"` - PolicyItemMonthlies GetBackupCompliancePolicyPolicyItemMonthlyArrayInput `pulumi:"policyItemMonthlies"` - PolicyItemWeeklies GetBackupCompliancePolicyPolicyItemWeeklyArrayInput `pulumi:"policyItemWeeklies"` // Unique 24-hexadecimal digit string that identifies your project ProjectId pulumi.StringInput `pulumi:"projectId"` } @@ -137,10 +127,10 @@ func (o LookupBackupCompliancePolicyResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v LookupBackupCompliancePolicyResult) string { return v.Id }).(pulumi.StringOutput) } -func (o LookupBackupCompliancePolicyResultOutput) OnDemandPolicyItem() GetBackupCompliancePolicyOnDemandPolicyItemPtrOutput { - return o.ApplyT(func(v LookupBackupCompliancePolicyResult) *GetBackupCompliancePolicyOnDemandPolicyItem { +func (o LookupBackupCompliancePolicyResultOutput) OnDemandPolicyItem() GetBackupCompliancePolicyOnDemandPolicyItemOutput { + return o.ApplyT(func(v LookupBackupCompliancePolicyResult) GetBackupCompliancePolicyOnDemandPolicyItem { return v.OnDemandPolicyItem - }).(GetBackupCompliancePolicyOnDemandPolicyItemPtrOutput) + }).(GetBackupCompliancePolicyOnDemandPolicyItemOutput) } // Flag that indicates whether the cluster uses Continuous Cloud Backups with a Backup Compliance Policy. If unspecified, this value defaults to false. @@ -148,16 +138,16 @@ func (o LookupBackupCompliancePolicyResultOutput) PitEnabled() pulumi.BoolOutput return o.ApplyT(func(v LookupBackupCompliancePolicyResult) bool { return v.PitEnabled }).(pulumi.BoolOutput) } -func (o LookupBackupCompliancePolicyResultOutput) PolicyItemDaily() GetBackupCompliancePolicyPolicyItemDailyPtrOutput { - return o.ApplyT(func(v LookupBackupCompliancePolicyResult) *GetBackupCompliancePolicyPolicyItemDaily { +func (o LookupBackupCompliancePolicyResultOutput) PolicyItemDaily() GetBackupCompliancePolicyPolicyItemDailyOutput { + return o.ApplyT(func(v LookupBackupCompliancePolicyResult) GetBackupCompliancePolicyPolicyItemDaily { return v.PolicyItemDaily - }).(GetBackupCompliancePolicyPolicyItemDailyPtrOutput) + }).(GetBackupCompliancePolicyPolicyItemDailyOutput) } -func (o LookupBackupCompliancePolicyResultOutput) PolicyItemHourly() GetBackupCompliancePolicyPolicyItemHourlyPtrOutput { - return o.ApplyT(func(v LookupBackupCompliancePolicyResult) *GetBackupCompliancePolicyPolicyItemHourly { +func (o LookupBackupCompliancePolicyResultOutput) PolicyItemHourly() GetBackupCompliancePolicyPolicyItemHourlyOutput { + return o.ApplyT(func(v LookupBackupCompliancePolicyResult) GetBackupCompliancePolicyPolicyItemHourly { return v.PolicyItemHourly - }).(GetBackupCompliancePolicyPolicyItemHourlyPtrOutput) + }).(GetBackupCompliancePolicyPolicyItemHourlyOutput) } func (o LookupBackupCompliancePolicyResultOutput) PolicyItemMonthlies() GetBackupCompliancePolicyPolicyItemMonthlyArrayOutput { diff --git a/sdk/go/mongodbatlas/getCloudProviderAccess.go b/sdk/go/mongodbatlas/getCloudProviderAccess.go deleted file mode 100644 index b7dfec98..00000000 --- a/sdk/go/mongodbatlas/getCloudProviderAccess.go +++ /dev/null @@ -1,128 +0,0 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. -// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** - -package mongodbatlas - -import ( - "context" - "reflect" - - "github.com/pulumi/pulumi-mongodbatlas/sdk/v3/go/mongodbatlas/internal" - "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -) - -// **WARNING:** The data source `CloudProviderAccess` is deprecated and will be removed in version v1.14.0, use the data source `CloudProviderAccessSetup` instead. -// -// `CloudProviderAccess` allows you to get the list of cloud provider access roles, currently only AWS and Azure is supported. -// -// > **NOTE:** Groups and projects are synonymous terms. You may find `groupId` in the official documentation. -// -// ## 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 { -// testRole, err := mongodbatlas.NewCloudProviderAccess(ctx, "testRole", &mongodbatlas.CloudProviderAccessArgs{ -// ProjectId: pulumi.String("64259ee860c43338194b0f8e"), -// ProviderName: pulumi.String("AWS"), -// }) -// if err != nil { -// return err -// } -// _ = mongodbatlas.LookupCloudProviderAccessOutput(ctx, mongodbatlas.GetCloudProviderAccessOutputArgs{ -// ProjectId: testRole.ProjectId, -// }, nil) -// return nil -// }) -// } -// -// ``` -func LookupCloudProviderAccess(ctx *pulumi.Context, args *LookupCloudProviderAccessArgs, opts ...pulumi.InvokeOption) (*LookupCloudProviderAccessResult, error) { - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupCloudProviderAccessResult - err := ctx.Invoke("mongodbatlas:index/getCloudProviderAccess:getCloudProviderAccess", args, &rv, opts...) - if err != nil { - return nil, err - } - return &rv, nil -} - -// A collection of arguments for invoking getCloudProviderAccess. -type LookupCloudProviderAccessArgs struct { - // The unique ID for the project to get all Cloud Provider Access - ProjectId string `pulumi:"projectId"` -} - -// A collection of values returned by getCloudProviderAccess. -type LookupCloudProviderAccessResult struct { - // A list where each represents a Cloud Provider Access Role. - AwsIamRoles []GetCloudProviderAccessAwsIamRole `pulumi:"awsIamRoles"` - // The provider-assigned unique ID for this managed resource. - Id string `pulumi:"id"` - ProjectId string `pulumi:"projectId"` -} - -func LookupCloudProviderAccessOutput(ctx *pulumi.Context, args LookupCloudProviderAccessOutputArgs, opts ...pulumi.InvokeOption) LookupCloudProviderAccessResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). - ApplyT(func(v interface{}) (LookupCloudProviderAccessResult, error) { - args := v.(LookupCloudProviderAccessArgs) - r, err := LookupCloudProviderAccess(ctx, &args, opts...) - var s LookupCloudProviderAccessResult - if r != nil { - s = *r - } - return s, err - }).(LookupCloudProviderAccessResultOutput) -} - -// A collection of arguments for invoking getCloudProviderAccess. -type LookupCloudProviderAccessOutputArgs struct { - // The unique ID for the project to get all Cloud Provider Access - ProjectId pulumi.StringInput `pulumi:"projectId"` -} - -func (LookupCloudProviderAccessOutputArgs) ElementType() reflect.Type { - return reflect.TypeOf((*LookupCloudProviderAccessArgs)(nil)).Elem() -} - -// A collection of values returned by getCloudProviderAccess. -type LookupCloudProviderAccessResultOutput struct{ *pulumi.OutputState } - -func (LookupCloudProviderAccessResultOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LookupCloudProviderAccessResult)(nil)).Elem() -} - -func (o LookupCloudProviderAccessResultOutput) ToLookupCloudProviderAccessResultOutput() LookupCloudProviderAccessResultOutput { - return o -} - -func (o LookupCloudProviderAccessResultOutput) ToLookupCloudProviderAccessResultOutputWithContext(ctx context.Context) LookupCloudProviderAccessResultOutput { - return o -} - -// A list where each represents a Cloud Provider Access Role. -func (o LookupCloudProviderAccessResultOutput) AwsIamRoles() GetCloudProviderAccessAwsIamRoleArrayOutput { - return o.ApplyT(func(v LookupCloudProviderAccessResult) []GetCloudProviderAccessAwsIamRole { return v.AwsIamRoles }).(GetCloudProviderAccessAwsIamRoleArrayOutput) -} - -// The provider-assigned unique ID for this managed resource. -func (o LookupCloudProviderAccessResultOutput) Id() pulumi.StringOutput { - return o.ApplyT(func(v LookupCloudProviderAccessResult) string { return v.Id }).(pulumi.StringOutput) -} - -func (o LookupCloudProviderAccessResultOutput) ProjectId() pulumi.StringOutput { - return o.ApplyT(func(v LookupCloudProviderAccessResult) string { return v.ProjectId }).(pulumi.StringOutput) -} - -func init() { - pulumi.RegisterOutputType(LookupCloudProviderAccessResultOutput{}) -} diff --git a/sdk/go/mongodbatlas/getCloudProviderAccessSetup.go b/sdk/go/mongodbatlas/getCloudProviderAccessSetup.go index c9dac52a..44d262ca 100644 --- a/sdk/go/mongodbatlas/getCloudProviderAccessSetup.go +++ b/sdk/go/mongodbatlas/getCloudProviderAccessSetup.go @@ -11,7 +11,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// `CloudProviderAccess` allows you to get a single role for a provider access role setup, currently only AWS and Azure are supported. +// `mongodbatlasCloudProviderAccess` allows you to get a single role for a provider access role setup, currently only AWS and Azure are supported. // // > **NOTE:** Groups and projects are synonymous terms. You may find `groupId` in the official documentation. // diff --git a/sdk/go/mongodbatlas/getDatabaseUser.go b/sdk/go/mongodbatlas/getDatabaseUser.go index d636ebaa..8a1ac634 100644 --- a/sdk/go/mongodbatlas/getDatabaseUser.go +++ b/sdk/go/mongodbatlas/getDatabaseUser.go @@ -48,8 +48,9 @@ type LookupDatabaseUserResult struct { LdapAuthType string `pulumi:"ldapAuthType"` // (Optional) Human-readable label that indicates whether the new database user authenticates with OIDC (OpenID Connect) federated authentication. If no value is given, Atlas uses the default value of `NONE`. The accepted types are: OidcAuthType string `pulumi:"oidcAuthType"` - Password string `pulumi:"password"` - ProjectId string `pulumi:"projectId"` + // Deprecated: this parameter is deprecated and will be removed in version 1.16.0 + Password string `pulumi:"password"` + ProjectId string `pulumi:"projectId"` // List of user’s roles and the databases / collections on which the roles apply. A role allows the user to perform particular actions on the specified database. A role on the admin database can include privileges that apply to the other databases as well. See Roles below for more details. Roles []GetDatabaseUserRole `pulumi:"roles"` // Array of clusters and Atlas Data Lakes that this user has access to. @@ -129,6 +130,7 @@ func (o LookupDatabaseUserResultOutput) OidcAuthType() pulumi.StringOutput { return o.ApplyT(func(v LookupDatabaseUserResult) string { return v.OidcAuthType }).(pulumi.StringOutput) } +// Deprecated: this parameter is deprecated and will be removed in version 1.16.0 func (o LookupDatabaseUserResultOutput) Password() pulumi.StringOutput { return o.ApplyT(func(v LookupDatabaseUserResult) string { return v.Password }).(pulumi.StringOutput) } diff --git a/sdk/go/mongodbatlas/getFederatedSettingsIdentityProvider.go b/sdk/go/mongodbatlas/getFederatedSettingsIdentityProvider.go index 6ed1a526..e8d4ea3f 100644 --- a/sdk/go/mongodbatlas/getFederatedSettingsIdentityProvider.go +++ b/sdk/go/mongodbatlas/getFederatedSettingsIdentityProvider.go @@ -13,6 +13,8 @@ import ( // `FederatedSettingsIdentityProvider` provides a federated settings identity provider data source. Atlas federated settings identity provider provides federated settings outputs for the configured identity provider. // +// > **NOTE:** OIDC Workforce IdP is currently in preview. To learn more about OIDC and existing limitations see the [OIDC Authentication Documentation](https://www.mongodb.com/docs/atlas/security-oidc/) +// // ## Example Usage // // ```go @@ -65,8 +67,7 @@ func LookupFederatedSettingsIdentityProvider(ctx *pulumi.Context, args *LookupFe type LookupFederatedSettingsIdentityProviderArgs struct { // Unique 24-hexadecimal digit string that identifies the federated authentication configuration. FederationSettingsId string `pulumi:"federationSettingsId"` - // Unique 20-hexadecimal digit string that identifies the IdP. - IdentityProviderId string `pulumi:"identityProviderId"` + IdentityProviderId string `pulumi:"identityProviderId"` } // A collection of values returned by getFederatedSettingsIdentityProvider. @@ -77,24 +78,36 @@ type LookupFederatedSettingsIdentityProviderResult struct { AssociatedDomains []string `pulumi:"associatedDomains"` // List that contains the organizations from which users can log in for this IdP. AssociatedOrgs []GetFederatedSettingsIdentityProviderAssociatedOrg `pulumi:"associatedOrgs"` + // Identifier of the intended recipient of the token. + AudienceClaims []string `pulumi:"audienceClaims"` // Identifier for the intended audience of the SAML Assertion. AudienceUri string `pulumi:"audienceUri"` + // Client identifier that is assigned to an application by the Identity Provider. + ClientId string `pulumi:"clientId"` // Human-readable label that identifies the IdP. DisplayName string `pulumi:"displayName"` // Unique 24-hexadecimal digit string that identifies the federated authentication configuration. FederationSettingsId string `pulumi:"federationSettingsId"` + // Identifier of the claim which contains IdP Group IDs in the token. + GroupsClaim string `pulumi:"groupsClaim"` // The provider-assigned unique ID for this managed resource. Id string `pulumi:"id"` IdentityProviderId string `pulumi:"identityProviderId"` + // Unique 24-hexadecimal digit string that identifies the IdP + IdpId string `pulumi:"idpId"` // Identifier for the issuer of the SAML Assertion. IssuerUri string `pulumi:"issuerUri"` // Unique 20-hexadecimal digit string that identifies the IdP. OktaIdpId string `pulumi:"oktaIdpId"` PemFileInfos []GetFederatedSettingsIdentityProviderPemFileInfo `pulumi:"pemFileInfos"` + // The protocol of the identity provider. Either SAML or OIDC. + Protocol string `pulumi:"protocol"` // SAML Authentication Request Protocol binding used to send the AuthNRequest. Atlas supports the following binding values: // - HTTP POST // - HTTP REDIRECT RequestBinding string `pulumi:"requestBinding"` + // Scopes that MongoDB applications will request from the authorization endpoint. + RequestedScopes []string `pulumi:"requestedScopes"` // Algorithm used to encrypt the IdP signature. Atlas supports the following signature algorithm values: // - SHA-1 // - SHA-256 @@ -105,6 +118,8 @@ type LookupFederatedSettingsIdentityProviderResult struct { SsoUrl string `pulumi:"ssoUrl"` // Label that indicates whether the identity provider is active. The IdP is Inactive until you map at least one domain to the IdP. Status string `pulumi:"status"` + // Identifier of the claim which contains the user ID in the token. + UserClaim string `pulumi:"userClaim"` } func LookupFederatedSettingsIdentityProviderOutput(ctx *pulumi.Context, args LookupFederatedSettingsIdentityProviderOutputArgs, opts ...pulumi.InvokeOption) LookupFederatedSettingsIdentityProviderResultOutput { @@ -124,8 +139,7 @@ func LookupFederatedSettingsIdentityProviderOutput(ctx *pulumi.Context, args Loo type LookupFederatedSettingsIdentityProviderOutputArgs struct { // Unique 24-hexadecimal digit string that identifies the federated authentication configuration. FederationSettingsId pulumi.StringInput `pulumi:"federationSettingsId"` - // Unique 20-hexadecimal digit string that identifies the IdP. - IdentityProviderId pulumi.StringInput `pulumi:"identityProviderId"` + IdentityProviderId pulumi.StringInput `pulumi:"identityProviderId"` } func (LookupFederatedSettingsIdentityProviderOutputArgs) ElementType() reflect.Type { @@ -164,11 +178,21 @@ func (o LookupFederatedSettingsIdentityProviderResultOutput) AssociatedOrgs() Ge }).(GetFederatedSettingsIdentityProviderAssociatedOrgArrayOutput) } +// Identifier of the intended recipient of the token. +func (o LookupFederatedSettingsIdentityProviderResultOutput) AudienceClaims() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupFederatedSettingsIdentityProviderResult) []string { return v.AudienceClaims }).(pulumi.StringArrayOutput) +} + // Identifier for the intended audience of the SAML Assertion. func (o LookupFederatedSettingsIdentityProviderResultOutput) AudienceUri() pulumi.StringOutput { return o.ApplyT(func(v LookupFederatedSettingsIdentityProviderResult) string { return v.AudienceUri }).(pulumi.StringOutput) } +// Client identifier that is assigned to an application by the Identity Provider. +func (o LookupFederatedSettingsIdentityProviderResultOutput) ClientId() pulumi.StringOutput { + return o.ApplyT(func(v LookupFederatedSettingsIdentityProviderResult) string { return v.ClientId }).(pulumi.StringOutput) +} + // Human-readable label that identifies the IdP. func (o LookupFederatedSettingsIdentityProviderResultOutput) DisplayName() pulumi.StringOutput { return o.ApplyT(func(v LookupFederatedSettingsIdentityProviderResult) string { return v.DisplayName }).(pulumi.StringOutput) @@ -179,6 +203,11 @@ func (o LookupFederatedSettingsIdentityProviderResultOutput) FederationSettingsI return o.ApplyT(func(v LookupFederatedSettingsIdentityProviderResult) string { return v.FederationSettingsId }).(pulumi.StringOutput) } +// Identifier of the claim which contains IdP Group IDs in the token. +func (o LookupFederatedSettingsIdentityProviderResultOutput) GroupsClaim() pulumi.StringOutput { + return o.ApplyT(func(v LookupFederatedSettingsIdentityProviderResult) string { return v.GroupsClaim }).(pulumi.StringOutput) +} + // The provider-assigned unique ID for this managed resource. func (o LookupFederatedSettingsIdentityProviderResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v LookupFederatedSettingsIdentityProviderResult) string { return v.Id }).(pulumi.StringOutput) @@ -188,6 +217,11 @@ func (o LookupFederatedSettingsIdentityProviderResultOutput) IdentityProviderId( return o.ApplyT(func(v LookupFederatedSettingsIdentityProviderResult) string { return v.IdentityProviderId }).(pulumi.StringOutput) } +// Unique 24-hexadecimal digit string that identifies the IdP +func (o LookupFederatedSettingsIdentityProviderResultOutput) IdpId() pulumi.StringOutput { + return o.ApplyT(func(v LookupFederatedSettingsIdentityProviderResult) string { return v.IdpId }).(pulumi.StringOutput) +} + // Identifier for the issuer of the SAML Assertion. func (o LookupFederatedSettingsIdentityProviderResultOutput) IssuerUri() pulumi.StringOutput { return o.ApplyT(func(v LookupFederatedSettingsIdentityProviderResult) string { return v.IssuerUri }).(pulumi.StringOutput) @@ -204,6 +238,11 @@ func (o LookupFederatedSettingsIdentityProviderResultOutput) PemFileInfos() GetF }).(GetFederatedSettingsIdentityProviderPemFileInfoArrayOutput) } +// The protocol of the identity provider. Either SAML or OIDC. +func (o LookupFederatedSettingsIdentityProviderResultOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v LookupFederatedSettingsIdentityProviderResult) string { return v.Protocol }).(pulumi.StringOutput) +} + // SAML Authentication Request Protocol binding used to send the AuthNRequest. Atlas supports the following binding values: // - HTTP POST // - HTTP REDIRECT @@ -211,6 +250,11 @@ func (o LookupFederatedSettingsIdentityProviderResultOutput) RequestBinding() pu return o.ApplyT(func(v LookupFederatedSettingsIdentityProviderResult) string { return v.RequestBinding }).(pulumi.StringOutput) } +// Scopes that MongoDB applications will request from the authorization endpoint. +func (o LookupFederatedSettingsIdentityProviderResultOutput) RequestedScopes() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupFederatedSettingsIdentityProviderResult) []string { return v.RequestedScopes }).(pulumi.StringArrayOutput) +} + // Algorithm used to encrypt the IdP signature. Atlas supports the following signature algorithm values: // - SHA-1 // - SHA-256 @@ -233,6 +277,11 @@ func (o LookupFederatedSettingsIdentityProviderResultOutput) Status() pulumi.Str return o.ApplyT(func(v LookupFederatedSettingsIdentityProviderResult) string { return v.Status }).(pulumi.StringOutput) } +// Identifier of the claim which contains the user ID in the token. +func (o LookupFederatedSettingsIdentityProviderResultOutput) UserClaim() pulumi.StringOutput { + return o.ApplyT(func(v LookupFederatedSettingsIdentityProviderResult) string { return v.UserClaim }).(pulumi.StringOutput) +} + func init() { pulumi.RegisterOutputType(LookupFederatedSettingsIdentityProviderResultOutput{}) } diff --git a/sdk/go/mongodbatlas/getFederatedSettingsIdentityProviders.go b/sdk/go/mongodbatlas/getFederatedSettingsIdentityProviders.go index 747eb6c6..90b54f7b 100644 --- a/sdk/go/mongodbatlas/getFederatedSettingsIdentityProviders.go +++ b/sdk/go/mongodbatlas/getFederatedSettingsIdentityProviders.go @@ -13,6 +13,8 @@ import ( // `getFederatedSettingsIdentityProviders` provides an Federated Settings Identity Providers datasource. Atlas Cloud Federated Settings Identity Providers provides federated settings outputs for the configured Identity Providers. // +// > **NOTE:** OIDC Workforce IdP is currently in preview. To learn more about OIDC and existing limitations see the [OIDC Authentication Documentation](https://www.mongodb.com/docs/atlas/security-oidc/). +// // ## Example Usage // // ```go diff --git a/sdk/go/mongodbatlas/getOrganization.go b/sdk/go/mongodbatlas/getOrganization.go index 659e59da..a0d15bb2 100644 --- a/sdk/go/mongodbatlas/getOrganization.go +++ b/sdk/go/mongodbatlas/getOrganization.go @@ -56,14 +56,20 @@ type LookupOrganizationArgs struct { // A collection of values returned by getOrganization. type LookupOrganizationResult struct { + // (Optional) Flag that indicates whether to require API operations to originate from an IP Address added to the API access list for the specified organization. + ApiAccessListRequired bool `pulumi:"apiAccessListRequired"` // The provider-assigned unique ID for this managed resource. Id string `pulumi:"id"` // Flag that indicates whether this organization has been deleted. IsDeleted bool `pulumi:"isDeleted"` Links []GetOrganizationLink `pulumi:"links"` + // (Optional) Flag that indicates whether to require users to set up Multi-Factor Authentication (MFA) before accessing the specified organization. To learn more, see: https://www.mongodb.com/docs/atlas/security-multi-factor-authentication/. + MultiFactorAuthRequired bool `pulumi:"multiFactorAuthRequired"` // Human-readable label that identifies the organization. Name string `pulumi:"name"` OrgId string `pulumi:"orgId"` + // (Optional) Flag that indicates whether to block MongoDB Support from accessing Atlas infrastructure for any deployment in the specified organization without explicit permission. Once this setting is turned on, you can grant MongoDB Support a 24-hour bypass access to the Atlas deployment to resolve support issues. To learn more, see: https://www.mongodb.com/docs/atlas/security-restrict-support-access/. + RestrictEmployeeAccess bool `pulumi:"restrictEmployeeAccess"` } func LookupOrganizationOutput(ctx *pulumi.Context, args LookupOrganizationOutputArgs, opts ...pulumi.InvokeOption) LookupOrganizationResultOutput { @@ -104,6 +110,11 @@ func (o LookupOrganizationResultOutput) ToLookupOrganizationResultOutputWithCont return o } +// (Optional) Flag that indicates whether to require API operations to originate from an IP Address added to the API access list for the specified organization. +func (o LookupOrganizationResultOutput) ApiAccessListRequired() pulumi.BoolOutput { + return o.ApplyT(func(v LookupOrganizationResult) bool { return v.ApiAccessListRequired }).(pulumi.BoolOutput) +} + // The provider-assigned unique ID for this managed resource. func (o LookupOrganizationResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v LookupOrganizationResult) string { return v.Id }).(pulumi.StringOutput) @@ -118,6 +129,11 @@ func (o LookupOrganizationResultOutput) Links() GetOrganizationLinkArrayOutput { return o.ApplyT(func(v LookupOrganizationResult) []GetOrganizationLink { return v.Links }).(GetOrganizationLinkArrayOutput) } +// (Optional) Flag that indicates whether to require users to set up Multi-Factor Authentication (MFA) before accessing the specified organization. To learn more, see: https://www.mongodb.com/docs/atlas/security-multi-factor-authentication/. +func (o LookupOrganizationResultOutput) MultiFactorAuthRequired() pulumi.BoolOutput { + return o.ApplyT(func(v LookupOrganizationResult) bool { return v.MultiFactorAuthRequired }).(pulumi.BoolOutput) +} + // Human-readable label that identifies the organization. func (o LookupOrganizationResultOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v LookupOrganizationResult) string { return v.Name }).(pulumi.StringOutput) @@ -127,6 +143,11 @@ func (o LookupOrganizationResultOutput) OrgId() pulumi.StringOutput { return o.ApplyT(func(v LookupOrganizationResult) string { return v.OrgId }).(pulumi.StringOutput) } +// (Optional) Flag that indicates whether to block MongoDB Support from accessing Atlas infrastructure for any deployment in the specified organization without explicit permission. Once this setting is turned on, you can grant MongoDB Support a 24-hour bypass access to the Atlas deployment to resolve support issues. To learn more, see: https://www.mongodb.com/docs/atlas/security-restrict-support-access/. +func (o LookupOrganizationResultOutput) RestrictEmployeeAccess() pulumi.BoolOutput { + return o.ApplyT(func(v LookupOrganizationResult) bool { return v.RestrictEmployeeAccess }).(pulumi.BoolOutput) +} + func init() { pulumi.RegisterOutputType(LookupOrganizationResultOutput{}) } diff --git a/sdk/go/mongodbatlas/getOrganizations.go b/sdk/go/mongodbatlas/getOrganizations.go index c5bd5266..38c0d9f7 100644 --- a/sdk/go/mongodbatlas/getOrganizations.go +++ b/sdk/go/mongodbatlas/getOrganizations.go @@ -51,6 +51,7 @@ func LookupOrganizations(ctx *pulumi.Context, args *LookupOrganizationsArgs, opt // A collection of arguments for invoking getOrganizations. type LookupOrganizationsArgs struct { + // Deprecated: this parameter is deprecated and will be removed in version 1.16.0 IncludeDeletedOrgs *bool `pulumi:"includeDeletedOrgs"` // Number of items to return per page, up to a maximum of 500. Defaults to `100`. ItemsPerPage *int `pulumi:"itemsPerPage"` @@ -63,7 +64,8 @@ type LookupOrganizationsArgs struct { // A collection of values returned by getOrganizations. type LookupOrganizationsResult struct { // The provider-assigned unique ID for this managed resource. - Id string `pulumi:"id"` + Id string `pulumi:"id"` + // Deprecated: this parameter is deprecated and will be removed in version 1.16.0 IncludeDeletedOrgs *bool `pulumi:"includeDeletedOrgs"` ItemsPerPage *int `pulumi:"itemsPerPage"` Name *string `pulumi:"name"` @@ -87,6 +89,7 @@ func LookupOrganizationsOutput(ctx *pulumi.Context, args LookupOrganizationsOutp // A collection of arguments for invoking getOrganizations. type LookupOrganizationsOutputArgs struct { + // Deprecated: this parameter is deprecated and will be removed in version 1.16.0 IncludeDeletedOrgs pulumi.BoolPtrInput `pulumi:"includeDeletedOrgs"` // Number of items to return per page, up to a maximum of 500. Defaults to `100`. ItemsPerPage pulumi.IntPtrInput `pulumi:"itemsPerPage"` @@ -120,6 +123,7 @@ func (o LookupOrganizationsResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v LookupOrganizationsResult) string { return v.Id }).(pulumi.StringOutput) } +// Deprecated: this parameter is deprecated and will be removed in version 1.16.0 func (o LookupOrganizationsResultOutput) IncludeDeletedOrgs() pulumi.BoolPtrOutput { return o.ApplyT(func(v LookupOrganizationsResult) *bool { return v.IncludeDeletedOrgs }).(pulumi.BoolPtrOutput) } diff --git a/sdk/go/mongodbatlas/getProject.go b/sdk/go/mongodbatlas/getProject.go index dc127d4e..0f300f28 100644 --- a/sdk/go/mongodbatlas/getProject.go +++ b/sdk/go/mongodbatlas/getProject.go @@ -41,15 +41,10 @@ type LookupProjectResult struct { // The number of Atlas clusters deployed in the project. ClusterCount int `pulumi:"clusterCount"` // The ISO-8601-formatted timestamp of when Atlas created the project. - // * `teams.#.team_id` - The unique identifier of the team you want to associate with the project. The team and project must share the same parent organization. - // * `teams.#.role_names` - Each string in the array represents a project role assigned to the team. Every user associated with the team inherits these roles. The [MongoDB Documentation](https://www.mongodb.com/docs/atlas/reference/user-roles/#organization-roles) describes the roles a user can have. - // * `limits.#.name` - Human-readable label that identifies this project limit. - // * `limits.#.value` - Amount the limit is set to. - // * `limits.#.current_usage` - Amount that indicates the current usage of the limit. - // * `limits.#.default_limit` - Default value of the limit. - // * `limits.#.maximum_limit` - Maximum value of the limit. Created string `pulumi:"created"` Id string `pulumi:"id"` + // IP addresses in a project categorized by services. See IP Addresses. + IpAddresses GetProjectIpAddresses `pulumi:"ipAddresses"` // Flag that indicates whether to enable statistics in [cluster metrics](https://www.mongodb.com/docs/atlas/monitor-cluster-metrics/) collection for the project. IsCollectDatabaseSpecificsStatisticsEnabled bool `pulumi:"isCollectDatabaseSpecificsStatisticsEnabled"` // Flag that indicates whether to enable Data Explorer for the project. If enabled, you can query your database with an easy to use interface. @@ -61,16 +56,18 @@ type LookupProjectResult struct { // Flag that indicates whether to enable Real Time Performance Panel for the project. If enabled, you can see real time metrics from your MongoDB database. IsRealtimePerformancePanelEnabled bool `pulumi:"isRealtimePerformancePanelEnabled"` // Flag that indicates whether to enable Schema Advisor for the project. If enabled, you receive customized recommendations to optimize your data model and enhance performance. Disable this setting to disable schema suggestions in the [Performance Advisor](https://www.mongodb.com/docs/atlas/performance-advisor/#std-label-performance-advisor) and the [Data Explorer](https://www.mongodb.com/docs/atlas/atlas-ui/#std-label-atlas-ui). - IsSchemaAdvisorEnabled bool `pulumi:"isSchemaAdvisorEnabled"` - Limits []GetProjectLimit `pulumi:"limits"` - // The name of the project you want to create. + IsSchemaAdvisorEnabled bool `pulumi:"isSchemaAdvisorEnabled"` + // The limits for the specified project. See Limits. + Limits []GetProjectLimit `pulumi:"limits"` + // Human-readable label that identifies this project limit. Name *string `pulumi:"name"` // The ID of the organization you want to create the project within. OrgId string `pulumi:"orgId"` ProjectId *string `pulumi:"projectId"` // If GOV_REGIONS_ONLY the project can be used for government regions only, otherwise defaults to standard regions. For more information see [MongoDB Atlas for Government](https://www.mongodb.com/docs/atlas/government/api/#creating-a-project). - RegionUsageRestrictions string `pulumi:"regionUsageRestrictions"` - Teams []GetProjectTeam `pulumi:"teams"` + RegionUsageRestrictions string `pulumi:"regionUsageRestrictions"` + // Returns all teams to which the authenticated user has access in the project. See Teams. + Teams []GetProjectTeam `pulumi:"teams"` } func LookupProjectOutput(ctx *pulumi.Context, args LookupProjectOutputArgs, opts ...pulumi.InvokeOption) LookupProjectResultOutput { @@ -121,13 +118,6 @@ func (o LookupProjectResultOutput) ClusterCount() pulumi.IntOutput { } // The ISO-8601-formatted timestamp of when Atlas created the project. -// * `teams.#.team_id` - The unique identifier of the team you want to associate with the project. The team and project must share the same parent organization. -// * `teams.#.role_names` - Each string in the array represents a project role assigned to the team. Every user associated with the team inherits these roles. The [MongoDB Documentation](https://www.mongodb.com/docs/atlas/reference/user-roles/#organization-roles) describes the roles a user can have. -// * `limits.#.name` - Human-readable label that identifies this project limit. -// * `limits.#.value` - Amount the limit is set to. -// * `limits.#.current_usage` - Amount that indicates the current usage of the limit. -// * `limits.#.default_limit` - Default value of the limit. -// * `limits.#.maximum_limit` - Maximum value of the limit. func (o LookupProjectResultOutput) Created() pulumi.StringOutput { return o.ApplyT(func(v LookupProjectResult) string { return v.Created }).(pulumi.StringOutput) } @@ -136,6 +126,11 @@ func (o LookupProjectResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v LookupProjectResult) string { return v.Id }).(pulumi.StringOutput) } +// IP addresses in a project categorized by services. See IP Addresses. +func (o LookupProjectResultOutput) IpAddresses() GetProjectIpAddressesOutput { + return o.ApplyT(func(v LookupProjectResult) GetProjectIpAddresses { return v.IpAddresses }).(GetProjectIpAddressesOutput) +} + // Flag that indicates whether to enable statistics in [cluster metrics](https://www.mongodb.com/docs/atlas/monitor-cluster-metrics/) collection for the project. func (o LookupProjectResultOutput) IsCollectDatabaseSpecificsStatisticsEnabled() pulumi.BoolOutput { return o.ApplyT(func(v LookupProjectResult) bool { return v.IsCollectDatabaseSpecificsStatisticsEnabled }).(pulumi.BoolOutput) @@ -166,11 +161,12 @@ func (o LookupProjectResultOutput) IsSchemaAdvisorEnabled() pulumi.BoolOutput { return o.ApplyT(func(v LookupProjectResult) bool { return v.IsSchemaAdvisorEnabled }).(pulumi.BoolOutput) } +// The limits for the specified project. See Limits. func (o LookupProjectResultOutput) Limits() GetProjectLimitArrayOutput { return o.ApplyT(func(v LookupProjectResult) []GetProjectLimit { return v.Limits }).(GetProjectLimitArrayOutput) } -// The name of the project you want to create. +// Human-readable label that identifies this project limit. func (o LookupProjectResultOutput) Name() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupProjectResult) *string { return v.Name }).(pulumi.StringPtrOutput) } @@ -189,6 +185,7 @@ func (o LookupProjectResultOutput) RegionUsageRestrictions() pulumi.StringOutput return o.ApplyT(func(v LookupProjectResult) string { return v.RegionUsageRestrictions }).(pulumi.StringOutput) } +// Returns all teams to which the authenticated user has access in the project. See Teams. func (o LookupProjectResultOutput) Teams() GetProjectTeamArrayOutput { return o.ApplyT(func(v LookupProjectResult) []GetProjectTeam { return v.Teams }).(GetProjectTeamArrayOutput) } diff --git a/sdk/go/mongodbatlas/getSearchDeployment.go b/sdk/go/mongodbatlas/getSearchDeployment.go index 6960ba9a..36e7f008 100644 --- a/sdk/go/mongodbatlas/getSearchDeployment.go +++ b/sdk/go/mongodbatlas/getSearchDeployment.go @@ -14,31 +14,6 @@ import ( // `SearchDeployment` describes a search node deployment. // // ## 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.LookupSearchDeployment(ctx, &mongodbatlas.LookupSearchDeploymentArgs{ -// ClusterName: "", -// ProjectId: "", -// }, nil) -// if err != nil { -// return err -// } -// return nil -// }) -// } -// -// ``` func LookupSearchDeployment(ctx *pulumi.Context, args *LookupSearchDeploymentArgs, opts ...pulumi.InvokeOption) (*LookupSearchDeploymentResult, error) { opts = internal.PkgInvokeDefaultOpts(opts) var rv LookupSearchDeploymentResult @@ -51,20 +26,23 @@ func LookupSearchDeployment(ctx *pulumi.Context, args *LookupSearchDeploymentArg // A collection of arguments for invoking getSearchDeployment. type LookupSearchDeploymentArgs struct { - // The name of the cluster containing a search node deployment. + // Label that identifies the cluster to return the search nodes for. ClusterName string `pulumi:"clusterName"` - // The unique identifier for the [project](https://docs.atlas.mongodb.com/organizations-projects/#std-label-projects) that contains the specified cluster. + // Unique 24-hexadecimal digit string that identifies your project. ProjectId string `pulumi:"projectId"` } // A collection of values returned by getSearchDeployment. type LookupSearchDeploymentResult struct { + // Label that identifies the cluster to return the search nodes for. ClusterName string `pulumi:"clusterName"` - Id string `pulumi:"id"` - ProjectId string `pulumi:"projectId"` - // List of settings that configure the search nodes for your cluster. See specs. + // Unique 24-hexadecimal digit string that identifies the search deployment. + Id string `pulumi:"id"` + // Unique 24-hexadecimal digit string that identifies your project. + ProjectId string `pulumi:"projectId"` + // List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. Specs []GetSearchDeploymentSpec `pulumi:"specs"` - // Human-readable label that indicates the current operating condition of this search node deployment. + // Human-readable label that indicates the current operating condition of this search deployment. StateName string `pulumi:"stateName"` } @@ -83,9 +61,9 @@ func LookupSearchDeploymentOutput(ctx *pulumi.Context, args LookupSearchDeployme // A collection of arguments for invoking getSearchDeployment. type LookupSearchDeploymentOutputArgs struct { - // The name of the cluster containing a search node deployment. + // Label that identifies the cluster to return the search nodes for. ClusterName pulumi.StringInput `pulumi:"clusterName"` - // The unique identifier for the [project](https://docs.atlas.mongodb.com/organizations-projects/#std-label-projects) that contains the specified cluster. + // Unique 24-hexadecimal digit string that identifies your project. ProjectId pulumi.StringInput `pulumi:"projectId"` } @@ -108,24 +86,27 @@ func (o LookupSearchDeploymentResultOutput) ToLookupSearchDeploymentResultOutput return o } +// Label that identifies the cluster to return the search nodes for. func (o LookupSearchDeploymentResultOutput) ClusterName() pulumi.StringOutput { return o.ApplyT(func(v LookupSearchDeploymentResult) string { return v.ClusterName }).(pulumi.StringOutput) } +// Unique 24-hexadecimal digit string that identifies the search deployment. func (o LookupSearchDeploymentResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v LookupSearchDeploymentResult) string { return v.Id }).(pulumi.StringOutput) } +// Unique 24-hexadecimal digit string that identifies your project. func (o LookupSearchDeploymentResultOutput) ProjectId() pulumi.StringOutput { return o.ApplyT(func(v LookupSearchDeploymentResult) string { return v.ProjectId }).(pulumi.StringOutput) } -// List of settings that configure the search nodes for your cluster. See specs. +// List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. func (o LookupSearchDeploymentResultOutput) Specs() GetSearchDeploymentSpecArrayOutput { return o.ApplyT(func(v LookupSearchDeploymentResult) []GetSearchDeploymentSpec { return v.Specs }).(GetSearchDeploymentSpecArrayOutput) } -// Human-readable label that indicates the current operating condition of this search node deployment. +// Human-readable label that indicates the current operating condition of this search deployment. func (o LookupSearchDeploymentResultOutput) StateName() pulumi.StringOutput { return o.ApplyT(func(v LookupSearchDeploymentResult) string { return v.StateName }).(pulumi.StringOutput) } diff --git a/sdk/go/mongodbatlas/getSearchIndex.go b/sdk/go/mongodbatlas/getSearchIndex.go index 4693fe4d..99afac4e 100644 --- a/sdk/go/mongodbatlas/getSearchIndex.go +++ b/sdk/go/mongodbatlas/getSearchIndex.go @@ -77,7 +77,6 @@ type LookupSearchIndexArgs struct { ProjectId string `pulumi:"projectId"` // [Analyzer](https://docs.atlas.mongodb.com/reference/atlas-search/analyzers/#std-label-analyzers-ref) to use when searching the index. SearchAnalyzer *string `pulumi:"searchAnalyzer"` - Status *string `pulumi:"status"` Type *string `pulumi:"type"` } @@ -105,7 +104,8 @@ type LookupSearchIndexResult struct { ProjectId string `pulumi:"projectId"` // [Analyzer](https://docs.atlas.mongodb.com/reference/atlas-search/analyzers/#std-label-analyzers-ref) to use when searching the index. SearchAnalyzer *string `pulumi:"searchAnalyzer"` - Status string `pulumi:"status"` + // Current status of the index. + Status string `pulumi:"status"` // Synonyms mapping definition to use in this index. // * `synonyms.#.name` - Name of the [synonym mapping definition](https://docs.atlas.mongodb.com/reference/atlas-search/synonyms/#std-label-synonyms-ref). // * `synonyms.#.source_collection` - Name of the source MongoDB collection for the synonyms. @@ -152,7 +152,6 @@ type LookupSearchIndexOutputArgs struct { ProjectId pulumi.StringInput `pulumi:"projectId"` // [Analyzer](https://docs.atlas.mongodb.com/reference/atlas-search/analyzers/#std-label-analyzers-ref) to use when searching the index. SearchAnalyzer pulumi.StringPtrInput `pulumi:"searchAnalyzer"` - Status pulumi.StringPtrInput `pulumi:"status"` Type pulumi.StringPtrInput `pulumi:"type"` } @@ -236,6 +235,7 @@ func (o LookupSearchIndexResultOutput) SearchAnalyzer() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupSearchIndexResult) *string { return v.SearchAnalyzer }).(pulumi.StringPtrOutput) } +// Current status of the index. func (o LookupSearchIndexResultOutput) Status() pulumi.StringOutput { return o.ApplyT(func(v LookupSearchIndexResult) string { return v.Status }).(pulumi.StringOutput) } diff --git a/sdk/go/mongodbatlas/getSearchIndexes.go b/sdk/go/mongodbatlas/getSearchIndexes.go index dfbbc6c5..ad430465 100644 --- a/sdk/go/mongodbatlas/getSearchIndexes.go +++ b/sdk/go/mongodbatlas/getSearchIndexes.go @@ -32,14 +32,6 @@ type LookupSearchIndexesArgs struct { CollectionName string `pulumi:"collectionName"` // (Required) Name of the database the collection is in. Database string `pulumi:"database"` - // Number of items that Atlas returns per page, up to a maximum of 500. **WARNING:** this parameter is deprecated and will be removed in version 1.15.0 - // - // Deprecated: this parameter is deprecated and will be removed in version 1.15.0 - ItemsPerPage *int `pulumi:"itemsPerPage"` - // Page number, starting with one, that Atlas returns of the total number of objects. **WARNING:** this parameter is deprecated and will be removed in version 1.15.0 - // - // Deprecated: this parameter is deprecated and will be removed in version 1.15.0 - PageNum *int `pulumi:"pageNum"` // Unique identifier for the [project](https://docs.atlas.mongodb.com/organizations-projects/#std-label-projects) that contains the specified cluster. ProjectId string `pulumi:"projectId"` } @@ -52,11 +44,7 @@ type LookupSearchIndexesResult struct { // (Required) Name of the database the collection is in. Database string `pulumi:"database"` // The provider-assigned unique ID for this managed resource. - Id string `pulumi:"id"` - // Deprecated: this parameter is deprecated and will be removed in version 1.15.0 - ItemsPerPage *int `pulumi:"itemsPerPage"` - // Deprecated: this parameter is deprecated and will be removed in version 1.15.0 - PageNum *int `pulumi:"pageNum"` + Id string `pulumi:"id"` ProjectId string `pulumi:"projectId"` // A list where each represents a search index. Results []GetSearchIndexesResult `pulumi:"results"` @@ -85,14 +73,6 @@ type LookupSearchIndexesOutputArgs struct { CollectionName pulumi.StringInput `pulumi:"collectionName"` // (Required) Name of the database the collection is in. Database pulumi.StringInput `pulumi:"database"` - // Number of items that Atlas returns per page, up to a maximum of 500. **WARNING:** this parameter is deprecated and will be removed in version 1.15.0 - // - // Deprecated: this parameter is deprecated and will be removed in version 1.15.0 - ItemsPerPage pulumi.IntPtrInput `pulumi:"itemsPerPage"` - // Page number, starting with one, that Atlas returns of the total number of objects. **WARNING:** this parameter is deprecated and will be removed in version 1.15.0 - // - // Deprecated: this parameter is deprecated and will be removed in version 1.15.0 - PageNum pulumi.IntPtrInput `pulumi:"pageNum"` // Unique identifier for the [project](https://docs.atlas.mongodb.com/organizations-projects/#std-label-projects) that contains the specified cluster. ProjectId pulumi.StringInput `pulumi:"projectId"` } @@ -135,16 +115,6 @@ func (o LookupSearchIndexesResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v LookupSearchIndexesResult) string { return v.Id }).(pulumi.StringOutput) } -// Deprecated: this parameter is deprecated and will be removed in version 1.15.0 -func (o LookupSearchIndexesResultOutput) ItemsPerPage() pulumi.IntPtrOutput { - return o.ApplyT(func(v LookupSearchIndexesResult) *int { return v.ItemsPerPage }).(pulumi.IntPtrOutput) -} - -// Deprecated: this parameter is deprecated and will be removed in version 1.15.0 -func (o LookupSearchIndexesResultOutput) PageNum() pulumi.IntPtrOutput { - return o.ApplyT(func(v LookupSearchIndexesResult) *int { return v.PageNum }).(pulumi.IntPtrOutput) -} - func (o LookupSearchIndexesResultOutput) ProjectId() pulumi.StringOutput { return o.ApplyT(func(v LookupSearchIndexesResult) string { return v.ProjectId }).(pulumi.StringOutput) } diff --git a/sdk/go/mongodbatlas/init.go b/sdk/go/mongodbatlas/init.go index b8c59e6b..b5619d53 100644 --- a/sdk/go/mongodbatlas/init.go +++ b/sdk/go/mongodbatlas/init.go @@ -43,8 +43,6 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &CloudBackupSnapshotExportJob{} case "mongodbatlas:index/cloudBackupSnapshotRestoreJob:CloudBackupSnapshotRestoreJob": r = &CloudBackupSnapshotRestoreJob{} - case "mongodbatlas:index/cloudProviderAccess:CloudProviderAccess": - r = &CloudProviderAccess{} case "mongodbatlas:index/cloudProviderAccessAuthorization:CloudProviderAccessAuthorization": r = &CloudProviderAccessAuthorization{} case "mongodbatlas:index/cloudProviderAccessSetup:CloudProviderAccessSetup": @@ -213,11 +211,6 @@ func init() { "index/cloudBackupSnapshotRestoreJob", &module{version}, ) - pulumi.RegisterResourceModule( - "mongodbatlas", - "index/cloudProviderAccess", - &module{version}, - ) pulumi.RegisterResourceModule( "mongodbatlas", "index/cloudProviderAccessAuthorization", diff --git a/sdk/go/mongodbatlas/networkContainer.go b/sdk/go/mongodbatlas/networkContainer.go index 135d6d8b..2bda8463 100644 --- a/sdk/go/mongodbatlas/networkContainer.go +++ b/sdk/go/mongodbatlas/networkContainer.go @@ -12,7 +12,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// `NetworkContainer` provides a Network Peering Container resource. The resource lets you create, edit and delete network peering containers. The resource requires your Project ID. Each cloud provider requires slightly different attributes so read the argument reference carefully. +// `NetworkContainer` provides a Network Peering Container resource. The resource lets you create, edit and delete network peering containers. You must delete network peering containers before creating clusters in your project. You can't delete a network peering container if your project contains clusters. The resource requires your Project ID. Each cloud provider requires slightly different attributes so read the argument reference carefully. // // Network peering container is a general term used to describe any cloud providers' VPC/VNet concept. Containers only need to be created if the peering connection to the cloud provider will be created before the first cluster that requires the container. If the cluster has been/will be created first Atlas automatically creates the required container per the "containers per cloud provider" information that follows (in this case you can obtain the container id from the cluster resource attribute `containerId`). // diff --git a/sdk/go/mongodbatlas/organization.go b/sdk/go/mongodbatlas/organization.go index c0fa6c24..d923c45b 100644 --- a/sdk/go/mongodbatlas/organization.go +++ b/sdk/go/mongodbatlas/organization.go @@ -14,7 +14,11 @@ import ( // `Organization` provides programmatic management (including creation) of a MongoDB Atlas Organization resource. // -// > **IMPORTANT NOTE:** When you establish an Atlas organization using this resource, it automatically generates a set of initial public and private Programmatic API Keys. These key values are vital to store because you'll need to use them to grant access to the newly created Atlas organization. +// > **IMPORTANT NOTE:** When you establish an Atlas organization using this resource, it automatically generates a set of initial public and private Programmatic API Keys. These key values are vital to store because you'll need to use them to grant access to the newly created Atlas organization. To use this resource, `roleNames` for new API Key must have the ORG_OWNER role specified. +// +// > **IMPORTANT NOTE:** To use this resource, the requesting API Key must have the Organization Owner role. The requesting API Key's organization must be a paying organization. To learn more, see Configure a Paying Organization in the MongoDB Atlas documentation. +// +// > **NOTE** Import command is currently not supported for this resource. // // ## Example Usage // @@ -45,26 +49,16 @@ import ( // } // // ``` -// -// ## Import -// -// Organization must be imported using organization ID, e.g. -// -// ```sh -// -// $ pulumi import mongodbatlas:index/organization:Organization my_org 5d09d6a59ccf6445652a444a -// -// ``` -// -// For more information see[MongoDB Atlas Admin API Organization](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Organizations/operation/createOrganization) -// -// Documentation for more information. type Organization struct { pulumi.CustomResourceState - Description pulumi.StringOutput `pulumi:"description"` - // (Optional) Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation. + // Flag that indicates whether to require API operations to originate from an IP Address added to the API access list for the specified organization. + ApiAccessListRequired pulumi.BoolOutput `pulumi:"apiAccessListRequired"` + Description pulumi.StringOutput `pulumi:"description"` + // Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation. FederationSettingsId pulumi.StringPtrOutput `pulumi:"federationSettingsId"` + // Flag that indicates whether to require users to set up Multi-Factor Authentication (MFA) before accessing the specified organization. To learn more, see: https://www.mongodb.com/docs/atlas/security-multi-factor-authentication/. + MultiFactorAuthRequired pulumi.BoolOutput `pulumi:"multiFactorAuthRequired"` // The name of the organization you want to create. (Cannot be changed via this Provider after creation.) Name pulumi.StringOutput `pulumi:"name"` // The organization id. @@ -74,6 +68,8 @@ type Organization struct { PrivateKey pulumi.StringOutput `pulumi:"privateKey"` // Public API key value set for the specified organization API key. PublicKey pulumi.StringOutput `pulumi:"publicKey"` + // Flag that indicates whether to block MongoDB Support from accessing Atlas infrastructure for any deployment in the specified organization without explicit permission. Once this setting is turned on, you can grant MongoDB Support a 24-hour bypass access to the Atlas deployment to resolve support issues. To learn more, see: https://www.mongodb.com/docs/atlas/security-restrict-support-access/. + RestrictEmployeeAccess pulumi.BoolOutput `pulumi:"restrictEmployeeAccess"` // List of Organization roles that the Programmatic API key needs to have. Ensure that you provide at least one role and ensure all roles are valid for the Organization. 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/#organization-roles) describes the roles that you can assign to a Programmatic API key. RoleNames pulumi.StringArrayOutput `pulumi:"roleNames"` } @@ -122,9 +118,13 @@ func GetOrganization(ctx *pulumi.Context, // Input properties used for looking up and filtering Organization resources. type organizationState struct { - Description *string `pulumi:"description"` - // (Optional) Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation. + // Flag that indicates whether to require API operations to originate from an IP Address added to the API access list for the specified organization. + ApiAccessListRequired *bool `pulumi:"apiAccessListRequired"` + Description *string `pulumi:"description"` + // Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation. FederationSettingsId *string `pulumi:"federationSettingsId"` + // Flag that indicates whether to require users to set up Multi-Factor Authentication (MFA) before accessing the specified organization. To learn more, see: https://www.mongodb.com/docs/atlas/security-multi-factor-authentication/. + MultiFactorAuthRequired *bool `pulumi:"multiFactorAuthRequired"` // The name of the organization you want to create. (Cannot be changed via this Provider after creation.) Name *string `pulumi:"name"` // The organization id. @@ -134,14 +134,20 @@ type organizationState struct { PrivateKey *string `pulumi:"privateKey"` // Public API key value set for the specified organization API key. PublicKey *string `pulumi:"publicKey"` + // Flag that indicates whether to block MongoDB Support from accessing Atlas infrastructure for any deployment in the specified organization without explicit permission. Once this setting is turned on, you can grant MongoDB Support a 24-hour bypass access to the Atlas deployment to resolve support issues. To learn more, see: https://www.mongodb.com/docs/atlas/security-restrict-support-access/. + RestrictEmployeeAccess *bool `pulumi:"restrictEmployeeAccess"` // List of Organization roles that the Programmatic API key needs to have. Ensure that you provide at least one role and ensure all roles are valid for the Organization. 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/#organization-roles) describes the roles that you can assign to a Programmatic API key. RoleNames []string `pulumi:"roleNames"` } type OrganizationState struct { - Description pulumi.StringPtrInput - // (Optional) Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation. + // Flag that indicates whether to require API operations to originate from an IP Address added to the API access list for the specified organization. + ApiAccessListRequired pulumi.BoolPtrInput + Description pulumi.StringPtrInput + // Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation. FederationSettingsId pulumi.StringPtrInput + // Flag that indicates whether to require users to set up Multi-Factor Authentication (MFA) before accessing the specified organization. To learn more, see: https://www.mongodb.com/docs/atlas/security-multi-factor-authentication/. + MultiFactorAuthRequired pulumi.BoolPtrInput // The name of the organization you want to create. (Cannot be changed via this Provider after creation.) Name pulumi.StringPtrInput // The organization id. @@ -151,6 +157,8 @@ type OrganizationState struct { PrivateKey pulumi.StringPtrInput // Public API key value set for the specified organization API key. PublicKey pulumi.StringPtrInput + // Flag that indicates whether to block MongoDB Support from accessing Atlas infrastructure for any deployment in the specified organization without explicit permission. Once this setting is turned on, you can grant MongoDB Support a 24-hour bypass access to the Atlas deployment to resolve support issues. To learn more, see: https://www.mongodb.com/docs/atlas/security-restrict-support-access/. + RestrictEmployeeAccess pulumi.BoolPtrInput // List of Organization roles that the Programmatic API key needs to have. Ensure that you provide at least one role and ensure all roles are valid for the Organization. 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/#organization-roles) describes the roles that you can assign to a Programmatic API key. RoleNames pulumi.StringArrayInput } @@ -160,26 +168,38 @@ func (OrganizationState) ElementType() reflect.Type { } type organizationArgs struct { - Description string `pulumi:"description"` - // (Optional) Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation. + // Flag that indicates whether to require API operations to originate from an IP Address added to the API access list for the specified organization. + ApiAccessListRequired *bool `pulumi:"apiAccessListRequired"` + Description string `pulumi:"description"` + // Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation. FederationSettingsId *string `pulumi:"federationSettingsId"` + // Flag that indicates whether to require users to set up Multi-Factor Authentication (MFA) before accessing the specified organization. To learn more, see: https://www.mongodb.com/docs/atlas/security-multi-factor-authentication/. + MultiFactorAuthRequired *bool `pulumi:"multiFactorAuthRequired"` // The name of the organization you want to create. (Cannot be changed via this Provider after creation.) Name *string `pulumi:"name"` // Unique 24-hexadecimal digit string that identifies the Atlas user that you want to assign the Organization Owner role. This user must be a member of the same organization as the calling API key. This is only required when authenticating with Programmatic API Keys. [MongoDB Atlas Admin API - Get User By Username](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/MongoDB-Cloud-Users/operation/getUserByUsername) OrgOwnerId string `pulumi:"orgOwnerId"` + // Flag that indicates whether to block MongoDB Support from accessing Atlas infrastructure for any deployment in the specified organization without explicit permission. Once this setting is turned on, you can grant MongoDB Support a 24-hour bypass access to the Atlas deployment to resolve support issues. To learn more, see: https://www.mongodb.com/docs/atlas/security-restrict-support-access/. + RestrictEmployeeAccess *bool `pulumi:"restrictEmployeeAccess"` // List of Organization roles that the Programmatic API key needs to have. Ensure that you provide at least one role and ensure all roles are valid for the Organization. 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/#organization-roles) describes the roles that you can assign to a Programmatic API key. RoleNames []string `pulumi:"roleNames"` } // The set of arguments for constructing a Organization resource. type OrganizationArgs struct { - Description pulumi.StringInput - // (Optional) Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation. + // Flag that indicates whether to require API operations to originate from an IP Address added to the API access list for the specified organization. + ApiAccessListRequired pulumi.BoolPtrInput + Description pulumi.StringInput + // Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation. FederationSettingsId pulumi.StringPtrInput + // Flag that indicates whether to require users to set up Multi-Factor Authentication (MFA) before accessing the specified organization. To learn more, see: https://www.mongodb.com/docs/atlas/security-multi-factor-authentication/. + MultiFactorAuthRequired pulumi.BoolPtrInput // The name of the organization you want to create. (Cannot be changed via this Provider after creation.) Name pulumi.StringPtrInput // Unique 24-hexadecimal digit string that identifies the Atlas user that you want to assign the Organization Owner role. This user must be a member of the same organization as the calling API key. This is only required when authenticating with Programmatic API Keys. [MongoDB Atlas Admin API - Get User By Username](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/MongoDB-Cloud-Users/operation/getUserByUsername) OrgOwnerId pulumi.StringInput + // Flag that indicates whether to block MongoDB Support from accessing Atlas infrastructure for any deployment in the specified organization without explicit permission. Once this setting is turned on, you can grant MongoDB Support a 24-hour bypass access to the Atlas deployment to resolve support issues. To learn more, see: https://www.mongodb.com/docs/atlas/security-restrict-support-access/. + RestrictEmployeeAccess pulumi.BoolPtrInput // List of Organization roles that the Programmatic API key needs to have. Ensure that you provide at least one role and ensure all roles are valid for the Organization. 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/#organization-roles) describes the roles that you can assign to a Programmatic API key. RoleNames pulumi.StringArrayInput } @@ -271,15 +291,25 @@ func (o OrganizationOutput) ToOrganizationOutputWithContext(ctx context.Context) return o } +// Flag that indicates whether to require API operations to originate from an IP Address added to the API access list for the specified organization. +func (o OrganizationOutput) ApiAccessListRequired() pulumi.BoolOutput { + return o.ApplyT(func(v *Organization) pulumi.BoolOutput { return v.ApiAccessListRequired }).(pulumi.BoolOutput) +} + func (o OrganizationOutput) Description() pulumi.StringOutput { return o.ApplyT(func(v *Organization) pulumi.StringOutput { return v.Description }).(pulumi.StringOutput) } -// (Optional) Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation. +// Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation. func (o OrganizationOutput) FederationSettingsId() pulumi.StringPtrOutput { return o.ApplyT(func(v *Organization) pulumi.StringPtrOutput { return v.FederationSettingsId }).(pulumi.StringPtrOutput) } +// Flag that indicates whether to require users to set up Multi-Factor Authentication (MFA) before accessing the specified organization. To learn more, see: https://www.mongodb.com/docs/atlas/security-multi-factor-authentication/. +func (o OrganizationOutput) MultiFactorAuthRequired() pulumi.BoolOutput { + return o.ApplyT(func(v *Organization) pulumi.BoolOutput { return v.MultiFactorAuthRequired }).(pulumi.BoolOutput) +} + // The name of the organization you want to create. (Cannot be changed via this Provider after creation.) func (o OrganizationOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *Organization) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) @@ -304,6 +334,11 @@ func (o OrganizationOutput) PublicKey() pulumi.StringOutput { return o.ApplyT(func(v *Organization) pulumi.StringOutput { return v.PublicKey }).(pulumi.StringOutput) } +// Flag that indicates whether to block MongoDB Support from accessing Atlas infrastructure for any deployment in the specified organization without explicit permission. Once this setting is turned on, you can grant MongoDB Support a 24-hour bypass access to the Atlas deployment to resolve support issues. To learn more, see: https://www.mongodb.com/docs/atlas/security-restrict-support-access/. +func (o OrganizationOutput) RestrictEmployeeAccess() pulumi.BoolOutput { + return o.ApplyT(func(v *Organization) pulumi.BoolOutput { return v.RestrictEmployeeAccess }).(pulumi.BoolOutput) +} + // List of Organization roles that the Programmatic API key needs to have. Ensure that you provide at least one role and ensure all roles are valid for the Organization. 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/#organization-roles) describes the roles that you can assign to a Programmatic API key. func (o OrganizationOutput) RoleNames() pulumi.StringArrayOutput { return o.ApplyT(func(v *Organization) pulumi.StringArrayOutput { return v.RoleNames }).(pulumi.StringArrayOutput) diff --git a/sdk/go/mongodbatlas/project.go b/sdk/go/mongodbatlas/project.go index cc3b7aca..684a03e8 100644 --- a/sdk/go/mongodbatlas/project.go +++ b/sdk/go/mongodbatlas/project.go @@ -92,10 +92,12 @@ import ( type Project struct { pulumi.CustomResourceState - // The number of Atlas clusters deployed in the project.. + // The number of Atlas clusters deployed in the project. ClusterCount pulumi.IntOutput `pulumi:"clusterCount"` - // The ISO-8601-formatted timestamp of when Atlas created the project.. + // The ISO-8601-formatted timestamp of when Atlas created the project. Created pulumi.StringOutput `pulumi:"created"` + // IP addresses in a project categorized by services. See IP Addresses. + IpAddresses ProjectIpAddressesOutput `pulumi:"ipAddresses"` // Flag that indicates whether to enable statistics in [cluster metrics](https://www.mongodb.com/docs/atlas/monitor-cluster-metrics/) collection for the project. By default, this flag is set to true. IsCollectDatabaseSpecificsStatisticsEnabled pulumi.BoolOutput `pulumi:"isCollectDatabaseSpecificsStatisticsEnabled"` // Flag that indicates whether to enable Data Explorer for the project. If enabled, you can query your database with an easy to use interface. When Data Explorer is disabled, you cannot terminate slow operations from the [Real-Time Performance Panel](https://www.mongodb.com/docs/atlas/real-time-performance-panel/#std-label-real-time-metrics-status-tab) or create indexes from the [Performance Advisor](https://www.mongodb.com/docs/atlas/performance-advisor/#std-label-performance-advisor). You can still view Performance Advisor recommendations, but you must create those indexes from [mongosh](https://www.mongodb.com/docs/mongodb-shell/#mongodb-binary-bin.mongosh). By default, this flag is set to true. @@ -155,10 +157,12 @@ func GetProject(ctx *pulumi.Context, // Input properties used for looking up and filtering Project resources. type projectState struct { - // The number of Atlas clusters deployed in the project.. + // The number of Atlas clusters deployed in the project. ClusterCount *int `pulumi:"clusterCount"` - // The ISO-8601-formatted timestamp of when Atlas created the project.. + // The ISO-8601-formatted timestamp of when Atlas created the project. Created *string `pulumi:"created"` + // IP addresses in a project categorized by services. See IP Addresses. + IpAddresses *ProjectIpAddresses `pulumi:"ipAddresses"` // Flag that indicates whether to enable statistics in [cluster metrics](https://www.mongodb.com/docs/atlas/monitor-cluster-metrics/) collection for the project. By default, this flag is set to true. IsCollectDatabaseSpecificsStatisticsEnabled *bool `pulumi:"isCollectDatabaseSpecificsStatisticsEnabled"` // Flag that indicates whether to enable Data Explorer for the project. If enabled, you can query your database with an easy to use interface. When Data Explorer is disabled, you cannot terminate slow operations from the [Real-Time Performance Panel](https://www.mongodb.com/docs/atlas/real-time-performance-panel/#std-label-real-time-metrics-status-tab) or create indexes from the [Performance Advisor](https://www.mongodb.com/docs/atlas/performance-advisor/#std-label-performance-advisor). You can still view Performance Advisor recommendations, but you must create those indexes from [mongosh](https://www.mongodb.com/docs/mongodb-shell/#mongodb-binary-bin.mongosh). By default, this flag is set to true. @@ -186,10 +190,12 @@ type projectState struct { } type ProjectState struct { - // The number of Atlas clusters deployed in the project.. + // The number of Atlas clusters deployed in the project. ClusterCount pulumi.IntPtrInput - // The ISO-8601-formatted timestamp of when Atlas created the project.. + // The ISO-8601-formatted timestamp of when Atlas created the project. Created pulumi.StringPtrInput + // IP addresses in a project categorized by services. See IP Addresses. + IpAddresses ProjectIpAddressesPtrInput // Flag that indicates whether to enable statistics in [cluster metrics](https://www.mongodb.com/docs/atlas/monitor-cluster-metrics/) collection for the project. By default, this flag is set to true. IsCollectDatabaseSpecificsStatisticsEnabled pulumi.BoolPtrInput // Flag that indicates whether to enable Data Explorer for the project. If enabled, you can query your database with an easy to use interface. When Data Explorer is disabled, you cannot terminate slow operations from the [Real-Time Performance Panel](https://www.mongodb.com/docs/atlas/real-time-performance-panel/#std-label-real-time-metrics-status-tab) or create indexes from the [Performance Advisor](https://www.mongodb.com/docs/atlas/performance-advisor/#std-label-performance-advisor). You can still view Performance Advisor recommendations, but you must create those indexes from [mongosh](https://www.mongodb.com/docs/mongodb-shell/#mongodb-binary-bin.mongosh). By default, this flag is set to true. @@ -362,16 +368,21 @@ func (o ProjectOutput) ToProjectOutputWithContext(ctx context.Context) ProjectOu return o } -// The number of Atlas clusters deployed in the project.. +// The number of Atlas clusters deployed in the project. func (o ProjectOutput) ClusterCount() pulumi.IntOutput { return o.ApplyT(func(v *Project) pulumi.IntOutput { return v.ClusterCount }).(pulumi.IntOutput) } -// The ISO-8601-formatted timestamp of when Atlas created the project.. +// The ISO-8601-formatted timestamp of when Atlas created the project. func (o ProjectOutput) Created() pulumi.StringOutput { return o.ApplyT(func(v *Project) pulumi.StringOutput { return v.Created }).(pulumi.StringOutput) } +// IP addresses in a project categorized by services. See IP Addresses. +func (o ProjectOutput) IpAddresses() ProjectIpAddressesOutput { + return o.ApplyT(func(v *Project) ProjectIpAddressesOutput { return v.IpAddresses }).(ProjectIpAddressesOutput) +} + // Flag that indicates whether to enable statistics in [cluster metrics](https://www.mongodb.com/docs/atlas/monitor-cluster-metrics/) collection for the project. By default, this flag is set to true. func (o ProjectOutput) IsCollectDatabaseSpecificsStatisticsEnabled() pulumi.BoolOutput { return o.ApplyT(func(v *Project) pulumi.BoolOutput { return v.IsCollectDatabaseSpecificsStatisticsEnabled }).(pulumi.BoolOutput) diff --git a/sdk/go/mongodbatlas/pulumiTypes.go b/sdk/go/mongodbatlas/pulumiTypes.go index 83d7263a..82c54c9f 100644 --- a/sdk/go/mongodbatlas/pulumiTypes.go +++ b/sdk/go/mongodbatlas/pulumiTypes.go @@ -2825,7 +2825,7 @@ type AlertConfigurationNotification struct { ChannelName *string `pulumi:"channelName"` // Datadog API Key. Found in the Datadog dashboard. Required for the DATADOG notifications type. DatadogApiKey *string `pulumi:"datadogApiKey"` - // Region that indicates which API URL to use. Accepted regions are: `US`, `EU`. The default Datadog region is US. + // Region that indicates which API URL to use. See the `datadogRegion` field in the `notifications` request parameter of [MongoDB API Alert Configuration documentation](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/v2/#tag/Alert-Configurations/operation/createAlertConfiguration) for more details. The default Datadog region is US. DatadogRegion *string `pulumi:"datadogRegion"` // Number of minutes to wait after an alert condition is detected before sending out the first notification. DelayMin *int `pulumi:"delayMin"` @@ -2899,7 +2899,7 @@ type AlertConfigurationNotificationArgs struct { ChannelName pulumi.StringPtrInput `pulumi:"channelName"` // Datadog API Key. Found in the Datadog dashboard. Required for the DATADOG notifications type. DatadogApiKey pulumi.StringPtrInput `pulumi:"datadogApiKey"` - // Region that indicates which API URL to use. Accepted regions are: `US`, `EU`. The default Datadog region is US. + // Region that indicates which API URL to use. See the `datadogRegion` field in the `notifications` request parameter of [MongoDB API Alert Configuration documentation](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/v2/#tag/Alert-Configurations/operation/createAlertConfiguration) for more details. The default Datadog region is US. DatadogRegion pulumi.StringPtrInput `pulumi:"datadogRegion"` // Number of minutes to wait after an alert condition is detected before sending out the first notification. DelayMin pulumi.IntPtrInput `pulumi:"delayMin"` @@ -3021,7 +3021,7 @@ func (o AlertConfigurationNotificationOutput) DatadogApiKey() pulumi.StringPtrOu return o.ApplyT(func(v AlertConfigurationNotification) *string { return v.DatadogApiKey }).(pulumi.StringPtrOutput) } -// Region that indicates which API URL to use. Accepted regions are: `US`, `EU`. The default Datadog region is US. +// Region that indicates which API URL to use. See the `datadogRegion` field in the `notifications` request parameter of [MongoDB API Alert Configuration documentation](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/v2/#tag/Alert-Configurations/operation/createAlertConfiguration) for more details. The default Datadog region is US. func (o AlertConfigurationNotificationOutput) DatadogRegion() pulumi.StringPtrOutput { return o.ApplyT(func(v AlertConfigurationNotification) *string { return v.DatadogRegion }).(pulumi.StringPtrOutput) } @@ -6196,106 +6196,6 @@ func (o CloudProviderAccessAuthorizationFeatureUsageArrayOutput) Index(i pulumi. }).(CloudProviderAccessAuthorizationFeatureUsageOutput) } -type CloudProviderAccessFeatureUsage struct { - FeatureId map[string]interface{} `pulumi:"featureId"` - FeatureType *string `pulumi:"featureType"` -} - -// CloudProviderAccessFeatureUsageInput is an input type that accepts CloudProviderAccessFeatureUsageArgs and CloudProviderAccessFeatureUsageOutput values. -// You can construct a concrete instance of `CloudProviderAccessFeatureUsageInput` via: -// -// CloudProviderAccessFeatureUsageArgs{...} -type CloudProviderAccessFeatureUsageInput interface { - pulumi.Input - - ToCloudProviderAccessFeatureUsageOutput() CloudProviderAccessFeatureUsageOutput - ToCloudProviderAccessFeatureUsageOutputWithContext(context.Context) CloudProviderAccessFeatureUsageOutput -} - -type CloudProviderAccessFeatureUsageArgs struct { - FeatureId pulumi.MapInput `pulumi:"featureId"` - FeatureType pulumi.StringPtrInput `pulumi:"featureType"` -} - -func (CloudProviderAccessFeatureUsageArgs) ElementType() reflect.Type { - return reflect.TypeOf((*CloudProviderAccessFeatureUsage)(nil)).Elem() -} - -func (i CloudProviderAccessFeatureUsageArgs) ToCloudProviderAccessFeatureUsageOutput() CloudProviderAccessFeatureUsageOutput { - return i.ToCloudProviderAccessFeatureUsageOutputWithContext(context.Background()) -} - -func (i CloudProviderAccessFeatureUsageArgs) ToCloudProviderAccessFeatureUsageOutputWithContext(ctx context.Context) CloudProviderAccessFeatureUsageOutput { - return pulumi.ToOutputWithContext(ctx, i).(CloudProviderAccessFeatureUsageOutput) -} - -// CloudProviderAccessFeatureUsageArrayInput is an input type that accepts CloudProviderAccessFeatureUsageArray and CloudProviderAccessFeatureUsageArrayOutput values. -// You can construct a concrete instance of `CloudProviderAccessFeatureUsageArrayInput` via: -// -// CloudProviderAccessFeatureUsageArray{ CloudProviderAccessFeatureUsageArgs{...} } -type CloudProviderAccessFeatureUsageArrayInput interface { - pulumi.Input - - ToCloudProviderAccessFeatureUsageArrayOutput() CloudProviderAccessFeatureUsageArrayOutput - ToCloudProviderAccessFeatureUsageArrayOutputWithContext(context.Context) CloudProviderAccessFeatureUsageArrayOutput -} - -type CloudProviderAccessFeatureUsageArray []CloudProviderAccessFeatureUsageInput - -func (CloudProviderAccessFeatureUsageArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]CloudProviderAccessFeatureUsage)(nil)).Elem() -} - -func (i CloudProviderAccessFeatureUsageArray) ToCloudProviderAccessFeatureUsageArrayOutput() CloudProviderAccessFeatureUsageArrayOutput { - return i.ToCloudProviderAccessFeatureUsageArrayOutputWithContext(context.Background()) -} - -func (i CloudProviderAccessFeatureUsageArray) ToCloudProviderAccessFeatureUsageArrayOutputWithContext(ctx context.Context) CloudProviderAccessFeatureUsageArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(CloudProviderAccessFeatureUsageArrayOutput) -} - -type CloudProviderAccessFeatureUsageOutput struct{ *pulumi.OutputState } - -func (CloudProviderAccessFeatureUsageOutput) ElementType() reflect.Type { - return reflect.TypeOf((*CloudProviderAccessFeatureUsage)(nil)).Elem() -} - -func (o CloudProviderAccessFeatureUsageOutput) ToCloudProviderAccessFeatureUsageOutput() CloudProviderAccessFeatureUsageOutput { - return o -} - -func (o CloudProviderAccessFeatureUsageOutput) ToCloudProviderAccessFeatureUsageOutputWithContext(ctx context.Context) CloudProviderAccessFeatureUsageOutput { - return o -} - -func (o CloudProviderAccessFeatureUsageOutput) FeatureId() pulumi.MapOutput { - return o.ApplyT(func(v CloudProviderAccessFeatureUsage) map[string]interface{} { return v.FeatureId }).(pulumi.MapOutput) -} - -func (o CloudProviderAccessFeatureUsageOutput) FeatureType() pulumi.StringPtrOutput { - return o.ApplyT(func(v CloudProviderAccessFeatureUsage) *string { return v.FeatureType }).(pulumi.StringPtrOutput) -} - -type CloudProviderAccessFeatureUsageArrayOutput struct{ *pulumi.OutputState } - -func (CloudProviderAccessFeatureUsageArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]CloudProviderAccessFeatureUsage)(nil)).Elem() -} - -func (o CloudProviderAccessFeatureUsageArrayOutput) ToCloudProviderAccessFeatureUsageArrayOutput() CloudProviderAccessFeatureUsageArrayOutput { - return o -} - -func (o CloudProviderAccessFeatureUsageArrayOutput) ToCloudProviderAccessFeatureUsageArrayOutputWithContext(ctx context.Context) CloudProviderAccessFeatureUsageArrayOutput { - return o -} - -func (o CloudProviderAccessFeatureUsageArrayOutput) Index(i pulumi.IntInput) CloudProviderAccessFeatureUsageOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) CloudProviderAccessFeatureUsage { - return vs[0].([]CloudProviderAccessFeatureUsage)[vs[1].(int)] - }).(CloudProviderAccessFeatureUsageOutput) -} - type CloudProviderAccessSetupAwsConfig struct { AtlasAssumedRoleExternalId *string `pulumi:"atlasAssumedRoleExternalId"` AtlasAwsAccountArn *string `pulumi:"atlasAwsAccountArn"` @@ -9795,7 +9695,7 @@ func (o DatabaseUserLabelArrayOutput) Index(i pulumi.IntInput) DatabaseUserLabel type DatabaseUserRole struct { // Collection for which the role applies. You can specify a collection for the `read` and `readWrite` roles. If you do not specify a collection for `read` and `readWrite`, the role applies to all collections in the database (excluding some collections in the `system`. database). CollectionName *string `pulumi:"collectionName"` - // Database on which the user has the specified role. A role on the `admin` database can include privileges that apply to the other databases. + // Database on which the user has the specified role. A role on the `admin` database can include privileges that apply to the other databases. This field should be set to `admin` for a custom MongoDB role. DatabaseName string `pulumi:"databaseName"` // Name of the role to grant. See [Create a Database User](https://docs.atlas.mongodb.com/reference/api/database-users-create-a-user/) `roles.roleName` for valid values and restrictions. RoleName string `pulumi:"roleName"` @@ -9815,7 +9715,7 @@ type DatabaseUserRoleInput interface { type DatabaseUserRoleArgs struct { // Collection for which the role applies. You can specify a collection for the `read` and `readWrite` roles. If you do not specify a collection for `read` and `readWrite`, the role applies to all collections in the database (excluding some collections in the `system`. database). CollectionName pulumi.StringPtrInput `pulumi:"collectionName"` - // Database on which the user has the specified role. A role on the `admin` database can include privileges that apply to the other databases. + // Database on which the user has the specified role. A role on the `admin` database can include privileges that apply to the other databases. This field should be set to `admin` for a custom MongoDB role. DatabaseName pulumi.StringInput `pulumi:"databaseName"` // Name of the role to grant. See [Create a Database User](https://docs.atlas.mongodb.com/reference/api/database-users-create-a-user/) `roles.roleName` for valid values and restrictions. RoleName pulumi.StringInput `pulumi:"roleName"` @@ -9877,7 +9777,7 @@ func (o DatabaseUserRoleOutput) CollectionName() pulumi.StringPtrOutput { return o.ApplyT(func(v DatabaseUserRole) *string { return v.CollectionName }).(pulumi.StringPtrOutput) } -// Database on which the user has the specified role. A role on the `admin` database can include privileges that apply to the other databases. +// Database on which the user has the specified role. A role on the `admin` database can include privileges that apply to the other databases. This field should be set to `admin` for a custom MongoDB role. func (o DatabaseUserRoleOutput) DatabaseName() pulumi.StringOutput { return o.ApplyT(func(v DatabaseUserRole) string { return v.DatabaseName }).(pulumi.StringOutput) } @@ -10021,7 +9921,7 @@ type EncryptionAtRestAwsKmsConfig struct { Enabled *bool `pulumi:"enabled"` // The AWS region in which the AWS customer master key exists: CA_CENTRAL_1, US_EAST_1, US_EAST_2, US_WEST_1, US_WEST_2, SA_EAST_1 Region *string `pulumi:"region"` - // ID of an AWS IAM role authorized to manage an AWS customer master key. To find the ID for an existing IAM role check the `roleId` attribute of the `CloudProviderAccess` resource. + // ID of an AWS IAM role authorized to manage an AWS customer master key. To find the ID for an existing IAM role check the `roleId` attribute of the `mongodbatlasCloudProviderAccess` resource. RoleId *string `pulumi:"roleId"` SecretAccessKey *string `pulumi:"secretAccessKey"` } @@ -10045,7 +9945,7 @@ type EncryptionAtRestAwsKmsConfigArgs struct { Enabled pulumi.BoolPtrInput `pulumi:"enabled"` // The AWS region in which the AWS customer master key exists: CA_CENTRAL_1, US_EAST_1, US_EAST_2, US_WEST_1, US_WEST_2, SA_EAST_1 Region pulumi.StringPtrInput `pulumi:"region"` - // ID of an AWS IAM role authorized to manage an AWS customer master key. To find the ID for an existing IAM role check the `roleId` attribute of the `CloudProviderAccess` resource. + // ID of an AWS IAM role authorized to manage an AWS customer master key. To find the ID for an existing IAM role check the `roleId` attribute of the `mongodbatlasCloudProviderAccess` resource. RoleId pulumi.StringPtrInput `pulumi:"roleId"` SecretAccessKey pulumi.StringPtrInput `pulumi:"secretAccessKey"` } @@ -10146,7 +10046,7 @@ func (o EncryptionAtRestAwsKmsConfigOutput) Region() pulumi.StringPtrOutput { return o.ApplyT(func(v EncryptionAtRestAwsKmsConfig) *string { return v.Region }).(pulumi.StringPtrOutput) } -// ID of an AWS IAM role authorized to manage an AWS customer master key. To find the ID for an existing IAM role check the `roleId` attribute of the `CloudProviderAccess` resource. +// ID of an AWS IAM role authorized to manage an AWS customer master key. To find the ID for an existing IAM role check the `roleId` attribute of the `mongodbatlasCloudProviderAccess` resource. func (o EncryptionAtRestAwsKmsConfigOutput) RoleId() pulumi.StringPtrOutput { return o.ApplyT(func(v EncryptionAtRestAwsKmsConfig) *string { return v.RoleId }).(pulumi.StringPtrOutput) } @@ -10218,7 +10118,7 @@ func (o EncryptionAtRestAwsKmsConfigPtrOutput) Region() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } -// ID of an AWS IAM role authorized to manage an AWS customer master key. To find the ID for an existing IAM role check the `roleId` attribute of the `CloudProviderAccess` resource. +// ID of an AWS IAM role authorized to manage an AWS customer master key. To find the ID for an existing IAM role check the `roleId` attribute of the `mongodbatlasCloudProviderAccess` resource. func (o EncryptionAtRestAwsKmsConfigPtrOutput) RoleId() pulumi.StringPtrOutput { return o.ApplyT(func(v *EncryptionAtRestAwsKmsConfig) *string { if v == nil { @@ -14533,6 +14433,378 @@ func (o ProjectIpAccessListTimeoutsPtrOutput) Read() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } +type ProjectIpAddresses struct { + Services *ProjectIpAddressesServices `pulumi:"services"` +} + +// ProjectIpAddressesInput is an input type that accepts ProjectIpAddressesArgs and ProjectIpAddressesOutput values. +// You can construct a concrete instance of `ProjectIpAddressesInput` via: +// +// ProjectIpAddressesArgs{...} +type ProjectIpAddressesInput interface { + pulumi.Input + + ToProjectIpAddressesOutput() ProjectIpAddressesOutput + ToProjectIpAddressesOutputWithContext(context.Context) ProjectIpAddressesOutput +} + +type ProjectIpAddressesArgs struct { + Services ProjectIpAddressesServicesPtrInput `pulumi:"services"` +} + +func (ProjectIpAddressesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ProjectIpAddresses)(nil)).Elem() +} + +func (i ProjectIpAddressesArgs) ToProjectIpAddressesOutput() ProjectIpAddressesOutput { + return i.ToProjectIpAddressesOutputWithContext(context.Background()) +} + +func (i ProjectIpAddressesArgs) ToProjectIpAddressesOutputWithContext(ctx context.Context) ProjectIpAddressesOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectIpAddressesOutput) +} + +func (i ProjectIpAddressesArgs) ToProjectIpAddressesPtrOutput() ProjectIpAddressesPtrOutput { + return i.ToProjectIpAddressesPtrOutputWithContext(context.Background()) +} + +func (i ProjectIpAddressesArgs) ToProjectIpAddressesPtrOutputWithContext(ctx context.Context) ProjectIpAddressesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectIpAddressesOutput).ToProjectIpAddressesPtrOutputWithContext(ctx) +} + +// ProjectIpAddressesPtrInput is an input type that accepts ProjectIpAddressesArgs, ProjectIpAddressesPtr and ProjectIpAddressesPtrOutput values. +// You can construct a concrete instance of `ProjectIpAddressesPtrInput` via: +// +// ProjectIpAddressesArgs{...} +// +// or: +// +// nil +type ProjectIpAddressesPtrInput interface { + pulumi.Input + + ToProjectIpAddressesPtrOutput() ProjectIpAddressesPtrOutput + ToProjectIpAddressesPtrOutputWithContext(context.Context) ProjectIpAddressesPtrOutput +} + +type projectIpAddressesPtrType ProjectIpAddressesArgs + +func ProjectIpAddressesPtr(v *ProjectIpAddressesArgs) ProjectIpAddressesPtrInput { + return (*projectIpAddressesPtrType)(v) +} + +func (*projectIpAddressesPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectIpAddresses)(nil)).Elem() +} + +func (i *projectIpAddressesPtrType) ToProjectIpAddressesPtrOutput() ProjectIpAddressesPtrOutput { + return i.ToProjectIpAddressesPtrOutputWithContext(context.Background()) +} + +func (i *projectIpAddressesPtrType) ToProjectIpAddressesPtrOutputWithContext(ctx context.Context) ProjectIpAddressesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectIpAddressesPtrOutput) +} + +type ProjectIpAddressesOutput struct{ *pulumi.OutputState } + +func (ProjectIpAddressesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ProjectIpAddresses)(nil)).Elem() +} + +func (o ProjectIpAddressesOutput) ToProjectIpAddressesOutput() ProjectIpAddressesOutput { + return o +} + +func (o ProjectIpAddressesOutput) ToProjectIpAddressesOutputWithContext(ctx context.Context) ProjectIpAddressesOutput { + return o +} + +func (o ProjectIpAddressesOutput) ToProjectIpAddressesPtrOutput() ProjectIpAddressesPtrOutput { + return o.ToProjectIpAddressesPtrOutputWithContext(context.Background()) +} + +func (o ProjectIpAddressesOutput) ToProjectIpAddressesPtrOutputWithContext(ctx context.Context) ProjectIpAddressesPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ProjectIpAddresses) *ProjectIpAddresses { + return &v + }).(ProjectIpAddressesPtrOutput) +} + +func (o ProjectIpAddressesOutput) Services() ProjectIpAddressesServicesPtrOutput { + return o.ApplyT(func(v ProjectIpAddresses) *ProjectIpAddressesServices { return v.Services }).(ProjectIpAddressesServicesPtrOutput) +} + +type ProjectIpAddressesPtrOutput struct{ *pulumi.OutputState } + +func (ProjectIpAddressesPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectIpAddresses)(nil)).Elem() +} + +func (o ProjectIpAddressesPtrOutput) ToProjectIpAddressesPtrOutput() ProjectIpAddressesPtrOutput { + return o +} + +func (o ProjectIpAddressesPtrOutput) ToProjectIpAddressesPtrOutputWithContext(ctx context.Context) ProjectIpAddressesPtrOutput { + return o +} + +func (o ProjectIpAddressesPtrOutput) Elem() ProjectIpAddressesOutput { + return o.ApplyT(func(v *ProjectIpAddresses) ProjectIpAddresses { + if v != nil { + return *v + } + var ret ProjectIpAddresses + return ret + }).(ProjectIpAddressesOutput) +} + +func (o ProjectIpAddressesPtrOutput) Services() ProjectIpAddressesServicesPtrOutput { + return o.ApplyT(func(v *ProjectIpAddresses) *ProjectIpAddressesServices { + if v == nil { + return nil + } + return v.Services + }).(ProjectIpAddressesServicesPtrOutput) +} + +type ProjectIpAddressesServices struct { + Clusters []ProjectIpAddressesServicesCluster `pulumi:"clusters"` +} + +// ProjectIpAddressesServicesInput is an input type that accepts ProjectIpAddressesServicesArgs and ProjectIpAddressesServicesOutput values. +// You can construct a concrete instance of `ProjectIpAddressesServicesInput` via: +// +// ProjectIpAddressesServicesArgs{...} +type ProjectIpAddressesServicesInput interface { + pulumi.Input + + ToProjectIpAddressesServicesOutput() ProjectIpAddressesServicesOutput + ToProjectIpAddressesServicesOutputWithContext(context.Context) ProjectIpAddressesServicesOutput +} + +type ProjectIpAddressesServicesArgs struct { + Clusters ProjectIpAddressesServicesClusterArrayInput `pulumi:"clusters"` +} + +func (ProjectIpAddressesServicesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ProjectIpAddressesServices)(nil)).Elem() +} + +func (i ProjectIpAddressesServicesArgs) ToProjectIpAddressesServicesOutput() ProjectIpAddressesServicesOutput { + return i.ToProjectIpAddressesServicesOutputWithContext(context.Background()) +} + +func (i ProjectIpAddressesServicesArgs) ToProjectIpAddressesServicesOutputWithContext(ctx context.Context) ProjectIpAddressesServicesOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectIpAddressesServicesOutput) +} + +func (i ProjectIpAddressesServicesArgs) ToProjectIpAddressesServicesPtrOutput() ProjectIpAddressesServicesPtrOutput { + return i.ToProjectIpAddressesServicesPtrOutputWithContext(context.Background()) +} + +func (i ProjectIpAddressesServicesArgs) ToProjectIpAddressesServicesPtrOutputWithContext(ctx context.Context) ProjectIpAddressesServicesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectIpAddressesServicesOutput).ToProjectIpAddressesServicesPtrOutputWithContext(ctx) +} + +// ProjectIpAddressesServicesPtrInput is an input type that accepts ProjectIpAddressesServicesArgs, ProjectIpAddressesServicesPtr and ProjectIpAddressesServicesPtrOutput values. +// You can construct a concrete instance of `ProjectIpAddressesServicesPtrInput` via: +// +// ProjectIpAddressesServicesArgs{...} +// +// or: +// +// nil +type ProjectIpAddressesServicesPtrInput interface { + pulumi.Input + + ToProjectIpAddressesServicesPtrOutput() ProjectIpAddressesServicesPtrOutput + ToProjectIpAddressesServicesPtrOutputWithContext(context.Context) ProjectIpAddressesServicesPtrOutput +} + +type projectIpAddressesServicesPtrType ProjectIpAddressesServicesArgs + +func ProjectIpAddressesServicesPtr(v *ProjectIpAddressesServicesArgs) ProjectIpAddressesServicesPtrInput { + return (*projectIpAddressesServicesPtrType)(v) +} + +func (*projectIpAddressesServicesPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectIpAddressesServices)(nil)).Elem() +} + +func (i *projectIpAddressesServicesPtrType) ToProjectIpAddressesServicesPtrOutput() ProjectIpAddressesServicesPtrOutput { + return i.ToProjectIpAddressesServicesPtrOutputWithContext(context.Background()) +} + +func (i *projectIpAddressesServicesPtrType) ToProjectIpAddressesServicesPtrOutputWithContext(ctx context.Context) ProjectIpAddressesServicesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectIpAddressesServicesPtrOutput) +} + +type ProjectIpAddressesServicesOutput struct{ *pulumi.OutputState } + +func (ProjectIpAddressesServicesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ProjectIpAddressesServices)(nil)).Elem() +} + +func (o ProjectIpAddressesServicesOutput) ToProjectIpAddressesServicesOutput() ProjectIpAddressesServicesOutput { + return o +} + +func (o ProjectIpAddressesServicesOutput) ToProjectIpAddressesServicesOutputWithContext(ctx context.Context) ProjectIpAddressesServicesOutput { + return o +} + +func (o ProjectIpAddressesServicesOutput) ToProjectIpAddressesServicesPtrOutput() ProjectIpAddressesServicesPtrOutput { + return o.ToProjectIpAddressesServicesPtrOutputWithContext(context.Background()) +} + +func (o ProjectIpAddressesServicesOutput) ToProjectIpAddressesServicesPtrOutputWithContext(ctx context.Context) ProjectIpAddressesServicesPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ProjectIpAddressesServices) *ProjectIpAddressesServices { + return &v + }).(ProjectIpAddressesServicesPtrOutput) +} + +func (o ProjectIpAddressesServicesOutput) Clusters() ProjectIpAddressesServicesClusterArrayOutput { + return o.ApplyT(func(v ProjectIpAddressesServices) []ProjectIpAddressesServicesCluster { return v.Clusters }).(ProjectIpAddressesServicesClusterArrayOutput) +} + +type ProjectIpAddressesServicesPtrOutput struct{ *pulumi.OutputState } + +func (ProjectIpAddressesServicesPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ProjectIpAddressesServices)(nil)).Elem() +} + +func (o ProjectIpAddressesServicesPtrOutput) ToProjectIpAddressesServicesPtrOutput() ProjectIpAddressesServicesPtrOutput { + return o +} + +func (o ProjectIpAddressesServicesPtrOutput) ToProjectIpAddressesServicesPtrOutputWithContext(ctx context.Context) ProjectIpAddressesServicesPtrOutput { + return o +} + +func (o ProjectIpAddressesServicesPtrOutput) Elem() ProjectIpAddressesServicesOutput { + return o.ApplyT(func(v *ProjectIpAddressesServices) ProjectIpAddressesServices { + if v != nil { + return *v + } + var ret ProjectIpAddressesServices + return ret + }).(ProjectIpAddressesServicesOutput) +} + +func (o ProjectIpAddressesServicesPtrOutput) Clusters() ProjectIpAddressesServicesClusterArrayOutput { + return o.ApplyT(func(v *ProjectIpAddressesServices) []ProjectIpAddressesServicesCluster { + if v == nil { + return nil + } + return v.Clusters + }).(ProjectIpAddressesServicesClusterArrayOutput) +} + +type ProjectIpAddressesServicesCluster struct { + ClusterName *string `pulumi:"clusterName"` + Inbounds []string `pulumi:"inbounds"` + Outbounds []string `pulumi:"outbounds"` +} + +// ProjectIpAddressesServicesClusterInput is an input type that accepts ProjectIpAddressesServicesClusterArgs and ProjectIpAddressesServicesClusterOutput values. +// You can construct a concrete instance of `ProjectIpAddressesServicesClusterInput` via: +// +// ProjectIpAddressesServicesClusterArgs{...} +type ProjectIpAddressesServicesClusterInput interface { + pulumi.Input + + ToProjectIpAddressesServicesClusterOutput() ProjectIpAddressesServicesClusterOutput + ToProjectIpAddressesServicesClusterOutputWithContext(context.Context) ProjectIpAddressesServicesClusterOutput +} + +type ProjectIpAddressesServicesClusterArgs struct { + ClusterName pulumi.StringPtrInput `pulumi:"clusterName"` + Inbounds pulumi.StringArrayInput `pulumi:"inbounds"` + Outbounds pulumi.StringArrayInput `pulumi:"outbounds"` +} + +func (ProjectIpAddressesServicesClusterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ProjectIpAddressesServicesCluster)(nil)).Elem() +} + +func (i ProjectIpAddressesServicesClusterArgs) ToProjectIpAddressesServicesClusterOutput() ProjectIpAddressesServicesClusterOutput { + return i.ToProjectIpAddressesServicesClusterOutputWithContext(context.Background()) +} + +func (i ProjectIpAddressesServicesClusterArgs) ToProjectIpAddressesServicesClusterOutputWithContext(ctx context.Context) ProjectIpAddressesServicesClusterOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectIpAddressesServicesClusterOutput) +} + +// ProjectIpAddressesServicesClusterArrayInput is an input type that accepts ProjectIpAddressesServicesClusterArray and ProjectIpAddressesServicesClusterArrayOutput values. +// You can construct a concrete instance of `ProjectIpAddressesServicesClusterArrayInput` via: +// +// ProjectIpAddressesServicesClusterArray{ ProjectIpAddressesServicesClusterArgs{...} } +type ProjectIpAddressesServicesClusterArrayInput interface { + pulumi.Input + + ToProjectIpAddressesServicesClusterArrayOutput() ProjectIpAddressesServicesClusterArrayOutput + ToProjectIpAddressesServicesClusterArrayOutputWithContext(context.Context) ProjectIpAddressesServicesClusterArrayOutput +} + +type ProjectIpAddressesServicesClusterArray []ProjectIpAddressesServicesClusterInput + +func (ProjectIpAddressesServicesClusterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ProjectIpAddressesServicesCluster)(nil)).Elem() +} + +func (i ProjectIpAddressesServicesClusterArray) ToProjectIpAddressesServicesClusterArrayOutput() ProjectIpAddressesServicesClusterArrayOutput { + return i.ToProjectIpAddressesServicesClusterArrayOutputWithContext(context.Background()) +} + +func (i ProjectIpAddressesServicesClusterArray) ToProjectIpAddressesServicesClusterArrayOutputWithContext(ctx context.Context) ProjectIpAddressesServicesClusterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProjectIpAddressesServicesClusterArrayOutput) +} + +type ProjectIpAddressesServicesClusterOutput struct{ *pulumi.OutputState } + +func (ProjectIpAddressesServicesClusterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ProjectIpAddressesServicesCluster)(nil)).Elem() +} + +func (o ProjectIpAddressesServicesClusterOutput) ToProjectIpAddressesServicesClusterOutput() ProjectIpAddressesServicesClusterOutput { + return o +} + +func (o ProjectIpAddressesServicesClusterOutput) ToProjectIpAddressesServicesClusterOutputWithContext(ctx context.Context) ProjectIpAddressesServicesClusterOutput { + return o +} + +func (o ProjectIpAddressesServicesClusterOutput) ClusterName() pulumi.StringPtrOutput { + return o.ApplyT(func(v ProjectIpAddressesServicesCluster) *string { return v.ClusterName }).(pulumi.StringPtrOutput) +} + +func (o ProjectIpAddressesServicesClusterOutput) Inbounds() pulumi.StringArrayOutput { + return o.ApplyT(func(v ProjectIpAddressesServicesCluster) []string { return v.Inbounds }).(pulumi.StringArrayOutput) +} + +func (o ProjectIpAddressesServicesClusterOutput) Outbounds() pulumi.StringArrayOutput { + return o.ApplyT(func(v ProjectIpAddressesServicesCluster) []string { return v.Outbounds }).(pulumi.StringArrayOutput) +} + +type ProjectIpAddressesServicesClusterArrayOutput struct{ *pulumi.OutputState } + +func (ProjectIpAddressesServicesClusterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ProjectIpAddressesServicesCluster)(nil)).Elem() +} + +func (o ProjectIpAddressesServicesClusterArrayOutput) ToProjectIpAddressesServicesClusterArrayOutput() ProjectIpAddressesServicesClusterArrayOutput { + return o +} + +func (o ProjectIpAddressesServicesClusterArrayOutput) ToProjectIpAddressesServicesClusterArrayOutputWithContext(ctx context.Context) ProjectIpAddressesServicesClusterArrayOutput { + return o +} + +func (o ProjectIpAddressesServicesClusterArrayOutput) Index(i pulumi.IntInput) ProjectIpAddressesServicesClusterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ProjectIpAddressesServicesCluster { + return vs[0].([]ProjectIpAddressesServicesCluster)[vs[1].(int)] + }).(ProjectIpAddressesServicesClusterOutput) +} + type ProjectLimit struct { CurrentUsage *int `pulumi:"currentUsage"` DefaultLimit *int `pulumi:"defaultLimit"` @@ -15344,7 +15616,7 @@ type SearchIndexSynonym struct { Analyzer string `pulumi:"analyzer"` // The name of the search index you want to create. Name string `pulumi:"name"` - // Name of the source MongoDB collection for the synonyms. Documents in this collection must be in the format described in the [Synonyms Source Collection Documents](https://docs.atlas.mongodb.com/reference/atlas-search/synonyms/#std-label-synonyms-coll-spec). + // (Required) Name of the source MongoDB collection for the synonyms. Documents in this collection must be in the format described in the [Synonyms Source Collection Documents](https://docs.atlas.mongodb.com/reference/atlas-search/synonyms/#std-label-synonyms-coll-spec). SourceCollection string `pulumi:"sourceCollection"` } @@ -15364,7 +15636,7 @@ type SearchIndexSynonymArgs struct { Analyzer pulumi.StringInput `pulumi:"analyzer"` // The name of the search index you want to create. Name pulumi.StringInput `pulumi:"name"` - // Name of the source MongoDB collection for the synonyms. Documents in this collection must be in the format described in the [Synonyms Source Collection Documents](https://docs.atlas.mongodb.com/reference/atlas-search/synonyms/#std-label-synonyms-coll-spec). + // (Required) Name of the source MongoDB collection for the synonyms. Documents in this collection must be in the format described in the [Synonyms Source Collection Documents](https://docs.atlas.mongodb.com/reference/atlas-search/synonyms/#std-label-synonyms-coll-spec). SourceCollection pulumi.StringInput `pulumi:"sourceCollection"` } @@ -15429,7 +15701,7 @@ func (o SearchIndexSynonymOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v SearchIndexSynonym) string { return v.Name }).(pulumi.StringOutput) } -// Name of the source MongoDB collection for the synonyms. Documents in this collection must be in the format described in the [Synonyms Source Collection Documents](https://docs.atlas.mongodb.com/reference/atlas-search/synonyms/#std-label-synonyms-coll-spec). +// (Required) Name of the source MongoDB collection for the synonyms. Documents in this collection must be in the format described in the [Synonyms Source Collection Documents](https://docs.atlas.mongodb.com/reference/atlas-search/synonyms/#std-label-synonyms-coll-spec). func (o SearchIndexSynonymOutput) SourceCollection() pulumi.StringOutput { return o.ApplyT(func(v SearchIndexSynonym) string { return v.SourceCollection }).(pulumi.StringOutput) } @@ -20644,7 +20916,7 @@ type GetAlertConfigurationNotification struct { ChannelName string `pulumi:"channelName"` // Datadog API Key. Found in the Datadog dashboard. Required for the DATADOG notifications type. DatadogApiKey string `pulumi:"datadogApiKey"` - // Region that indicates which API URL to use. Accepted regions are: `US`, `EU`. The default Datadog region is US. + // Region that indicates which API URL to use. See the `datadogRegion` field in the `notifications` request parameter of [MongoDB API Alert Configuration documentation](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/v2/#tag/Alert-Configurations/operation/createAlertConfiguration) for more details. The default Datadog region is US. DatadogRegion string `pulumi:"datadogRegion"` // Number of minutes to wait after an alert condition is detected before sending out the first notification. DelayMin int `pulumi:"delayMin"` @@ -20707,7 +20979,7 @@ type GetAlertConfigurationNotificationArgs struct { ChannelName pulumi.StringInput `pulumi:"channelName"` // Datadog API Key. Found in the Datadog dashboard. Required for the DATADOG notifications type. DatadogApiKey pulumi.StringInput `pulumi:"datadogApiKey"` - // Region that indicates which API URL to use. Accepted regions are: `US`, `EU`. The default Datadog region is US. + // Region that indicates which API URL to use. See the `datadogRegion` field in the `notifications` request parameter of [MongoDB API Alert Configuration documentation](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/v2/#tag/Alert-Configurations/operation/createAlertConfiguration) for more details. The default Datadog region is US. DatadogRegion pulumi.StringInput `pulumi:"datadogRegion"` // Number of minutes to wait after an alert condition is detected before sending out the first notification. DelayMin pulumi.IntInput `pulumi:"delayMin"` @@ -20818,7 +21090,7 @@ func (o GetAlertConfigurationNotificationOutput) DatadogApiKey() pulumi.StringOu return o.ApplyT(func(v GetAlertConfigurationNotification) string { return v.DatadogApiKey }).(pulumi.StringOutput) } -// Region that indicates which API URL to use. Accepted regions are: `US`, `EU`. The default Datadog region is US. +// Region that indicates which API URL to use. See the `datadogRegion` field in the `notifications` request parameter of [MongoDB API Alert Configuration documentation](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/v2/#tag/Alert-Configurations/operation/createAlertConfiguration) for more details. The default Datadog region is US. func (o GetAlertConfigurationNotificationOutput) DatadogRegion() pulumi.StringOutput { return o.ApplyT(func(v GetAlertConfigurationNotification) string { return v.DatadogRegion }).(pulumi.StringOutput) } @@ -21740,7 +22012,7 @@ type GetAlertConfigurationsResultNotification struct { ChannelName string `pulumi:"channelName"` // Datadog API Key. Found in the Datadog dashboard. Required for the DATADOG notifications type. DatadogApiKey string `pulumi:"datadogApiKey"` - // Region that indicates which API URL to use. Accepted regions are: `US`, `EU`. The default Datadog region is US. + // Region that indicates which API URL to use. See the `datadogRegion` field in the `notifications` request parameter of [MongoDB API Alert Configuration documentation](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/v2/#tag/Alert-Configurations/operation/createAlertConfiguration) for more details. The default Datadog region is US. DatadogRegion string `pulumi:"datadogRegion"` // Number of minutes to wait after an alert condition is detected before sending out the first notification. DelayMin int `pulumi:"delayMin"` @@ -21803,7 +22075,7 @@ type GetAlertConfigurationsResultNotificationArgs struct { ChannelName pulumi.StringInput `pulumi:"channelName"` // Datadog API Key. Found in the Datadog dashboard. Required for the DATADOG notifications type. DatadogApiKey pulumi.StringInput `pulumi:"datadogApiKey"` - // Region that indicates which API URL to use. Accepted regions are: `US`, `EU`. The default Datadog region is US. + // Region that indicates which API URL to use. See the `datadogRegion` field in the `notifications` request parameter of [MongoDB API Alert Configuration documentation](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/v2/#tag/Alert-Configurations/operation/createAlertConfiguration) for more details. The default Datadog region is US. DatadogRegion pulumi.StringInput `pulumi:"datadogRegion"` // Number of minutes to wait after an alert condition is detected before sending out the first notification. DelayMin pulumi.IntInput `pulumi:"delayMin"` @@ -21914,7 +22186,7 @@ func (o GetAlertConfigurationsResultNotificationOutput) DatadogApiKey() pulumi.S return o.ApplyT(func(v GetAlertConfigurationsResultNotification) string { return v.DatadogApiKey }).(pulumi.StringOutput) } -// Region that indicates which API URL to use. Accepted regions are: `US`, `EU`. The default Datadog region is US. +// Region that indicates which API URL to use. See the `datadogRegion` field in the `notifications` request parameter of [MongoDB API Alert Configuration documentation](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/v2/#tag/Alert-Configurations/operation/createAlertConfiguration) for more details. The default Datadog region is US. func (o GetAlertConfigurationsResultNotificationOutput) DatadogRegion() pulumi.StringOutput { return o.ApplyT(func(v GetAlertConfigurationsResultNotification) string { return v.DatadogRegion }).(pulumi.StringOutput) } @@ -23072,47 +23344,6 @@ func (i GetBackupCompliancePolicyOnDemandPolicyItemArgs) ToGetBackupCompliancePo return pulumi.ToOutputWithContext(ctx, i).(GetBackupCompliancePolicyOnDemandPolicyItemOutput) } -func (i GetBackupCompliancePolicyOnDemandPolicyItemArgs) ToGetBackupCompliancePolicyOnDemandPolicyItemPtrOutput() GetBackupCompliancePolicyOnDemandPolicyItemPtrOutput { - return i.ToGetBackupCompliancePolicyOnDemandPolicyItemPtrOutputWithContext(context.Background()) -} - -func (i GetBackupCompliancePolicyOnDemandPolicyItemArgs) ToGetBackupCompliancePolicyOnDemandPolicyItemPtrOutputWithContext(ctx context.Context) GetBackupCompliancePolicyOnDemandPolicyItemPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetBackupCompliancePolicyOnDemandPolicyItemOutput).ToGetBackupCompliancePolicyOnDemandPolicyItemPtrOutputWithContext(ctx) -} - -// GetBackupCompliancePolicyOnDemandPolicyItemPtrInput is an input type that accepts GetBackupCompliancePolicyOnDemandPolicyItemArgs, GetBackupCompliancePolicyOnDemandPolicyItemPtr and GetBackupCompliancePolicyOnDemandPolicyItemPtrOutput values. -// You can construct a concrete instance of `GetBackupCompliancePolicyOnDemandPolicyItemPtrInput` via: -// -// GetBackupCompliancePolicyOnDemandPolicyItemArgs{...} -// -// or: -// -// nil -type GetBackupCompliancePolicyOnDemandPolicyItemPtrInput interface { - pulumi.Input - - ToGetBackupCompliancePolicyOnDemandPolicyItemPtrOutput() GetBackupCompliancePolicyOnDemandPolicyItemPtrOutput - ToGetBackupCompliancePolicyOnDemandPolicyItemPtrOutputWithContext(context.Context) GetBackupCompliancePolicyOnDemandPolicyItemPtrOutput -} - -type getBackupCompliancePolicyOnDemandPolicyItemPtrType GetBackupCompliancePolicyOnDemandPolicyItemArgs - -func GetBackupCompliancePolicyOnDemandPolicyItemPtr(v *GetBackupCompliancePolicyOnDemandPolicyItemArgs) GetBackupCompliancePolicyOnDemandPolicyItemPtrInput { - return (*getBackupCompliancePolicyOnDemandPolicyItemPtrType)(v) -} - -func (*getBackupCompliancePolicyOnDemandPolicyItemPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**GetBackupCompliancePolicyOnDemandPolicyItem)(nil)).Elem() -} - -func (i *getBackupCompliancePolicyOnDemandPolicyItemPtrType) ToGetBackupCompliancePolicyOnDemandPolicyItemPtrOutput() GetBackupCompliancePolicyOnDemandPolicyItemPtrOutput { - return i.ToGetBackupCompliancePolicyOnDemandPolicyItemPtrOutputWithContext(context.Background()) -} - -func (i *getBackupCompliancePolicyOnDemandPolicyItemPtrType) ToGetBackupCompliancePolicyOnDemandPolicyItemPtrOutputWithContext(ctx context.Context) GetBackupCompliancePolicyOnDemandPolicyItemPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetBackupCompliancePolicyOnDemandPolicyItemPtrOutput) -} - type GetBackupCompliancePolicyOnDemandPolicyItemOutput struct{ *pulumi.OutputState } func (GetBackupCompliancePolicyOnDemandPolicyItemOutput) ElementType() reflect.Type { @@ -23127,16 +23358,6 @@ func (o GetBackupCompliancePolicyOnDemandPolicyItemOutput) ToGetBackupCompliance return o } -func (o GetBackupCompliancePolicyOnDemandPolicyItemOutput) ToGetBackupCompliancePolicyOnDemandPolicyItemPtrOutput() GetBackupCompliancePolicyOnDemandPolicyItemPtrOutput { - return o.ToGetBackupCompliancePolicyOnDemandPolicyItemPtrOutputWithContext(context.Background()) -} - -func (o GetBackupCompliancePolicyOnDemandPolicyItemOutput) ToGetBackupCompliancePolicyOnDemandPolicyItemPtrOutputWithContext(ctx context.Context) GetBackupCompliancePolicyOnDemandPolicyItemPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v GetBackupCompliancePolicyOnDemandPolicyItem) *GetBackupCompliancePolicyOnDemandPolicyItem { - return &v - }).(GetBackupCompliancePolicyOnDemandPolicyItemPtrOutput) -} - // Desired frequency of the new backup policy item specified by `frequencyType` (monthly in this case). The supported values for weekly policies are func (o GetBackupCompliancePolicyOnDemandPolicyItemOutput) FrequencyInterval() pulumi.IntOutput { return o.ApplyT(func(v GetBackupCompliancePolicyOnDemandPolicyItem) int { return v.FrequencyInterval }).(pulumi.IntOutput) @@ -23162,80 +23383,6 @@ func (o GetBackupCompliancePolicyOnDemandPolicyItemOutput) RetentionValue() pulu return o.ApplyT(func(v GetBackupCompliancePolicyOnDemandPolicyItem) int { return v.RetentionValue }).(pulumi.IntOutput) } -type GetBackupCompliancePolicyOnDemandPolicyItemPtrOutput struct{ *pulumi.OutputState } - -func (GetBackupCompliancePolicyOnDemandPolicyItemPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**GetBackupCompliancePolicyOnDemandPolicyItem)(nil)).Elem() -} - -func (o GetBackupCompliancePolicyOnDemandPolicyItemPtrOutput) ToGetBackupCompliancePolicyOnDemandPolicyItemPtrOutput() GetBackupCompliancePolicyOnDemandPolicyItemPtrOutput { - return o -} - -func (o GetBackupCompliancePolicyOnDemandPolicyItemPtrOutput) ToGetBackupCompliancePolicyOnDemandPolicyItemPtrOutputWithContext(ctx context.Context) GetBackupCompliancePolicyOnDemandPolicyItemPtrOutput { - return o -} - -func (o GetBackupCompliancePolicyOnDemandPolicyItemPtrOutput) Elem() GetBackupCompliancePolicyOnDemandPolicyItemOutput { - return o.ApplyT(func(v *GetBackupCompliancePolicyOnDemandPolicyItem) GetBackupCompliancePolicyOnDemandPolicyItem { - if v != nil { - return *v - } - var ret GetBackupCompliancePolicyOnDemandPolicyItem - return ret - }).(GetBackupCompliancePolicyOnDemandPolicyItemOutput) -} - -// Desired frequency of the new backup policy item specified by `frequencyType` (monthly in this case). The supported values for weekly policies are -func (o GetBackupCompliancePolicyOnDemandPolicyItemPtrOutput) FrequencyInterval() pulumi.IntPtrOutput { - return o.ApplyT(func(v *GetBackupCompliancePolicyOnDemandPolicyItem) *int { - if v == nil { - return nil - } - return &v.FrequencyInterval - }).(pulumi.IntPtrOutput) -} - -// Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. -func (o GetBackupCompliancePolicyOnDemandPolicyItemPtrOutput) FrequencyType() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetBackupCompliancePolicyOnDemandPolicyItem) *string { - if v == nil { - return nil - } - return &v.FrequencyType - }).(pulumi.StringPtrOutput) -} - -// Unique identifier of the backup policy item. -func (o GetBackupCompliancePolicyOnDemandPolicyItemPtrOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetBackupCompliancePolicyOnDemandPolicyItem) *string { - if v == nil { - return nil - } - return &v.Id - }).(pulumi.StringPtrOutput) -} - -// Scope of the backup policy item: `days`, `weeks`, or `months`. -func (o GetBackupCompliancePolicyOnDemandPolicyItemPtrOutput) RetentionUnit() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetBackupCompliancePolicyOnDemandPolicyItem) *string { - if v == nil { - return nil - } - return &v.RetentionUnit - }).(pulumi.StringPtrOutput) -} - -// Value to associate with `retentionUnit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. -func (o GetBackupCompliancePolicyOnDemandPolicyItemPtrOutput) RetentionValue() pulumi.IntPtrOutput { - return o.ApplyT(func(v *GetBackupCompliancePolicyOnDemandPolicyItem) *int { - if v == nil { - return nil - } - return &v.RetentionValue - }).(pulumi.IntPtrOutput) -} - type GetBackupCompliancePolicyPolicyItemDaily struct { // Desired frequency of the new backup policy item specified by `frequencyType` (monthly in this case). The supported values for weekly policies are FrequencyInterval int `pulumi:"frequencyInterval"` @@ -23285,47 +23432,6 @@ func (i GetBackupCompliancePolicyPolicyItemDailyArgs) ToGetBackupCompliancePolic return pulumi.ToOutputWithContext(ctx, i).(GetBackupCompliancePolicyPolicyItemDailyOutput) } -func (i GetBackupCompliancePolicyPolicyItemDailyArgs) ToGetBackupCompliancePolicyPolicyItemDailyPtrOutput() GetBackupCompliancePolicyPolicyItemDailyPtrOutput { - return i.ToGetBackupCompliancePolicyPolicyItemDailyPtrOutputWithContext(context.Background()) -} - -func (i GetBackupCompliancePolicyPolicyItemDailyArgs) ToGetBackupCompliancePolicyPolicyItemDailyPtrOutputWithContext(ctx context.Context) GetBackupCompliancePolicyPolicyItemDailyPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetBackupCompliancePolicyPolicyItemDailyOutput).ToGetBackupCompliancePolicyPolicyItemDailyPtrOutputWithContext(ctx) -} - -// GetBackupCompliancePolicyPolicyItemDailyPtrInput is an input type that accepts GetBackupCompliancePolicyPolicyItemDailyArgs, GetBackupCompliancePolicyPolicyItemDailyPtr and GetBackupCompliancePolicyPolicyItemDailyPtrOutput values. -// You can construct a concrete instance of `GetBackupCompliancePolicyPolicyItemDailyPtrInput` via: -// -// GetBackupCompliancePolicyPolicyItemDailyArgs{...} -// -// or: -// -// nil -type GetBackupCompliancePolicyPolicyItemDailyPtrInput interface { - pulumi.Input - - ToGetBackupCompliancePolicyPolicyItemDailyPtrOutput() GetBackupCompliancePolicyPolicyItemDailyPtrOutput - ToGetBackupCompliancePolicyPolicyItemDailyPtrOutputWithContext(context.Context) GetBackupCompliancePolicyPolicyItemDailyPtrOutput -} - -type getBackupCompliancePolicyPolicyItemDailyPtrType GetBackupCompliancePolicyPolicyItemDailyArgs - -func GetBackupCompliancePolicyPolicyItemDailyPtr(v *GetBackupCompliancePolicyPolicyItemDailyArgs) GetBackupCompliancePolicyPolicyItemDailyPtrInput { - return (*getBackupCompliancePolicyPolicyItemDailyPtrType)(v) -} - -func (*getBackupCompliancePolicyPolicyItemDailyPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**GetBackupCompliancePolicyPolicyItemDaily)(nil)).Elem() -} - -func (i *getBackupCompliancePolicyPolicyItemDailyPtrType) ToGetBackupCompliancePolicyPolicyItemDailyPtrOutput() GetBackupCompliancePolicyPolicyItemDailyPtrOutput { - return i.ToGetBackupCompliancePolicyPolicyItemDailyPtrOutputWithContext(context.Background()) -} - -func (i *getBackupCompliancePolicyPolicyItemDailyPtrType) ToGetBackupCompliancePolicyPolicyItemDailyPtrOutputWithContext(ctx context.Context) GetBackupCompliancePolicyPolicyItemDailyPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetBackupCompliancePolicyPolicyItemDailyPtrOutput) -} - type GetBackupCompliancePolicyPolicyItemDailyOutput struct{ *pulumi.OutputState } func (GetBackupCompliancePolicyPolicyItemDailyOutput) ElementType() reflect.Type { @@ -23340,16 +23446,6 @@ func (o GetBackupCompliancePolicyPolicyItemDailyOutput) ToGetBackupCompliancePol return o } -func (o GetBackupCompliancePolicyPolicyItemDailyOutput) ToGetBackupCompliancePolicyPolicyItemDailyPtrOutput() GetBackupCompliancePolicyPolicyItemDailyPtrOutput { - return o.ToGetBackupCompliancePolicyPolicyItemDailyPtrOutputWithContext(context.Background()) -} - -func (o GetBackupCompliancePolicyPolicyItemDailyOutput) ToGetBackupCompliancePolicyPolicyItemDailyPtrOutputWithContext(ctx context.Context) GetBackupCompliancePolicyPolicyItemDailyPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v GetBackupCompliancePolicyPolicyItemDaily) *GetBackupCompliancePolicyPolicyItemDaily { - return &v - }).(GetBackupCompliancePolicyPolicyItemDailyPtrOutput) -} - // Desired frequency of the new backup policy item specified by `frequencyType` (monthly in this case). The supported values for weekly policies are func (o GetBackupCompliancePolicyPolicyItemDailyOutput) FrequencyInterval() pulumi.IntOutput { return o.ApplyT(func(v GetBackupCompliancePolicyPolicyItemDaily) int { return v.FrequencyInterval }).(pulumi.IntOutput) @@ -23375,80 +23471,6 @@ func (o GetBackupCompliancePolicyPolicyItemDailyOutput) RetentionValue() pulumi. return o.ApplyT(func(v GetBackupCompliancePolicyPolicyItemDaily) int { return v.RetentionValue }).(pulumi.IntOutput) } -type GetBackupCompliancePolicyPolicyItemDailyPtrOutput struct{ *pulumi.OutputState } - -func (GetBackupCompliancePolicyPolicyItemDailyPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**GetBackupCompliancePolicyPolicyItemDaily)(nil)).Elem() -} - -func (o GetBackupCompliancePolicyPolicyItemDailyPtrOutput) ToGetBackupCompliancePolicyPolicyItemDailyPtrOutput() GetBackupCompliancePolicyPolicyItemDailyPtrOutput { - return o -} - -func (o GetBackupCompliancePolicyPolicyItemDailyPtrOutput) ToGetBackupCompliancePolicyPolicyItemDailyPtrOutputWithContext(ctx context.Context) GetBackupCompliancePolicyPolicyItemDailyPtrOutput { - return o -} - -func (o GetBackupCompliancePolicyPolicyItemDailyPtrOutput) Elem() GetBackupCompliancePolicyPolicyItemDailyOutput { - return o.ApplyT(func(v *GetBackupCompliancePolicyPolicyItemDaily) GetBackupCompliancePolicyPolicyItemDaily { - if v != nil { - return *v - } - var ret GetBackupCompliancePolicyPolicyItemDaily - return ret - }).(GetBackupCompliancePolicyPolicyItemDailyOutput) -} - -// Desired frequency of the new backup policy item specified by `frequencyType` (monthly in this case). The supported values for weekly policies are -func (o GetBackupCompliancePolicyPolicyItemDailyPtrOutput) FrequencyInterval() pulumi.IntPtrOutput { - return o.ApplyT(func(v *GetBackupCompliancePolicyPolicyItemDaily) *int { - if v == nil { - return nil - } - return &v.FrequencyInterval - }).(pulumi.IntPtrOutput) -} - -// Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. -func (o GetBackupCompliancePolicyPolicyItemDailyPtrOutput) FrequencyType() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetBackupCompliancePolicyPolicyItemDaily) *string { - if v == nil { - return nil - } - return &v.FrequencyType - }).(pulumi.StringPtrOutput) -} - -// Unique identifier of the backup policy item. -func (o GetBackupCompliancePolicyPolicyItemDailyPtrOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetBackupCompliancePolicyPolicyItemDaily) *string { - if v == nil { - return nil - } - return &v.Id - }).(pulumi.StringPtrOutput) -} - -// Scope of the backup policy item: `days`, `weeks`, or `months`. -func (o GetBackupCompliancePolicyPolicyItemDailyPtrOutput) RetentionUnit() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetBackupCompliancePolicyPolicyItemDaily) *string { - if v == nil { - return nil - } - return &v.RetentionUnit - }).(pulumi.StringPtrOutput) -} - -// Value to associate with `retentionUnit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. -func (o GetBackupCompliancePolicyPolicyItemDailyPtrOutput) RetentionValue() pulumi.IntPtrOutput { - return o.ApplyT(func(v *GetBackupCompliancePolicyPolicyItemDaily) *int { - if v == nil { - return nil - } - return &v.RetentionValue - }).(pulumi.IntPtrOutput) -} - type GetBackupCompliancePolicyPolicyItemHourly struct { // Desired frequency of the new backup policy item specified by `frequencyType` (monthly in this case). The supported values for weekly policies are FrequencyInterval int `pulumi:"frequencyInterval"` @@ -23498,47 +23520,6 @@ func (i GetBackupCompliancePolicyPolicyItemHourlyArgs) ToGetBackupCompliancePoli return pulumi.ToOutputWithContext(ctx, i).(GetBackupCompliancePolicyPolicyItemHourlyOutput) } -func (i GetBackupCompliancePolicyPolicyItemHourlyArgs) ToGetBackupCompliancePolicyPolicyItemHourlyPtrOutput() GetBackupCompliancePolicyPolicyItemHourlyPtrOutput { - return i.ToGetBackupCompliancePolicyPolicyItemHourlyPtrOutputWithContext(context.Background()) -} - -func (i GetBackupCompliancePolicyPolicyItemHourlyArgs) ToGetBackupCompliancePolicyPolicyItemHourlyPtrOutputWithContext(ctx context.Context) GetBackupCompliancePolicyPolicyItemHourlyPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetBackupCompliancePolicyPolicyItemHourlyOutput).ToGetBackupCompliancePolicyPolicyItemHourlyPtrOutputWithContext(ctx) -} - -// GetBackupCompliancePolicyPolicyItemHourlyPtrInput is an input type that accepts GetBackupCompliancePolicyPolicyItemHourlyArgs, GetBackupCompliancePolicyPolicyItemHourlyPtr and GetBackupCompliancePolicyPolicyItemHourlyPtrOutput values. -// You can construct a concrete instance of `GetBackupCompliancePolicyPolicyItemHourlyPtrInput` via: -// -// GetBackupCompliancePolicyPolicyItemHourlyArgs{...} -// -// or: -// -// nil -type GetBackupCompliancePolicyPolicyItemHourlyPtrInput interface { - pulumi.Input - - ToGetBackupCompliancePolicyPolicyItemHourlyPtrOutput() GetBackupCompliancePolicyPolicyItemHourlyPtrOutput - ToGetBackupCompliancePolicyPolicyItemHourlyPtrOutputWithContext(context.Context) GetBackupCompliancePolicyPolicyItemHourlyPtrOutput -} - -type getBackupCompliancePolicyPolicyItemHourlyPtrType GetBackupCompliancePolicyPolicyItemHourlyArgs - -func GetBackupCompliancePolicyPolicyItemHourlyPtr(v *GetBackupCompliancePolicyPolicyItemHourlyArgs) GetBackupCompliancePolicyPolicyItemHourlyPtrInput { - return (*getBackupCompliancePolicyPolicyItemHourlyPtrType)(v) -} - -func (*getBackupCompliancePolicyPolicyItemHourlyPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**GetBackupCompliancePolicyPolicyItemHourly)(nil)).Elem() -} - -func (i *getBackupCompliancePolicyPolicyItemHourlyPtrType) ToGetBackupCompliancePolicyPolicyItemHourlyPtrOutput() GetBackupCompliancePolicyPolicyItemHourlyPtrOutput { - return i.ToGetBackupCompliancePolicyPolicyItemHourlyPtrOutputWithContext(context.Background()) -} - -func (i *getBackupCompliancePolicyPolicyItemHourlyPtrType) ToGetBackupCompliancePolicyPolicyItemHourlyPtrOutputWithContext(ctx context.Context) GetBackupCompliancePolicyPolicyItemHourlyPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetBackupCompliancePolicyPolicyItemHourlyPtrOutput) -} - type GetBackupCompliancePolicyPolicyItemHourlyOutput struct{ *pulumi.OutputState } func (GetBackupCompliancePolicyPolicyItemHourlyOutput) ElementType() reflect.Type { @@ -23553,16 +23534,6 @@ func (o GetBackupCompliancePolicyPolicyItemHourlyOutput) ToGetBackupCompliancePo return o } -func (o GetBackupCompliancePolicyPolicyItemHourlyOutput) ToGetBackupCompliancePolicyPolicyItemHourlyPtrOutput() GetBackupCompliancePolicyPolicyItemHourlyPtrOutput { - return o.ToGetBackupCompliancePolicyPolicyItemHourlyPtrOutputWithContext(context.Background()) -} - -func (o GetBackupCompliancePolicyPolicyItemHourlyOutput) ToGetBackupCompliancePolicyPolicyItemHourlyPtrOutputWithContext(ctx context.Context) GetBackupCompliancePolicyPolicyItemHourlyPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v GetBackupCompliancePolicyPolicyItemHourly) *GetBackupCompliancePolicyPolicyItemHourly { - return &v - }).(GetBackupCompliancePolicyPolicyItemHourlyPtrOutput) -} - // Desired frequency of the new backup policy item specified by `frequencyType` (monthly in this case). The supported values for weekly policies are func (o GetBackupCompliancePolicyPolicyItemHourlyOutput) FrequencyInterval() pulumi.IntOutput { return o.ApplyT(func(v GetBackupCompliancePolicyPolicyItemHourly) int { return v.FrequencyInterval }).(pulumi.IntOutput) @@ -23588,80 +23559,6 @@ func (o GetBackupCompliancePolicyPolicyItemHourlyOutput) RetentionValue() pulumi return o.ApplyT(func(v GetBackupCompliancePolicyPolicyItemHourly) int { return v.RetentionValue }).(pulumi.IntOutput) } -type GetBackupCompliancePolicyPolicyItemHourlyPtrOutput struct{ *pulumi.OutputState } - -func (GetBackupCompliancePolicyPolicyItemHourlyPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**GetBackupCompliancePolicyPolicyItemHourly)(nil)).Elem() -} - -func (o GetBackupCompliancePolicyPolicyItemHourlyPtrOutput) ToGetBackupCompliancePolicyPolicyItemHourlyPtrOutput() GetBackupCompliancePolicyPolicyItemHourlyPtrOutput { - return o -} - -func (o GetBackupCompliancePolicyPolicyItemHourlyPtrOutput) ToGetBackupCompliancePolicyPolicyItemHourlyPtrOutputWithContext(ctx context.Context) GetBackupCompliancePolicyPolicyItemHourlyPtrOutput { - return o -} - -func (o GetBackupCompliancePolicyPolicyItemHourlyPtrOutput) Elem() GetBackupCompliancePolicyPolicyItemHourlyOutput { - return o.ApplyT(func(v *GetBackupCompliancePolicyPolicyItemHourly) GetBackupCompliancePolicyPolicyItemHourly { - if v != nil { - return *v - } - var ret GetBackupCompliancePolicyPolicyItemHourly - return ret - }).(GetBackupCompliancePolicyPolicyItemHourlyOutput) -} - -// Desired frequency of the new backup policy item specified by `frequencyType` (monthly in this case). The supported values for weekly policies are -func (o GetBackupCompliancePolicyPolicyItemHourlyPtrOutput) FrequencyInterval() pulumi.IntPtrOutput { - return o.ApplyT(func(v *GetBackupCompliancePolicyPolicyItemHourly) *int { - if v == nil { - return nil - } - return &v.FrequencyInterval - }).(pulumi.IntPtrOutput) -} - -// Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. -func (o GetBackupCompliancePolicyPolicyItemHourlyPtrOutput) FrequencyType() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetBackupCompliancePolicyPolicyItemHourly) *string { - if v == nil { - return nil - } - return &v.FrequencyType - }).(pulumi.StringPtrOutput) -} - -// Unique identifier of the backup policy item. -func (o GetBackupCompliancePolicyPolicyItemHourlyPtrOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetBackupCompliancePolicyPolicyItemHourly) *string { - if v == nil { - return nil - } - return &v.Id - }).(pulumi.StringPtrOutput) -} - -// Scope of the backup policy item: `days`, `weeks`, or `months`. -func (o GetBackupCompliancePolicyPolicyItemHourlyPtrOutput) RetentionUnit() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetBackupCompliancePolicyPolicyItemHourly) *string { - if v == nil { - return nil - } - return &v.RetentionUnit - }).(pulumi.StringPtrOutput) -} - -// Value to associate with `retentionUnit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. -func (o GetBackupCompliancePolicyPolicyItemHourlyPtrOutput) RetentionValue() pulumi.IntPtrOutput { - return o.ApplyT(func(v *GetBackupCompliancePolicyPolicyItemHourly) *int { - if v == nil { - return nil - } - return &v.RetentionValue - }).(pulumi.IntPtrOutput) -} - type GetBackupCompliancePolicyPolicyItemMonthly struct { // Desired frequency of the new backup policy item specified by `frequencyType` (monthly in this case). The supported values for weekly policies are FrequencyInterval int `pulumi:"frequencyInterval"` @@ -26099,268 +25996,6 @@ func (o GetCloudBackupSnapshotsResultMemberArrayOutput) Index(i pulumi.IntInput) }).(GetCloudBackupSnapshotsResultMemberOutput) } -type GetCloudProviderAccessAwsIamRole struct { - // Unique external ID Atlas uses when assuming the IAM role in your AWS account. - AtlasAssumedRoleExternalId string `pulumi:"atlasAssumedRoleExternalId"` - // ARN associated with the Atlas AWS account used to assume IAM roles in your AWS account. - AtlasAwsAccountArn string `pulumi:"atlasAwsAccountArn"` - // Date on which this role was authorized. - AuthorizedDate string `pulumi:"authorizedDate"` - // Date on which this role was created. - CreatedDate string `pulumi:"createdDate"` - // Atlas features this AWS IAM role is linked to. - FeatureUsages []GetCloudProviderAccessAwsIamRoleFeatureUsage `pulumi:"featureUsages"` - // ARN of the IAM Role that Atlas assumes when accessing resources in your AWS account. - IamAssumedRoleArn string `pulumi:"iamAssumedRoleArn"` - // Name of the cloud provider. Currently limited to AWS. - ProviderName string `pulumi:"providerName"` - // Unique ID of this role. - RoleId string `pulumi:"roleId"` -} - -// GetCloudProviderAccessAwsIamRoleInput is an input type that accepts GetCloudProviderAccessAwsIamRoleArgs and GetCloudProviderAccessAwsIamRoleOutput values. -// You can construct a concrete instance of `GetCloudProviderAccessAwsIamRoleInput` via: -// -// GetCloudProviderAccessAwsIamRoleArgs{...} -type GetCloudProviderAccessAwsIamRoleInput interface { - pulumi.Input - - ToGetCloudProviderAccessAwsIamRoleOutput() GetCloudProviderAccessAwsIamRoleOutput - ToGetCloudProviderAccessAwsIamRoleOutputWithContext(context.Context) GetCloudProviderAccessAwsIamRoleOutput -} - -type GetCloudProviderAccessAwsIamRoleArgs struct { - // Unique external ID Atlas uses when assuming the IAM role in your AWS account. - AtlasAssumedRoleExternalId pulumi.StringInput `pulumi:"atlasAssumedRoleExternalId"` - // ARN associated with the Atlas AWS account used to assume IAM roles in your AWS account. - AtlasAwsAccountArn pulumi.StringInput `pulumi:"atlasAwsAccountArn"` - // Date on which this role was authorized. - AuthorizedDate pulumi.StringInput `pulumi:"authorizedDate"` - // Date on which this role was created. - CreatedDate pulumi.StringInput `pulumi:"createdDate"` - // Atlas features this AWS IAM role is linked to. - FeatureUsages GetCloudProviderAccessAwsIamRoleFeatureUsageArrayInput `pulumi:"featureUsages"` - // ARN of the IAM Role that Atlas assumes when accessing resources in your AWS account. - IamAssumedRoleArn pulumi.StringInput `pulumi:"iamAssumedRoleArn"` - // Name of the cloud provider. Currently limited to AWS. - ProviderName pulumi.StringInput `pulumi:"providerName"` - // Unique ID of this role. - RoleId pulumi.StringInput `pulumi:"roleId"` -} - -func (GetCloudProviderAccessAwsIamRoleArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetCloudProviderAccessAwsIamRole)(nil)).Elem() -} - -func (i GetCloudProviderAccessAwsIamRoleArgs) ToGetCloudProviderAccessAwsIamRoleOutput() GetCloudProviderAccessAwsIamRoleOutput { - return i.ToGetCloudProviderAccessAwsIamRoleOutputWithContext(context.Background()) -} - -func (i GetCloudProviderAccessAwsIamRoleArgs) ToGetCloudProviderAccessAwsIamRoleOutputWithContext(ctx context.Context) GetCloudProviderAccessAwsIamRoleOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCloudProviderAccessAwsIamRoleOutput) -} - -// GetCloudProviderAccessAwsIamRoleArrayInput is an input type that accepts GetCloudProviderAccessAwsIamRoleArray and GetCloudProviderAccessAwsIamRoleArrayOutput values. -// You can construct a concrete instance of `GetCloudProviderAccessAwsIamRoleArrayInput` via: -// -// GetCloudProviderAccessAwsIamRoleArray{ GetCloudProviderAccessAwsIamRoleArgs{...} } -type GetCloudProviderAccessAwsIamRoleArrayInput interface { - pulumi.Input - - ToGetCloudProviderAccessAwsIamRoleArrayOutput() GetCloudProviderAccessAwsIamRoleArrayOutput - ToGetCloudProviderAccessAwsIamRoleArrayOutputWithContext(context.Context) GetCloudProviderAccessAwsIamRoleArrayOutput -} - -type GetCloudProviderAccessAwsIamRoleArray []GetCloudProviderAccessAwsIamRoleInput - -func (GetCloudProviderAccessAwsIamRoleArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetCloudProviderAccessAwsIamRole)(nil)).Elem() -} - -func (i GetCloudProviderAccessAwsIamRoleArray) ToGetCloudProviderAccessAwsIamRoleArrayOutput() GetCloudProviderAccessAwsIamRoleArrayOutput { - return i.ToGetCloudProviderAccessAwsIamRoleArrayOutputWithContext(context.Background()) -} - -func (i GetCloudProviderAccessAwsIamRoleArray) ToGetCloudProviderAccessAwsIamRoleArrayOutputWithContext(ctx context.Context) GetCloudProviderAccessAwsIamRoleArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCloudProviderAccessAwsIamRoleArrayOutput) -} - -type GetCloudProviderAccessAwsIamRoleOutput struct{ *pulumi.OutputState } - -func (GetCloudProviderAccessAwsIamRoleOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetCloudProviderAccessAwsIamRole)(nil)).Elem() -} - -func (o GetCloudProviderAccessAwsIamRoleOutput) ToGetCloudProviderAccessAwsIamRoleOutput() GetCloudProviderAccessAwsIamRoleOutput { - return o -} - -func (o GetCloudProviderAccessAwsIamRoleOutput) ToGetCloudProviderAccessAwsIamRoleOutputWithContext(ctx context.Context) GetCloudProviderAccessAwsIamRoleOutput { - return o -} - -// Unique external ID Atlas uses when assuming the IAM role in your AWS account. -func (o GetCloudProviderAccessAwsIamRoleOutput) AtlasAssumedRoleExternalId() pulumi.StringOutput { - return o.ApplyT(func(v GetCloudProviderAccessAwsIamRole) string { return v.AtlasAssumedRoleExternalId }).(pulumi.StringOutput) -} - -// ARN associated with the Atlas AWS account used to assume IAM roles in your AWS account. -func (o GetCloudProviderAccessAwsIamRoleOutput) AtlasAwsAccountArn() pulumi.StringOutput { - return o.ApplyT(func(v GetCloudProviderAccessAwsIamRole) string { return v.AtlasAwsAccountArn }).(pulumi.StringOutput) -} - -// Date on which this role was authorized. -func (o GetCloudProviderAccessAwsIamRoleOutput) AuthorizedDate() pulumi.StringOutput { - return o.ApplyT(func(v GetCloudProviderAccessAwsIamRole) string { return v.AuthorizedDate }).(pulumi.StringOutput) -} - -// Date on which this role was created. -func (o GetCloudProviderAccessAwsIamRoleOutput) CreatedDate() pulumi.StringOutput { - return o.ApplyT(func(v GetCloudProviderAccessAwsIamRole) string { return v.CreatedDate }).(pulumi.StringOutput) -} - -// Atlas features this AWS IAM role is linked to. -func (o GetCloudProviderAccessAwsIamRoleOutput) FeatureUsages() GetCloudProviderAccessAwsIamRoleFeatureUsageArrayOutput { - return o.ApplyT(func(v GetCloudProviderAccessAwsIamRole) []GetCloudProviderAccessAwsIamRoleFeatureUsage { - return v.FeatureUsages - }).(GetCloudProviderAccessAwsIamRoleFeatureUsageArrayOutput) -} - -// ARN of the IAM Role that Atlas assumes when accessing resources in your AWS account. -func (o GetCloudProviderAccessAwsIamRoleOutput) IamAssumedRoleArn() pulumi.StringOutput { - return o.ApplyT(func(v GetCloudProviderAccessAwsIamRole) string { return v.IamAssumedRoleArn }).(pulumi.StringOutput) -} - -// Name of the cloud provider. Currently limited to AWS. -func (o GetCloudProviderAccessAwsIamRoleOutput) ProviderName() pulumi.StringOutput { - return o.ApplyT(func(v GetCloudProviderAccessAwsIamRole) string { return v.ProviderName }).(pulumi.StringOutput) -} - -// Unique ID of this role. -func (o GetCloudProviderAccessAwsIamRoleOutput) RoleId() pulumi.StringOutput { - return o.ApplyT(func(v GetCloudProviderAccessAwsIamRole) string { return v.RoleId }).(pulumi.StringOutput) -} - -type GetCloudProviderAccessAwsIamRoleArrayOutput struct{ *pulumi.OutputState } - -func (GetCloudProviderAccessAwsIamRoleArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetCloudProviderAccessAwsIamRole)(nil)).Elem() -} - -func (o GetCloudProviderAccessAwsIamRoleArrayOutput) ToGetCloudProviderAccessAwsIamRoleArrayOutput() GetCloudProviderAccessAwsIamRoleArrayOutput { - return o -} - -func (o GetCloudProviderAccessAwsIamRoleArrayOutput) ToGetCloudProviderAccessAwsIamRoleArrayOutputWithContext(ctx context.Context) GetCloudProviderAccessAwsIamRoleArrayOutput { - return o -} - -func (o GetCloudProviderAccessAwsIamRoleArrayOutput) Index(i pulumi.IntInput) GetCloudProviderAccessAwsIamRoleOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCloudProviderAccessAwsIamRole { - return vs[0].([]GetCloudProviderAccessAwsIamRole)[vs[1].(int)] - }).(GetCloudProviderAccessAwsIamRoleOutput) -} - -type GetCloudProviderAccessAwsIamRoleFeatureUsage struct { - FeatureId map[string]interface{} `pulumi:"featureId"` - FeatureType string `pulumi:"featureType"` -} - -// GetCloudProviderAccessAwsIamRoleFeatureUsageInput is an input type that accepts GetCloudProviderAccessAwsIamRoleFeatureUsageArgs and GetCloudProviderAccessAwsIamRoleFeatureUsageOutput values. -// You can construct a concrete instance of `GetCloudProviderAccessAwsIamRoleFeatureUsageInput` via: -// -// GetCloudProviderAccessAwsIamRoleFeatureUsageArgs{...} -type GetCloudProviderAccessAwsIamRoleFeatureUsageInput interface { - pulumi.Input - - ToGetCloudProviderAccessAwsIamRoleFeatureUsageOutput() GetCloudProviderAccessAwsIamRoleFeatureUsageOutput - ToGetCloudProviderAccessAwsIamRoleFeatureUsageOutputWithContext(context.Context) GetCloudProviderAccessAwsIamRoleFeatureUsageOutput -} - -type GetCloudProviderAccessAwsIamRoleFeatureUsageArgs struct { - FeatureId pulumi.MapInput `pulumi:"featureId"` - FeatureType pulumi.StringInput `pulumi:"featureType"` -} - -func (GetCloudProviderAccessAwsIamRoleFeatureUsageArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetCloudProviderAccessAwsIamRoleFeatureUsage)(nil)).Elem() -} - -func (i GetCloudProviderAccessAwsIamRoleFeatureUsageArgs) ToGetCloudProviderAccessAwsIamRoleFeatureUsageOutput() GetCloudProviderAccessAwsIamRoleFeatureUsageOutput { - return i.ToGetCloudProviderAccessAwsIamRoleFeatureUsageOutputWithContext(context.Background()) -} - -func (i GetCloudProviderAccessAwsIamRoleFeatureUsageArgs) ToGetCloudProviderAccessAwsIamRoleFeatureUsageOutputWithContext(ctx context.Context) GetCloudProviderAccessAwsIamRoleFeatureUsageOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCloudProviderAccessAwsIamRoleFeatureUsageOutput) -} - -// GetCloudProviderAccessAwsIamRoleFeatureUsageArrayInput is an input type that accepts GetCloudProviderAccessAwsIamRoleFeatureUsageArray and GetCloudProviderAccessAwsIamRoleFeatureUsageArrayOutput values. -// You can construct a concrete instance of `GetCloudProviderAccessAwsIamRoleFeatureUsageArrayInput` via: -// -// GetCloudProviderAccessAwsIamRoleFeatureUsageArray{ GetCloudProviderAccessAwsIamRoleFeatureUsageArgs{...} } -type GetCloudProviderAccessAwsIamRoleFeatureUsageArrayInput interface { - pulumi.Input - - ToGetCloudProviderAccessAwsIamRoleFeatureUsageArrayOutput() GetCloudProviderAccessAwsIamRoleFeatureUsageArrayOutput - ToGetCloudProviderAccessAwsIamRoleFeatureUsageArrayOutputWithContext(context.Context) GetCloudProviderAccessAwsIamRoleFeatureUsageArrayOutput -} - -type GetCloudProviderAccessAwsIamRoleFeatureUsageArray []GetCloudProviderAccessAwsIamRoleFeatureUsageInput - -func (GetCloudProviderAccessAwsIamRoleFeatureUsageArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetCloudProviderAccessAwsIamRoleFeatureUsage)(nil)).Elem() -} - -func (i GetCloudProviderAccessAwsIamRoleFeatureUsageArray) ToGetCloudProviderAccessAwsIamRoleFeatureUsageArrayOutput() GetCloudProviderAccessAwsIamRoleFeatureUsageArrayOutput { - return i.ToGetCloudProviderAccessAwsIamRoleFeatureUsageArrayOutputWithContext(context.Background()) -} - -func (i GetCloudProviderAccessAwsIamRoleFeatureUsageArray) ToGetCloudProviderAccessAwsIamRoleFeatureUsageArrayOutputWithContext(ctx context.Context) GetCloudProviderAccessAwsIamRoleFeatureUsageArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCloudProviderAccessAwsIamRoleFeatureUsageArrayOutput) -} - -type GetCloudProviderAccessAwsIamRoleFeatureUsageOutput struct{ *pulumi.OutputState } - -func (GetCloudProviderAccessAwsIamRoleFeatureUsageOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetCloudProviderAccessAwsIamRoleFeatureUsage)(nil)).Elem() -} - -func (o GetCloudProviderAccessAwsIamRoleFeatureUsageOutput) ToGetCloudProviderAccessAwsIamRoleFeatureUsageOutput() GetCloudProviderAccessAwsIamRoleFeatureUsageOutput { - return o -} - -func (o GetCloudProviderAccessAwsIamRoleFeatureUsageOutput) ToGetCloudProviderAccessAwsIamRoleFeatureUsageOutputWithContext(ctx context.Context) GetCloudProviderAccessAwsIamRoleFeatureUsageOutput { - return o -} - -func (o GetCloudProviderAccessAwsIamRoleFeatureUsageOutput) FeatureId() pulumi.MapOutput { - return o.ApplyT(func(v GetCloudProviderAccessAwsIamRoleFeatureUsage) map[string]interface{} { return v.FeatureId }).(pulumi.MapOutput) -} - -func (o GetCloudProviderAccessAwsIamRoleFeatureUsageOutput) FeatureType() pulumi.StringOutput { - return o.ApplyT(func(v GetCloudProviderAccessAwsIamRoleFeatureUsage) string { return v.FeatureType }).(pulumi.StringOutput) -} - -type GetCloudProviderAccessAwsIamRoleFeatureUsageArrayOutput struct{ *pulumi.OutputState } - -func (GetCloudProviderAccessAwsIamRoleFeatureUsageArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetCloudProviderAccessAwsIamRoleFeatureUsage)(nil)).Elem() -} - -func (o GetCloudProviderAccessAwsIamRoleFeatureUsageArrayOutput) ToGetCloudProviderAccessAwsIamRoleFeatureUsageArrayOutput() GetCloudProviderAccessAwsIamRoleFeatureUsageArrayOutput { - return o -} - -func (o GetCloudProviderAccessAwsIamRoleFeatureUsageArrayOutput) ToGetCloudProviderAccessAwsIamRoleFeatureUsageArrayOutputWithContext(ctx context.Context) GetCloudProviderAccessAwsIamRoleFeatureUsageArrayOutput { - return o -} - -func (o GetCloudProviderAccessAwsIamRoleFeatureUsageArrayOutput) Index(i pulumi.IntInput) GetCloudProviderAccessAwsIamRoleFeatureUsageOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCloudProviderAccessAwsIamRoleFeatureUsage { - return vs[0].([]GetCloudProviderAccessAwsIamRoleFeatureUsage)[vs[1].(int)] - }).(GetCloudProviderAccessAwsIamRoleFeatureUsageOutput) -} - type GetCloudProviderAccessSetupAwsConfig struct { // Unique external ID Atlas uses when assuming the IAM role in your AWS account. AtlasAssumedRoleExternalId string `pulumi:"atlasAssumedRoleExternalId"` @@ -33057,7 +32692,8 @@ type GetDatabaseUsersResult struct { LdapAuthType string `pulumi:"ldapAuthType"` // (Optional) Human-readable label that indicates whether the new database user authenticates with OIDC (OpenID Connect) federated authentication. If no value is given, Atlas uses the default value of `NONE`. The accepted types are: OidcAuthType string `pulumi:"oidcAuthType"` - Password string `pulumi:"password"` + // Deprecated: this parameter is deprecated and will be removed in version 1.16.0 + Password string `pulumi:"password"` // The unique ID for the project to get all database users. ProjectId string `pulumi:"projectId"` // List of user’s roles and the databases / collections on which the roles apply. A role allows the user to perform particular actions on the specified database. A role on the admin database can include privileges that apply to the other databases as well. See Roles below for more details. @@ -33094,7 +32730,8 @@ type GetDatabaseUsersResultArgs struct { LdapAuthType pulumi.StringInput `pulumi:"ldapAuthType"` // (Optional) Human-readable label that indicates whether the new database user authenticates with OIDC (OpenID Connect) federated authentication. If no value is given, Atlas uses the default value of `NONE`. The accepted types are: OidcAuthType pulumi.StringInput `pulumi:"oidcAuthType"` - Password pulumi.StringInput `pulumi:"password"` + // Deprecated: this parameter is deprecated and will be removed in version 1.16.0 + Password pulumi.StringInput `pulumi:"password"` // The unique ID for the project to get all database users. ProjectId pulumi.StringInput `pulumi:"projectId"` // List of user’s roles and the databases / collections on which the roles apply. A role allows the user to perform particular actions on the specified database. A role on the admin database can include privileges that apply to the other databases as well. See Roles below for more details. @@ -33188,6 +32825,7 @@ func (o GetDatabaseUsersResultOutput) OidcAuthType() pulumi.StringOutput { return o.ApplyT(func(v GetDatabaseUsersResult) string { return v.OidcAuthType }).(pulumi.StringOutput) } +// Deprecated: this parameter is deprecated and will be removed in version 1.16.0 func (o GetDatabaseUsersResultOutput) Password() pulumi.StringOutput { return o.ApplyT(func(v GetDatabaseUsersResult) string { return v.Password }).(pulumi.StringOutput) } @@ -37364,9 +37002,8 @@ type GetFederatedSettingsIdentityProviderAssociatedOrg struct { // List that contains the approved domains from which organization users can log in. DomainAllowLists []string `pulumi:"domainAllowLists"` // Flag that indicates whether domain restriction is enabled for the connected organization. - DomainRestrictionEnabled bool `pulumi:"domainRestrictionEnabled"` - // Unique 20-hexadecimal digit string that identifies the IdP. - IdentityProviderId string `pulumi:"identityProviderId"` + DomainRestrictionEnabled bool `pulumi:"domainRestrictionEnabled"` + IdentityProviderId string `pulumi:"identityProviderId"` // Unique 24-hexadecimal digit string that identifies the organization that contains your projects. OrgId string `pulumi:"orgId"` // List that contains the default roles granted to users who authenticate through the IdP in a connected organization. If you provide a postAuthRoleGrants field in the request, the array that you provide replaces the current postAuthRoleGrants. @@ -37390,9 +37027,8 @@ type GetFederatedSettingsIdentityProviderAssociatedOrgArgs struct { // List that contains the approved domains from which organization users can log in. DomainAllowLists pulumi.StringArrayInput `pulumi:"domainAllowLists"` // Flag that indicates whether domain restriction is enabled for the connected organization. - DomainRestrictionEnabled pulumi.BoolInput `pulumi:"domainRestrictionEnabled"` - // Unique 20-hexadecimal digit string that identifies the IdP. - IdentityProviderId pulumi.StringInput `pulumi:"identityProviderId"` + DomainRestrictionEnabled pulumi.BoolInput `pulumi:"domainRestrictionEnabled"` + IdentityProviderId pulumi.StringInput `pulumi:"identityProviderId"` // Unique 24-hexadecimal digit string that identifies the organization that contains your projects. OrgId pulumi.StringInput `pulumi:"orgId"` // List that contains the default roles granted to users who authenticate through the IdP in a connected organization. If you provide a postAuthRoleGrants field in the request, the array that you provide replaces the current postAuthRoleGrants. @@ -37462,7 +37098,6 @@ func (o GetFederatedSettingsIdentityProviderAssociatedOrgOutput) DomainRestricti return o.ApplyT(func(v GetFederatedSettingsIdentityProviderAssociatedOrg) bool { return v.DomainRestrictionEnabled }).(pulumi.BoolOutput) } -// Unique 20-hexadecimal digit string that identifies the IdP. func (o GetFederatedSettingsIdentityProviderAssociatedOrgOutput) IdentityProviderId() pulumi.StringOutput { return o.ApplyT(func(v GetFederatedSettingsIdentityProviderAssociatedOrg) string { return v.IdentityProviderId }).(pulumi.StringOutput) } @@ -38102,18 +37737,30 @@ type GetFederatedSettingsIdentityProvidersResult struct { AssociatedDomains []string `pulumi:"associatedDomains"` // List that contains the configured domains from which users can log in for this IdP. AssociatedOrgs []GetFederatedSettingsIdentityProvidersResultAssociatedOrg `pulumi:"associatedOrgs"` + // Identifier of the intended recipient of the token. + AudienceClaims []string `pulumi:"audienceClaims"` // Identifier for the intended audience of the SAML Assertion. AudienceUri string `pulumi:"audienceUri"` + // Client identifier that is assigned to an application by the Identity Provider. + ClientId string `pulumi:"clientId"` // Human-readable label that identifies the IdP. DisplayName string `pulumi:"displayName"` + // Identifier of the claim which contains IdP Group IDs in the token. + GroupsClaim string `pulumi:"groupsClaim"` + // Unique 20-hexadecimal digit string that identifies the IdP. + IdpId string `pulumi:"idpId"` // Identifier for the issuer of the SAML Assertion. IssuerUri string `pulumi:"issuerUri"` OktaIdpId string `pulumi:"oktaIdpId"` PemFileInfos []GetFederatedSettingsIdentityProvidersResultPemFileInfo `pulumi:"pemFileInfos"` + // The protocol of the identity provider + Protocol string `pulumi:"protocol"` // SAML Authentication Request Protocol binding used to send the AuthNRequest. Atlas supports the following binding values: // - HTTP POST // - HTTP REDIRECT RequestBinding string `pulumi:"requestBinding"` + // Scopes that MongoDB applications will request from the authorization endpoint. + RequestedScopes []string `pulumi:"requestedScopes"` // Algorithm used to encrypt the IdP signature. Atlas supports the following signature algorithm values: // - SHA-1 // - SHA-256 @@ -38124,6 +37771,8 @@ type GetFederatedSettingsIdentityProvidersResult struct { SsoUrl string `pulumi:"ssoUrl"` // Label that indicates whether the identity provider is active. The IdP is Inactive until you map at least one domain to the IdP. Status string `pulumi:"status"` + // Identifier of the claim which contains the user ID in the token. + UserClaim string `pulumi:"userClaim"` } // GetFederatedSettingsIdentityProvidersResultInput is an input type that accepts GetFederatedSettingsIdentityProvidersResultArgs and GetFederatedSettingsIdentityProvidersResultOutput values. @@ -38144,18 +37793,30 @@ type GetFederatedSettingsIdentityProvidersResultArgs struct { AssociatedDomains pulumi.StringArrayInput `pulumi:"associatedDomains"` // List that contains the configured domains from which users can log in for this IdP. AssociatedOrgs GetFederatedSettingsIdentityProvidersResultAssociatedOrgArrayInput `pulumi:"associatedOrgs"` + // Identifier of the intended recipient of the token. + AudienceClaims pulumi.StringArrayInput `pulumi:"audienceClaims"` // Identifier for the intended audience of the SAML Assertion. AudienceUri pulumi.StringInput `pulumi:"audienceUri"` + // Client identifier that is assigned to an application by the Identity Provider. + ClientId pulumi.StringInput `pulumi:"clientId"` // Human-readable label that identifies the IdP. DisplayName pulumi.StringInput `pulumi:"displayName"` + // Identifier of the claim which contains IdP Group IDs in the token. + GroupsClaim pulumi.StringInput `pulumi:"groupsClaim"` + // Unique 20-hexadecimal digit string that identifies the IdP. + IdpId pulumi.StringInput `pulumi:"idpId"` // Identifier for the issuer of the SAML Assertion. IssuerUri pulumi.StringInput `pulumi:"issuerUri"` OktaIdpId pulumi.StringInput `pulumi:"oktaIdpId"` PemFileInfos GetFederatedSettingsIdentityProvidersResultPemFileInfoArrayInput `pulumi:"pemFileInfos"` + // The protocol of the identity provider + Protocol pulumi.StringInput `pulumi:"protocol"` // SAML Authentication Request Protocol binding used to send the AuthNRequest. Atlas supports the following binding values: // - HTTP POST // - HTTP REDIRECT RequestBinding pulumi.StringInput `pulumi:"requestBinding"` + // Scopes that MongoDB applications will request from the authorization endpoint. + RequestedScopes pulumi.StringArrayInput `pulumi:"requestedScopes"` // Algorithm used to encrypt the IdP signature. Atlas supports the following signature algorithm values: // - SHA-1 // - SHA-256 @@ -38166,6 +37827,8 @@ type GetFederatedSettingsIdentityProvidersResultArgs struct { SsoUrl pulumi.StringInput `pulumi:"ssoUrl"` // Label that indicates whether the identity provider is active. The IdP is Inactive until you map at least one domain to the IdP. Status pulumi.StringInput `pulumi:"status"` + // Identifier of the claim which contains the user ID in the token. + UserClaim pulumi.StringInput `pulumi:"userClaim"` } func (GetFederatedSettingsIdentityProvidersResultArgs) ElementType() reflect.Type { @@ -38236,16 +37899,36 @@ func (o GetFederatedSettingsIdentityProvidersResultOutput) AssociatedOrgs() GetF }).(GetFederatedSettingsIdentityProvidersResultAssociatedOrgArrayOutput) } +// Identifier of the intended recipient of the token. +func (o GetFederatedSettingsIdentityProvidersResultOutput) AudienceClaims() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetFederatedSettingsIdentityProvidersResult) []string { return v.AudienceClaims }).(pulumi.StringArrayOutput) +} + // Identifier for the intended audience of the SAML Assertion. func (o GetFederatedSettingsIdentityProvidersResultOutput) AudienceUri() pulumi.StringOutput { return o.ApplyT(func(v GetFederatedSettingsIdentityProvidersResult) string { return v.AudienceUri }).(pulumi.StringOutput) } +// Client identifier that is assigned to an application by the Identity Provider. +func (o GetFederatedSettingsIdentityProvidersResultOutput) ClientId() pulumi.StringOutput { + return o.ApplyT(func(v GetFederatedSettingsIdentityProvidersResult) string { return v.ClientId }).(pulumi.StringOutput) +} + // Human-readable label that identifies the IdP. func (o GetFederatedSettingsIdentityProvidersResultOutput) DisplayName() pulumi.StringOutput { return o.ApplyT(func(v GetFederatedSettingsIdentityProvidersResult) string { return v.DisplayName }).(pulumi.StringOutput) } +// Identifier of the claim which contains IdP Group IDs in the token. +func (o GetFederatedSettingsIdentityProvidersResultOutput) GroupsClaim() pulumi.StringOutput { + return o.ApplyT(func(v GetFederatedSettingsIdentityProvidersResult) string { return v.GroupsClaim }).(pulumi.StringOutput) +} + +// Unique 20-hexadecimal digit string that identifies the IdP. +func (o GetFederatedSettingsIdentityProvidersResultOutput) IdpId() pulumi.StringOutput { + return o.ApplyT(func(v GetFederatedSettingsIdentityProvidersResult) string { return v.IdpId }).(pulumi.StringOutput) +} + // Identifier for the issuer of the SAML Assertion. func (o GetFederatedSettingsIdentityProvidersResultOutput) IssuerUri() pulumi.StringOutput { return o.ApplyT(func(v GetFederatedSettingsIdentityProvidersResult) string { return v.IssuerUri }).(pulumi.StringOutput) @@ -38261,6 +37944,11 @@ func (o GetFederatedSettingsIdentityProvidersResultOutput) PemFileInfos() GetFed }).(GetFederatedSettingsIdentityProvidersResultPemFileInfoArrayOutput) } +// The protocol of the identity provider +func (o GetFederatedSettingsIdentityProvidersResultOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v GetFederatedSettingsIdentityProvidersResult) string { return v.Protocol }).(pulumi.StringOutput) +} + // SAML Authentication Request Protocol binding used to send the AuthNRequest. Atlas supports the following binding values: // - HTTP POST // - HTTP REDIRECT @@ -38268,6 +37956,11 @@ func (o GetFederatedSettingsIdentityProvidersResultOutput) RequestBinding() pulu return o.ApplyT(func(v GetFederatedSettingsIdentityProvidersResult) string { return v.RequestBinding }).(pulumi.StringOutput) } +// Scopes that MongoDB applications will request from the authorization endpoint. +func (o GetFederatedSettingsIdentityProvidersResultOutput) RequestedScopes() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetFederatedSettingsIdentityProvidersResult) []string { return v.RequestedScopes }).(pulumi.StringArrayOutput) +} + // Algorithm used to encrypt the IdP signature. Atlas supports the following signature algorithm values: // - SHA-1 // - SHA-256 @@ -38290,6 +37983,11 @@ func (o GetFederatedSettingsIdentityProvidersResultOutput) Status() pulumi.Strin return o.ApplyT(func(v GetFederatedSettingsIdentityProvidersResult) string { return v.Status }).(pulumi.StringOutput) } +// Identifier of the claim which contains the user ID in the token. +func (o GetFederatedSettingsIdentityProvidersResultOutput) UserClaim() pulumi.StringOutput { + return o.ApplyT(func(v GetFederatedSettingsIdentityProvidersResult) string { return v.UserClaim }).(pulumi.StringOutput) +} + type GetFederatedSettingsIdentityProvidersResultArrayOutput struct{ *pulumi.OutputState } func (GetFederatedSettingsIdentityProvidersResultArrayOutput) ElementType() reflect.Type { @@ -42562,15 +42260,21 @@ func (o GetOrganizationLinkArrayOutput) Index(i pulumi.IntInput) GetOrganization } type GetOrganizationsResult struct { + // Flag that indicates whether to require API operations to originate from an IP Address added to the API access list for the specified organization. + ApiAccessListRequired bool `pulumi:"apiAccessListRequired"` // Autogenerated Unique ID for this data source. Id string `pulumi:"id"` // Flag that indicates whether this organization has been deleted. - // - // See [MongoDB Atlas API - Organizations](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Organizations/operation/listOrganizations) Documentation for more information. IsDeleted bool `pulumi:"isDeleted"` Links []GetOrganizationsResultLink `pulumi:"links"` + // Flag that indicates whether to require users to set up Multi-Factor Authentication (MFA) before accessing the specified organization. To learn more, see: https://www.mongodb.com/docs/atlas/security-multi-factor-authentication/. + MultiFactorAuthRequired bool `pulumi:"multiFactorAuthRequired"` // Human-readable label that identifies the organization. Name string `pulumi:"name"` + // Flag that indicates whether to block MongoDB Support from accessing Atlas infrastructure for any deployment in the specified organization without explicit permission. Once this setting is turned on, you can grant MongoDB Support a 24-hour bypass access to the Atlas deployment to resolve support issues. To learn more, see: https://www.mongodb.com/docs/atlas/security-restrict-support-access/. + // + // See [MongoDB Atlas API - Organizations](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Organizations/operation/listOrganizations) Documentation for more information. + RestrictEmployeeAccess bool `pulumi:"restrictEmployeeAccess"` } // GetOrganizationsResultInput is an input type that accepts GetOrganizationsResultArgs and GetOrganizationsResultOutput values. @@ -42585,15 +42289,21 @@ type GetOrganizationsResultInput interface { } type GetOrganizationsResultArgs struct { + // Flag that indicates whether to require API operations to originate from an IP Address added to the API access list for the specified organization. + ApiAccessListRequired pulumi.BoolInput `pulumi:"apiAccessListRequired"` // Autogenerated Unique ID for this data source. Id pulumi.StringInput `pulumi:"id"` // Flag that indicates whether this organization has been deleted. - // - // See [MongoDB Atlas API - Organizations](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Organizations/operation/listOrganizations) Documentation for more information. IsDeleted pulumi.BoolInput `pulumi:"isDeleted"` Links GetOrganizationsResultLinkArrayInput `pulumi:"links"` + // Flag that indicates whether to require users to set up Multi-Factor Authentication (MFA) before accessing the specified organization. To learn more, see: https://www.mongodb.com/docs/atlas/security-multi-factor-authentication/. + MultiFactorAuthRequired pulumi.BoolInput `pulumi:"multiFactorAuthRequired"` // Human-readable label that identifies the organization. Name pulumi.StringInput `pulumi:"name"` + // Flag that indicates whether to block MongoDB Support from accessing Atlas infrastructure for any deployment in the specified organization without explicit permission. Once this setting is turned on, you can grant MongoDB Support a 24-hour bypass access to the Atlas deployment to resolve support issues. To learn more, see: https://www.mongodb.com/docs/atlas/security-restrict-support-access/. + // + // See [MongoDB Atlas API - Organizations](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Organizations/operation/listOrganizations) Documentation for more information. + RestrictEmployeeAccess pulumi.BoolInput `pulumi:"restrictEmployeeAccess"` } func (GetOrganizationsResultArgs) ElementType() reflect.Type { @@ -42647,14 +42357,17 @@ func (o GetOrganizationsResultOutput) ToGetOrganizationsResultOutputWithContext( return o } +// Flag that indicates whether to require API operations to originate from an IP Address added to the API access list for the specified organization. +func (o GetOrganizationsResultOutput) ApiAccessListRequired() pulumi.BoolOutput { + return o.ApplyT(func(v GetOrganizationsResult) bool { return v.ApiAccessListRequired }).(pulumi.BoolOutput) +} + // Autogenerated Unique ID for this data source. func (o GetOrganizationsResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v GetOrganizationsResult) string { return v.Id }).(pulumi.StringOutput) } // Flag that indicates whether this organization has been deleted. -// -// See [MongoDB Atlas API - Organizations](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Organizations/operation/listOrganizations) Documentation for more information. func (o GetOrganizationsResultOutput) IsDeleted() pulumi.BoolOutput { return o.ApplyT(func(v GetOrganizationsResult) bool { return v.IsDeleted }).(pulumi.BoolOutput) } @@ -42663,11 +42376,23 @@ func (o GetOrganizationsResultOutput) Links() GetOrganizationsResultLinkArrayOut return o.ApplyT(func(v GetOrganizationsResult) []GetOrganizationsResultLink { return v.Links }).(GetOrganizationsResultLinkArrayOutput) } +// Flag that indicates whether to require users to set up Multi-Factor Authentication (MFA) before accessing the specified organization. To learn more, see: https://www.mongodb.com/docs/atlas/security-multi-factor-authentication/. +func (o GetOrganizationsResultOutput) MultiFactorAuthRequired() pulumi.BoolOutput { + return o.ApplyT(func(v GetOrganizationsResult) bool { return v.MultiFactorAuthRequired }).(pulumi.BoolOutput) +} + // Human-readable label that identifies the organization. func (o GetOrganizationsResultOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v GetOrganizationsResult) string { return v.Name }).(pulumi.StringOutput) } +// Flag that indicates whether to block MongoDB Support from accessing Atlas infrastructure for any deployment in the specified organization without explicit permission. Once this setting is turned on, you can grant MongoDB Support a 24-hour bypass access to the Atlas deployment to resolve support issues. To learn more, see: https://www.mongodb.com/docs/atlas/security-restrict-support-access/. +// +// See [MongoDB Atlas API - Organizations](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Organizations/operation/listOrganizations) Documentation for more information. +func (o GetOrganizationsResultOutput) RestrictEmployeeAccess() pulumi.BoolOutput { + return o.ApplyT(func(v GetOrganizationsResult) bool { return v.RestrictEmployeeAccess }).(pulumi.BoolOutput) +} + type GetOrganizationsResultArrayOutput struct{ *pulumi.OutputState } func (GetOrganizationsResultArrayOutput) ElementType() reflect.Type { @@ -43531,15 +43256,223 @@ func (o GetProjectApiKeysResultProjectAssignmentArrayOutput) Index(i pulumi.IntI }).(GetProjectApiKeysResultProjectAssignmentOutput) } +type GetProjectIpAddresses struct { + Services GetProjectIpAddressesServices `pulumi:"services"` +} + +// GetProjectIpAddressesInput is an input type that accepts GetProjectIpAddressesArgs and GetProjectIpAddressesOutput values. +// You can construct a concrete instance of `GetProjectIpAddressesInput` via: +// +// GetProjectIpAddressesArgs{...} +type GetProjectIpAddressesInput interface { + pulumi.Input + + ToGetProjectIpAddressesOutput() GetProjectIpAddressesOutput + ToGetProjectIpAddressesOutputWithContext(context.Context) GetProjectIpAddressesOutput +} + +type GetProjectIpAddressesArgs struct { + Services GetProjectIpAddressesServicesInput `pulumi:"services"` +} + +func (GetProjectIpAddressesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectIpAddresses)(nil)).Elem() +} + +func (i GetProjectIpAddressesArgs) ToGetProjectIpAddressesOutput() GetProjectIpAddressesOutput { + return i.ToGetProjectIpAddressesOutputWithContext(context.Background()) +} + +func (i GetProjectIpAddressesArgs) ToGetProjectIpAddressesOutputWithContext(ctx context.Context) GetProjectIpAddressesOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectIpAddressesOutput) +} + +type GetProjectIpAddressesOutput struct{ *pulumi.OutputState } + +func (GetProjectIpAddressesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectIpAddresses)(nil)).Elem() +} + +func (o GetProjectIpAddressesOutput) ToGetProjectIpAddressesOutput() GetProjectIpAddressesOutput { + return o +} + +func (o GetProjectIpAddressesOutput) ToGetProjectIpAddressesOutputWithContext(ctx context.Context) GetProjectIpAddressesOutput { + return o +} + +func (o GetProjectIpAddressesOutput) Services() GetProjectIpAddressesServicesOutput { + return o.ApplyT(func(v GetProjectIpAddresses) GetProjectIpAddressesServices { return v.Services }).(GetProjectIpAddressesServicesOutput) +} + +type GetProjectIpAddressesServices struct { + Clusters []GetProjectIpAddressesServicesCluster `pulumi:"clusters"` +} + +// GetProjectIpAddressesServicesInput is an input type that accepts GetProjectIpAddressesServicesArgs and GetProjectIpAddressesServicesOutput values. +// You can construct a concrete instance of `GetProjectIpAddressesServicesInput` via: +// +// GetProjectIpAddressesServicesArgs{...} +type GetProjectIpAddressesServicesInput interface { + pulumi.Input + + ToGetProjectIpAddressesServicesOutput() GetProjectIpAddressesServicesOutput + ToGetProjectIpAddressesServicesOutputWithContext(context.Context) GetProjectIpAddressesServicesOutput +} + +type GetProjectIpAddressesServicesArgs struct { + Clusters GetProjectIpAddressesServicesClusterArrayInput `pulumi:"clusters"` +} + +func (GetProjectIpAddressesServicesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectIpAddressesServices)(nil)).Elem() +} + +func (i GetProjectIpAddressesServicesArgs) ToGetProjectIpAddressesServicesOutput() GetProjectIpAddressesServicesOutput { + return i.ToGetProjectIpAddressesServicesOutputWithContext(context.Background()) +} + +func (i GetProjectIpAddressesServicesArgs) ToGetProjectIpAddressesServicesOutputWithContext(ctx context.Context) GetProjectIpAddressesServicesOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectIpAddressesServicesOutput) +} + +type GetProjectIpAddressesServicesOutput struct{ *pulumi.OutputState } + +func (GetProjectIpAddressesServicesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectIpAddressesServices)(nil)).Elem() +} + +func (o GetProjectIpAddressesServicesOutput) ToGetProjectIpAddressesServicesOutput() GetProjectIpAddressesServicesOutput { + return o +} + +func (o GetProjectIpAddressesServicesOutput) ToGetProjectIpAddressesServicesOutputWithContext(ctx context.Context) GetProjectIpAddressesServicesOutput { + return o +} + +func (o GetProjectIpAddressesServicesOutput) Clusters() GetProjectIpAddressesServicesClusterArrayOutput { + return o.ApplyT(func(v GetProjectIpAddressesServices) []GetProjectIpAddressesServicesCluster { return v.Clusters }).(GetProjectIpAddressesServicesClusterArrayOutput) +} + +type GetProjectIpAddressesServicesCluster struct { + ClusterName string `pulumi:"clusterName"` + Inbounds []string `pulumi:"inbounds"` + Outbounds []string `pulumi:"outbounds"` +} + +// GetProjectIpAddressesServicesClusterInput is an input type that accepts GetProjectIpAddressesServicesClusterArgs and GetProjectIpAddressesServicesClusterOutput values. +// You can construct a concrete instance of `GetProjectIpAddressesServicesClusterInput` via: +// +// GetProjectIpAddressesServicesClusterArgs{...} +type GetProjectIpAddressesServicesClusterInput interface { + pulumi.Input + + ToGetProjectIpAddressesServicesClusterOutput() GetProjectIpAddressesServicesClusterOutput + ToGetProjectIpAddressesServicesClusterOutputWithContext(context.Context) GetProjectIpAddressesServicesClusterOutput +} + +type GetProjectIpAddressesServicesClusterArgs struct { + ClusterName pulumi.StringInput `pulumi:"clusterName"` + Inbounds pulumi.StringArrayInput `pulumi:"inbounds"` + Outbounds pulumi.StringArrayInput `pulumi:"outbounds"` +} + +func (GetProjectIpAddressesServicesClusterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectIpAddressesServicesCluster)(nil)).Elem() +} + +func (i GetProjectIpAddressesServicesClusterArgs) ToGetProjectIpAddressesServicesClusterOutput() GetProjectIpAddressesServicesClusterOutput { + return i.ToGetProjectIpAddressesServicesClusterOutputWithContext(context.Background()) +} + +func (i GetProjectIpAddressesServicesClusterArgs) ToGetProjectIpAddressesServicesClusterOutputWithContext(ctx context.Context) GetProjectIpAddressesServicesClusterOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectIpAddressesServicesClusterOutput) +} + +// GetProjectIpAddressesServicesClusterArrayInput is an input type that accepts GetProjectIpAddressesServicesClusterArray and GetProjectIpAddressesServicesClusterArrayOutput values. +// You can construct a concrete instance of `GetProjectIpAddressesServicesClusterArrayInput` via: +// +// GetProjectIpAddressesServicesClusterArray{ GetProjectIpAddressesServicesClusterArgs{...} } +type GetProjectIpAddressesServicesClusterArrayInput interface { + pulumi.Input + + ToGetProjectIpAddressesServicesClusterArrayOutput() GetProjectIpAddressesServicesClusterArrayOutput + ToGetProjectIpAddressesServicesClusterArrayOutputWithContext(context.Context) GetProjectIpAddressesServicesClusterArrayOutput +} + +type GetProjectIpAddressesServicesClusterArray []GetProjectIpAddressesServicesClusterInput + +func (GetProjectIpAddressesServicesClusterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectIpAddressesServicesCluster)(nil)).Elem() +} + +func (i GetProjectIpAddressesServicesClusterArray) ToGetProjectIpAddressesServicesClusterArrayOutput() GetProjectIpAddressesServicesClusterArrayOutput { + return i.ToGetProjectIpAddressesServicesClusterArrayOutputWithContext(context.Background()) +} + +func (i GetProjectIpAddressesServicesClusterArray) ToGetProjectIpAddressesServicesClusterArrayOutputWithContext(ctx context.Context) GetProjectIpAddressesServicesClusterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectIpAddressesServicesClusterArrayOutput) +} + +type GetProjectIpAddressesServicesClusterOutput struct{ *pulumi.OutputState } + +func (GetProjectIpAddressesServicesClusterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectIpAddressesServicesCluster)(nil)).Elem() +} + +func (o GetProjectIpAddressesServicesClusterOutput) ToGetProjectIpAddressesServicesClusterOutput() GetProjectIpAddressesServicesClusterOutput { + return o +} + +func (o GetProjectIpAddressesServicesClusterOutput) ToGetProjectIpAddressesServicesClusterOutputWithContext(ctx context.Context) GetProjectIpAddressesServicesClusterOutput { + return o +} + +func (o GetProjectIpAddressesServicesClusterOutput) ClusterName() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectIpAddressesServicesCluster) string { return v.ClusterName }).(pulumi.StringOutput) +} + +func (o GetProjectIpAddressesServicesClusterOutput) Inbounds() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetProjectIpAddressesServicesCluster) []string { return v.Inbounds }).(pulumi.StringArrayOutput) +} + +func (o GetProjectIpAddressesServicesClusterOutput) Outbounds() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetProjectIpAddressesServicesCluster) []string { return v.Outbounds }).(pulumi.StringArrayOutput) +} + +type GetProjectIpAddressesServicesClusterArrayOutput struct{ *pulumi.OutputState } + +func (GetProjectIpAddressesServicesClusterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectIpAddressesServicesCluster)(nil)).Elem() +} + +func (o GetProjectIpAddressesServicesClusterArrayOutput) ToGetProjectIpAddressesServicesClusterArrayOutput() GetProjectIpAddressesServicesClusterArrayOutput { + return o +} + +func (o GetProjectIpAddressesServicesClusterArrayOutput) ToGetProjectIpAddressesServicesClusterArrayOutputWithContext(ctx context.Context) GetProjectIpAddressesServicesClusterArrayOutput { + return o +} + +func (o GetProjectIpAddressesServicesClusterArrayOutput) Index(i pulumi.IntInput) GetProjectIpAddressesServicesClusterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetProjectIpAddressesServicesCluster { + return vs[0].([]GetProjectIpAddressesServicesCluster)[vs[1].(int)] + }).(GetProjectIpAddressesServicesClusterOutput) +} + type GetProjectLimit struct { + // Amount that indicates the current usage of the limit. CurrentUsage int `pulumi:"currentUsage"` + // Default value of the limit. DefaultLimit int `pulumi:"defaultLimit"` + // Maximum value of the limit. MaximumLimit int `pulumi:"maximumLimit"` // The unique ID for the project. // // > **IMPORTANT:** Either `projectId` or `name` must be configurated. - Name string `pulumi:"name"` - Value int `pulumi:"value"` + Name string `pulumi:"name"` + // Amount the limit is set to. + Value int `pulumi:"value"` } // GetProjectLimitInput is an input type that accepts GetProjectLimitArgs and GetProjectLimitOutput values. @@ -43554,14 +43487,18 @@ type GetProjectLimitInput interface { } type GetProjectLimitArgs struct { + // Amount that indicates the current usage of the limit. CurrentUsage pulumi.IntInput `pulumi:"currentUsage"` + // Default value of the limit. DefaultLimit pulumi.IntInput `pulumi:"defaultLimit"` + // Maximum value of the limit. MaximumLimit pulumi.IntInput `pulumi:"maximumLimit"` // The unique ID for the project. // // > **IMPORTANT:** Either `projectId` or `name` must be configurated. - Name pulumi.StringInput `pulumi:"name"` - Value pulumi.IntInput `pulumi:"value"` + Name pulumi.StringInput `pulumi:"name"` + // Amount the limit is set to. + Value pulumi.IntInput `pulumi:"value"` } func (GetProjectLimitArgs) ElementType() reflect.Type { @@ -43615,14 +43552,17 @@ func (o GetProjectLimitOutput) ToGetProjectLimitOutputWithContext(ctx context.Co return o } +// Amount that indicates the current usage of the limit. func (o GetProjectLimitOutput) CurrentUsage() pulumi.IntOutput { return o.ApplyT(func(v GetProjectLimit) int { return v.CurrentUsage }).(pulumi.IntOutput) } +// Default value of the limit. func (o GetProjectLimitOutput) DefaultLimit() pulumi.IntOutput { return o.ApplyT(func(v GetProjectLimit) int { return v.DefaultLimit }).(pulumi.IntOutput) } +// Maximum value of the limit. func (o GetProjectLimitOutput) MaximumLimit() pulumi.IntOutput { return o.ApplyT(func(v GetProjectLimit) int { return v.MaximumLimit }).(pulumi.IntOutput) } @@ -43634,6 +43574,7 @@ func (o GetProjectLimitOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v GetProjectLimit) string { return v.Name }).(pulumi.StringOutput) } +// Amount the limit is set to. func (o GetProjectLimitOutput) Value() pulumi.IntOutput { return o.ApplyT(func(v GetProjectLimit) int { return v.Value }).(pulumi.IntOutput) } @@ -43659,8 +43600,10 @@ func (o GetProjectLimitArrayOutput) Index(i pulumi.IntInput) GetProjectLimitOutp } type GetProjectTeam struct { + // Each string in the array represents a project role assigned to the team. Every user associated with the team inherits these roles. The [MongoDB Documentation](https://www.mongodb.com/docs/atlas/reference/user-roles/#organization-roles) describes the roles a user can have. RoleNames []string `pulumi:"roleNames"` - TeamId string `pulumi:"teamId"` + // The unique identifier of the team you want to associate with the project. The team and project must share the same parent organization. + TeamId string `pulumi:"teamId"` } // GetProjectTeamInput is an input type that accepts GetProjectTeamArgs and GetProjectTeamOutput values. @@ -43675,8 +43618,10 @@ type GetProjectTeamInput interface { } type GetProjectTeamArgs struct { + // Each string in the array represents a project role assigned to the team. Every user associated with the team inherits these roles. The [MongoDB Documentation](https://www.mongodb.com/docs/atlas/reference/user-roles/#organization-roles) describes the roles a user can have. RoleNames pulumi.StringArrayInput `pulumi:"roleNames"` - TeamId pulumi.StringInput `pulumi:"teamId"` + // The unique identifier of the team you want to associate with the project. The team and project must share the same parent organization. + TeamId pulumi.StringInput `pulumi:"teamId"` } func (GetProjectTeamArgs) ElementType() reflect.Type { @@ -43730,10 +43675,12 @@ func (o GetProjectTeamOutput) ToGetProjectTeamOutputWithContext(ctx context.Cont return o } +// Each string in the array represents a project role assigned to the team. Every user associated with the team inherits these roles. The [MongoDB Documentation](https://www.mongodb.com/docs/atlas/reference/user-roles/#organization-roles) describes the roles a user can have. func (o GetProjectTeamOutput) RoleNames() pulumi.StringArrayOutput { return o.ApplyT(func(v GetProjectTeam) []string { return v.RoleNames }).(pulumi.StringArrayOutput) } +// The unique identifier of the team you want to associate with the project. The team and project must share the same parent organization. func (o GetProjectTeamOutput) TeamId() pulumi.StringOutput { return o.ApplyT(func(v GetProjectTeam) string { return v.TeamId }).(pulumi.StringOutput) } @@ -43762,16 +43709,11 @@ type GetProjectsResult struct { // The number of Atlas clusters deployed in the project. ClusterCount int `pulumi:"clusterCount"` // The ISO-8601-formatted timestamp of when Atlas created the project. - // * `teams.#.team_id` - The unique identifier of the team you want to associate with the project. The team and project must share the same parent organization. - // * `teams.#.role_names` - Each string in the array represents a project role assigned to the team. Every user associated with the team inherits these roles. The [MongoDB Documentation](https://www.mongodb.com/docs/atlas/reference/user-roles/#organization-roles) describes the roles a user can have. - // * `limits.#.name` - Human-readable label that identifies this project limit. - // * `limits.#.value` - Amount the limit is set to. - // * `limits.#.current_usage` - Amount that indicates the current usage of the limit. - // * `limits.#.default_limit` - Default value of the limit. - // * `limits.#.maximum_limit` - Maximum value of the limit. Created string `pulumi:"created"` // Autogenerated Unique ID for this data source. Id string `pulumi:"id"` + // IP addresses in a project categorized by services. See IP Addresses. + IpAddresses GetProjectsResultIpAddresses `pulumi:"ipAddresses"` // Flag that indicates whether to enable statistics in [cluster metrics](https://www.mongodb.com/docs/atlas/monitor-cluster-metrics/) collection for the project. IsCollectDatabaseSpecificsStatisticsEnabled bool `pulumi:"isCollectDatabaseSpecificsStatisticsEnabled"` // Flag that indicates whether to enable Data Explorer for the project. If enabled, you can query your database with an easy to use interface. @@ -43783,18 +43725,18 @@ type GetProjectsResult struct { // Flag that indicates whether to enable Real Time Performance Panel for the project. If enabled, you can see real time metrics from your MongoDB database. IsRealtimePerformancePanelEnabled bool `pulumi:"isRealtimePerformancePanelEnabled"` // Flag that indicates whether to enable Schema Advisor for the project. If enabled, you receive customized recommendations to optimize your data model and enhance performance. Disable this setting to disable schema suggestions in the [Performance Advisor](https://www.mongodb.com/docs/atlas/performance-advisor/#std-label-performance-advisor) and the [Data Explorer](https://www.mongodb.com/docs/atlas/atlas-ui/#std-label-atlas-ui). - IsSchemaAdvisorEnabled bool `pulumi:"isSchemaAdvisorEnabled"` - Limits []GetProjectsResultLimit `pulumi:"limits"` - // The name of the project you want to create. + IsSchemaAdvisorEnabled bool `pulumi:"isSchemaAdvisorEnabled"` + // The limits for the specified project. See Limits. + Limits []GetProjectsResultLimit `pulumi:"limits"` + // Human-readable label that identifies this project limit. Name string `pulumi:"name"` // The ID of the organization you want to create the project within. OrgId string `pulumi:"orgId"` ProjectId string `pulumi:"projectId"` // If GOV_REGIONS_ONLY the project can be used for government regions only, otherwise defaults to standard regions. For more information see [MongoDB Atlas for Government](https://www.mongodb.com/docs/atlas/government/api/#creating-a-project). - // - // See [MongoDB Atlas API - Projects](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Projects) - [and MongoDB Atlas API - Teams](https://docs.atlas.mongodb.com/reference/api/project-get-teams/) Documentation for more information. - RegionUsageRestrictions string `pulumi:"regionUsageRestrictions"` - Teams []GetProjectsResultTeam `pulumi:"teams"` + RegionUsageRestrictions string `pulumi:"regionUsageRestrictions"` + // Returns all teams to which the authenticated user has access in the project. See Teams. + Teams []GetProjectsResultTeam `pulumi:"teams"` } // GetProjectsResultInput is an input type that accepts GetProjectsResultArgs and GetProjectsResultOutput values. @@ -43812,16 +43754,11 @@ type GetProjectsResultArgs struct { // The number of Atlas clusters deployed in the project. ClusterCount pulumi.IntInput `pulumi:"clusterCount"` // The ISO-8601-formatted timestamp of when Atlas created the project. - // * `teams.#.team_id` - The unique identifier of the team you want to associate with the project. The team and project must share the same parent organization. - // * `teams.#.role_names` - Each string in the array represents a project role assigned to the team. Every user associated with the team inherits these roles. The [MongoDB Documentation](https://www.mongodb.com/docs/atlas/reference/user-roles/#organization-roles) describes the roles a user can have. - // * `limits.#.name` - Human-readable label that identifies this project limit. - // * `limits.#.value` - Amount the limit is set to. - // * `limits.#.current_usage` - Amount that indicates the current usage of the limit. - // * `limits.#.default_limit` - Default value of the limit. - // * `limits.#.maximum_limit` - Maximum value of the limit. Created pulumi.StringInput `pulumi:"created"` // Autogenerated Unique ID for this data source. Id pulumi.StringInput `pulumi:"id"` + // IP addresses in a project categorized by services. See IP Addresses. + IpAddresses GetProjectsResultIpAddressesInput `pulumi:"ipAddresses"` // Flag that indicates whether to enable statistics in [cluster metrics](https://www.mongodb.com/docs/atlas/monitor-cluster-metrics/) collection for the project. IsCollectDatabaseSpecificsStatisticsEnabled pulumi.BoolInput `pulumi:"isCollectDatabaseSpecificsStatisticsEnabled"` // Flag that indicates whether to enable Data Explorer for the project. If enabled, you can query your database with an easy to use interface. @@ -43833,18 +43770,18 @@ type GetProjectsResultArgs struct { // Flag that indicates whether to enable Real Time Performance Panel for the project. If enabled, you can see real time metrics from your MongoDB database. IsRealtimePerformancePanelEnabled pulumi.BoolInput `pulumi:"isRealtimePerformancePanelEnabled"` // Flag that indicates whether to enable Schema Advisor for the project. If enabled, you receive customized recommendations to optimize your data model and enhance performance. Disable this setting to disable schema suggestions in the [Performance Advisor](https://www.mongodb.com/docs/atlas/performance-advisor/#std-label-performance-advisor) and the [Data Explorer](https://www.mongodb.com/docs/atlas/atlas-ui/#std-label-atlas-ui). - IsSchemaAdvisorEnabled pulumi.BoolInput `pulumi:"isSchemaAdvisorEnabled"` - Limits GetProjectsResultLimitArrayInput `pulumi:"limits"` - // The name of the project you want to create. + IsSchemaAdvisorEnabled pulumi.BoolInput `pulumi:"isSchemaAdvisorEnabled"` + // The limits for the specified project. See Limits. + Limits GetProjectsResultLimitArrayInput `pulumi:"limits"` + // Human-readable label that identifies this project limit. Name pulumi.StringInput `pulumi:"name"` // The ID of the organization you want to create the project within. OrgId pulumi.StringInput `pulumi:"orgId"` ProjectId pulumi.StringInput `pulumi:"projectId"` // If GOV_REGIONS_ONLY the project can be used for government regions only, otherwise defaults to standard regions. For more information see [MongoDB Atlas for Government](https://www.mongodb.com/docs/atlas/government/api/#creating-a-project). - // - // See [MongoDB Atlas API - Projects](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Projects) - [and MongoDB Atlas API - Teams](https://docs.atlas.mongodb.com/reference/api/project-get-teams/) Documentation for more information. - RegionUsageRestrictions pulumi.StringInput `pulumi:"regionUsageRestrictions"` - Teams GetProjectsResultTeamArrayInput `pulumi:"teams"` + RegionUsageRestrictions pulumi.StringInput `pulumi:"regionUsageRestrictions"` + // Returns all teams to which the authenticated user has access in the project. See Teams. + Teams GetProjectsResultTeamArrayInput `pulumi:"teams"` } func (GetProjectsResultArgs) ElementType() reflect.Type { @@ -43904,13 +43841,6 @@ func (o GetProjectsResultOutput) ClusterCount() pulumi.IntOutput { } // The ISO-8601-formatted timestamp of when Atlas created the project. -// * `teams.#.team_id` - The unique identifier of the team you want to associate with the project. The team and project must share the same parent organization. -// * `teams.#.role_names` - Each string in the array represents a project role assigned to the team. Every user associated with the team inherits these roles. The [MongoDB Documentation](https://www.mongodb.com/docs/atlas/reference/user-roles/#organization-roles) describes the roles a user can have. -// * `limits.#.name` - Human-readable label that identifies this project limit. -// * `limits.#.value` - Amount the limit is set to. -// * `limits.#.current_usage` - Amount that indicates the current usage of the limit. -// * `limits.#.default_limit` - Default value of the limit. -// * `limits.#.maximum_limit` - Maximum value of the limit. func (o GetProjectsResultOutput) Created() pulumi.StringOutput { return o.ApplyT(func(v GetProjectsResult) string { return v.Created }).(pulumi.StringOutput) } @@ -43920,6 +43850,11 @@ func (o GetProjectsResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v GetProjectsResult) string { return v.Id }).(pulumi.StringOutput) } +// IP addresses in a project categorized by services. See IP Addresses. +func (o GetProjectsResultOutput) IpAddresses() GetProjectsResultIpAddressesOutput { + return o.ApplyT(func(v GetProjectsResult) GetProjectsResultIpAddresses { return v.IpAddresses }).(GetProjectsResultIpAddressesOutput) +} + // Flag that indicates whether to enable statistics in [cluster metrics](https://www.mongodb.com/docs/atlas/monitor-cluster-metrics/) collection for the project. func (o GetProjectsResultOutput) IsCollectDatabaseSpecificsStatisticsEnabled() pulumi.BoolOutput { return o.ApplyT(func(v GetProjectsResult) bool { return v.IsCollectDatabaseSpecificsStatisticsEnabled }).(pulumi.BoolOutput) @@ -43950,11 +43885,12 @@ func (o GetProjectsResultOutput) IsSchemaAdvisorEnabled() pulumi.BoolOutput { return o.ApplyT(func(v GetProjectsResult) bool { return v.IsSchemaAdvisorEnabled }).(pulumi.BoolOutput) } +// The limits for the specified project. See Limits. func (o GetProjectsResultOutput) Limits() GetProjectsResultLimitArrayOutput { return o.ApplyT(func(v GetProjectsResult) []GetProjectsResultLimit { return v.Limits }).(GetProjectsResultLimitArrayOutput) } -// The name of the project you want to create. +// Human-readable label that identifies this project limit. func (o GetProjectsResultOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v GetProjectsResult) string { return v.Name }).(pulumi.StringOutput) } @@ -43969,12 +43905,11 @@ func (o GetProjectsResultOutput) ProjectId() pulumi.StringOutput { } // If GOV_REGIONS_ONLY the project can be used for government regions only, otherwise defaults to standard regions. For more information see [MongoDB Atlas for Government](https://www.mongodb.com/docs/atlas/government/api/#creating-a-project). -// -// See [MongoDB Atlas API - Projects](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Projects) - [and MongoDB Atlas API - Teams](https://docs.atlas.mongodb.com/reference/api/project-get-teams/) Documentation for more information. func (o GetProjectsResultOutput) RegionUsageRestrictions() pulumi.StringOutput { return o.ApplyT(func(v GetProjectsResult) string { return v.RegionUsageRestrictions }).(pulumi.StringOutput) } +// Returns all teams to which the authenticated user has access in the project. See Teams. func (o GetProjectsResultOutput) Teams() GetProjectsResultTeamArrayOutput { return o.ApplyT(func(v GetProjectsResult) []GetProjectsResultTeam { return v.Teams }).(GetProjectsResultTeamArrayOutput) } @@ -43999,13 +43934,223 @@ func (o GetProjectsResultArrayOutput) Index(i pulumi.IntInput) GetProjectsResult }).(GetProjectsResultOutput) } +type GetProjectsResultIpAddresses struct { + Services GetProjectsResultIpAddressesServices `pulumi:"services"` +} + +// GetProjectsResultIpAddressesInput is an input type that accepts GetProjectsResultIpAddressesArgs and GetProjectsResultIpAddressesOutput values. +// You can construct a concrete instance of `GetProjectsResultIpAddressesInput` via: +// +// GetProjectsResultIpAddressesArgs{...} +type GetProjectsResultIpAddressesInput interface { + pulumi.Input + + ToGetProjectsResultIpAddressesOutput() GetProjectsResultIpAddressesOutput + ToGetProjectsResultIpAddressesOutputWithContext(context.Context) GetProjectsResultIpAddressesOutput +} + +type GetProjectsResultIpAddressesArgs struct { + Services GetProjectsResultIpAddressesServicesInput `pulumi:"services"` +} + +func (GetProjectsResultIpAddressesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectsResultIpAddresses)(nil)).Elem() +} + +func (i GetProjectsResultIpAddressesArgs) ToGetProjectsResultIpAddressesOutput() GetProjectsResultIpAddressesOutput { + return i.ToGetProjectsResultIpAddressesOutputWithContext(context.Background()) +} + +func (i GetProjectsResultIpAddressesArgs) ToGetProjectsResultIpAddressesOutputWithContext(ctx context.Context) GetProjectsResultIpAddressesOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectsResultIpAddressesOutput) +} + +type GetProjectsResultIpAddressesOutput struct{ *pulumi.OutputState } + +func (GetProjectsResultIpAddressesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectsResultIpAddresses)(nil)).Elem() +} + +func (o GetProjectsResultIpAddressesOutput) ToGetProjectsResultIpAddressesOutput() GetProjectsResultIpAddressesOutput { + return o +} + +func (o GetProjectsResultIpAddressesOutput) ToGetProjectsResultIpAddressesOutputWithContext(ctx context.Context) GetProjectsResultIpAddressesOutput { + return o +} + +func (o GetProjectsResultIpAddressesOutput) Services() GetProjectsResultIpAddressesServicesOutput { + return o.ApplyT(func(v GetProjectsResultIpAddresses) GetProjectsResultIpAddressesServices { return v.Services }).(GetProjectsResultIpAddressesServicesOutput) +} + +type GetProjectsResultIpAddressesServices struct { + Clusters []GetProjectsResultIpAddressesServicesCluster `pulumi:"clusters"` +} + +// GetProjectsResultIpAddressesServicesInput is an input type that accepts GetProjectsResultIpAddressesServicesArgs and GetProjectsResultIpAddressesServicesOutput values. +// You can construct a concrete instance of `GetProjectsResultIpAddressesServicesInput` via: +// +// GetProjectsResultIpAddressesServicesArgs{...} +type GetProjectsResultIpAddressesServicesInput interface { + pulumi.Input + + ToGetProjectsResultIpAddressesServicesOutput() GetProjectsResultIpAddressesServicesOutput + ToGetProjectsResultIpAddressesServicesOutputWithContext(context.Context) GetProjectsResultIpAddressesServicesOutput +} + +type GetProjectsResultIpAddressesServicesArgs struct { + Clusters GetProjectsResultIpAddressesServicesClusterArrayInput `pulumi:"clusters"` +} + +func (GetProjectsResultIpAddressesServicesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectsResultIpAddressesServices)(nil)).Elem() +} + +func (i GetProjectsResultIpAddressesServicesArgs) ToGetProjectsResultIpAddressesServicesOutput() GetProjectsResultIpAddressesServicesOutput { + return i.ToGetProjectsResultIpAddressesServicesOutputWithContext(context.Background()) +} + +func (i GetProjectsResultIpAddressesServicesArgs) ToGetProjectsResultIpAddressesServicesOutputWithContext(ctx context.Context) GetProjectsResultIpAddressesServicesOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectsResultIpAddressesServicesOutput) +} + +type GetProjectsResultIpAddressesServicesOutput struct{ *pulumi.OutputState } + +func (GetProjectsResultIpAddressesServicesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectsResultIpAddressesServices)(nil)).Elem() +} + +func (o GetProjectsResultIpAddressesServicesOutput) ToGetProjectsResultIpAddressesServicesOutput() GetProjectsResultIpAddressesServicesOutput { + return o +} + +func (o GetProjectsResultIpAddressesServicesOutput) ToGetProjectsResultIpAddressesServicesOutputWithContext(ctx context.Context) GetProjectsResultIpAddressesServicesOutput { + return o +} + +func (o GetProjectsResultIpAddressesServicesOutput) Clusters() GetProjectsResultIpAddressesServicesClusterArrayOutput { + return o.ApplyT(func(v GetProjectsResultIpAddressesServices) []GetProjectsResultIpAddressesServicesCluster { + return v.Clusters + }).(GetProjectsResultIpAddressesServicesClusterArrayOutput) +} + +type GetProjectsResultIpAddressesServicesCluster struct { + ClusterName string `pulumi:"clusterName"` + Inbounds []string `pulumi:"inbounds"` + Outbounds []string `pulumi:"outbounds"` +} + +// GetProjectsResultIpAddressesServicesClusterInput is an input type that accepts GetProjectsResultIpAddressesServicesClusterArgs and GetProjectsResultIpAddressesServicesClusterOutput values. +// You can construct a concrete instance of `GetProjectsResultIpAddressesServicesClusterInput` via: +// +// GetProjectsResultIpAddressesServicesClusterArgs{...} +type GetProjectsResultIpAddressesServicesClusterInput interface { + pulumi.Input + + ToGetProjectsResultIpAddressesServicesClusterOutput() GetProjectsResultIpAddressesServicesClusterOutput + ToGetProjectsResultIpAddressesServicesClusterOutputWithContext(context.Context) GetProjectsResultIpAddressesServicesClusterOutput +} + +type GetProjectsResultIpAddressesServicesClusterArgs struct { + ClusterName pulumi.StringInput `pulumi:"clusterName"` + Inbounds pulumi.StringArrayInput `pulumi:"inbounds"` + Outbounds pulumi.StringArrayInput `pulumi:"outbounds"` +} + +func (GetProjectsResultIpAddressesServicesClusterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectsResultIpAddressesServicesCluster)(nil)).Elem() +} + +func (i GetProjectsResultIpAddressesServicesClusterArgs) ToGetProjectsResultIpAddressesServicesClusterOutput() GetProjectsResultIpAddressesServicesClusterOutput { + return i.ToGetProjectsResultIpAddressesServicesClusterOutputWithContext(context.Background()) +} + +func (i GetProjectsResultIpAddressesServicesClusterArgs) ToGetProjectsResultIpAddressesServicesClusterOutputWithContext(ctx context.Context) GetProjectsResultIpAddressesServicesClusterOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectsResultIpAddressesServicesClusterOutput) +} + +// GetProjectsResultIpAddressesServicesClusterArrayInput is an input type that accepts GetProjectsResultIpAddressesServicesClusterArray and GetProjectsResultIpAddressesServicesClusterArrayOutput values. +// You can construct a concrete instance of `GetProjectsResultIpAddressesServicesClusterArrayInput` via: +// +// GetProjectsResultIpAddressesServicesClusterArray{ GetProjectsResultIpAddressesServicesClusterArgs{...} } +type GetProjectsResultIpAddressesServicesClusterArrayInput interface { + pulumi.Input + + ToGetProjectsResultIpAddressesServicesClusterArrayOutput() GetProjectsResultIpAddressesServicesClusterArrayOutput + ToGetProjectsResultIpAddressesServicesClusterArrayOutputWithContext(context.Context) GetProjectsResultIpAddressesServicesClusterArrayOutput +} + +type GetProjectsResultIpAddressesServicesClusterArray []GetProjectsResultIpAddressesServicesClusterInput + +func (GetProjectsResultIpAddressesServicesClusterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectsResultIpAddressesServicesCluster)(nil)).Elem() +} + +func (i GetProjectsResultIpAddressesServicesClusterArray) ToGetProjectsResultIpAddressesServicesClusterArrayOutput() GetProjectsResultIpAddressesServicesClusterArrayOutput { + return i.ToGetProjectsResultIpAddressesServicesClusterArrayOutputWithContext(context.Background()) +} + +func (i GetProjectsResultIpAddressesServicesClusterArray) ToGetProjectsResultIpAddressesServicesClusterArrayOutputWithContext(ctx context.Context) GetProjectsResultIpAddressesServicesClusterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetProjectsResultIpAddressesServicesClusterArrayOutput) +} + +type GetProjectsResultIpAddressesServicesClusterOutput struct{ *pulumi.OutputState } + +func (GetProjectsResultIpAddressesServicesClusterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetProjectsResultIpAddressesServicesCluster)(nil)).Elem() +} + +func (o GetProjectsResultIpAddressesServicesClusterOutput) ToGetProjectsResultIpAddressesServicesClusterOutput() GetProjectsResultIpAddressesServicesClusterOutput { + return o +} + +func (o GetProjectsResultIpAddressesServicesClusterOutput) ToGetProjectsResultIpAddressesServicesClusterOutputWithContext(ctx context.Context) GetProjectsResultIpAddressesServicesClusterOutput { + return o +} + +func (o GetProjectsResultIpAddressesServicesClusterOutput) ClusterName() pulumi.StringOutput { + return o.ApplyT(func(v GetProjectsResultIpAddressesServicesCluster) string { return v.ClusterName }).(pulumi.StringOutput) +} + +func (o GetProjectsResultIpAddressesServicesClusterOutput) Inbounds() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetProjectsResultIpAddressesServicesCluster) []string { return v.Inbounds }).(pulumi.StringArrayOutput) +} + +func (o GetProjectsResultIpAddressesServicesClusterOutput) Outbounds() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetProjectsResultIpAddressesServicesCluster) []string { return v.Outbounds }).(pulumi.StringArrayOutput) +} + +type GetProjectsResultIpAddressesServicesClusterArrayOutput struct{ *pulumi.OutputState } + +func (GetProjectsResultIpAddressesServicesClusterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetProjectsResultIpAddressesServicesCluster)(nil)).Elem() +} + +func (o GetProjectsResultIpAddressesServicesClusterArrayOutput) ToGetProjectsResultIpAddressesServicesClusterArrayOutput() GetProjectsResultIpAddressesServicesClusterArrayOutput { + return o +} + +func (o GetProjectsResultIpAddressesServicesClusterArrayOutput) ToGetProjectsResultIpAddressesServicesClusterArrayOutputWithContext(ctx context.Context) GetProjectsResultIpAddressesServicesClusterArrayOutput { + return o +} + +func (o GetProjectsResultIpAddressesServicesClusterArrayOutput) Index(i pulumi.IntInput) GetProjectsResultIpAddressesServicesClusterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetProjectsResultIpAddressesServicesCluster { + return vs[0].([]GetProjectsResultIpAddressesServicesCluster)[vs[1].(int)] + }).(GetProjectsResultIpAddressesServicesClusterOutput) +} + type GetProjectsResultLimit struct { + // Amount that indicates the current usage of the limit. CurrentUsage int `pulumi:"currentUsage"` + // Default value of the limit. DefaultLimit int `pulumi:"defaultLimit"` + // Maximum value of the limit. MaximumLimit int `pulumi:"maximumLimit"` - // The name of the project you want to create. - Name string `pulumi:"name"` - Value int `pulumi:"value"` + // Human-readable label that identifies this project limit. + Name string `pulumi:"name"` + // Amount the limit is set to. + Value int `pulumi:"value"` } // GetProjectsResultLimitInput is an input type that accepts GetProjectsResultLimitArgs and GetProjectsResultLimitOutput values. @@ -44020,12 +44165,16 @@ type GetProjectsResultLimitInput interface { } type GetProjectsResultLimitArgs struct { + // Amount that indicates the current usage of the limit. CurrentUsage pulumi.IntInput `pulumi:"currentUsage"` + // Default value of the limit. DefaultLimit pulumi.IntInput `pulumi:"defaultLimit"` + // Maximum value of the limit. MaximumLimit pulumi.IntInput `pulumi:"maximumLimit"` - // The name of the project you want to create. - Name pulumi.StringInput `pulumi:"name"` - Value pulumi.IntInput `pulumi:"value"` + // Human-readable label that identifies this project limit. + Name pulumi.StringInput `pulumi:"name"` + // Amount the limit is set to. + Value pulumi.IntInput `pulumi:"value"` } func (GetProjectsResultLimitArgs) ElementType() reflect.Type { @@ -44079,23 +44228,27 @@ func (o GetProjectsResultLimitOutput) ToGetProjectsResultLimitOutputWithContext( return o } +// Amount that indicates the current usage of the limit. func (o GetProjectsResultLimitOutput) CurrentUsage() pulumi.IntOutput { return o.ApplyT(func(v GetProjectsResultLimit) int { return v.CurrentUsage }).(pulumi.IntOutput) } +// Default value of the limit. func (o GetProjectsResultLimitOutput) DefaultLimit() pulumi.IntOutput { return o.ApplyT(func(v GetProjectsResultLimit) int { return v.DefaultLimit }).(pulumi.IntOutput) } +// Maximum value of the limit. func (o GetProjectsResultLimitOutput) MaximumLimit() pulumi.IntOutput { return o.ApplyT(func(v GetProjectsResultLimit) int { return v.MaximumLimit }).(pulumi.IntOutput) } -// The name of the project you want to create. +// Human-readable label that identifies this project limit. func (o GetProjectsResultLimitOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v GetProjectsResultLimit) string { return v.Name }).(pulumi.StringOutput) } +// Amount the limit is set to. func (o GetProjectsResultLimitOutput) Value() pulumi.IntOutput { return o.ApplyT(func(v GetProjectsResultLimit) int { return v.Value }).(pulumi.IntOutput) } @@ -44121,8 +44274,10 @@ func (o GetProjectsResultLimitArrayOutput) Index(i pulumi.IntInput) GetProjectsR } type GetProjectsResultTeam struct { + // Each string in the array represents a project role assigned to the team. Every user associated with the team inherits these roles. The [MongoDB Documentation](https://www.mongodb.com/docs/atlas/reference/user-roles/#organization-roles) describes the roles a user can have. RoleNames []string `pulumi:"roleNames"` - TeamId string `pulumi:"teamId"` + // The unique identifier of the team you want to associate with the project. The team and project must share the same parent organization. + TeamId string `pulumi:"teamId"` } // GetProjectsResultTeamInput is an input type that accepts GetProjectsResultTeamArgs and GetProjectsResultTeamOutput values. @@ -44137,8 +44292,10 @@ type GetProjectsResultTeamInput interface { } type GetProjectsResultTeamArgs struct { + // Each string in the array represents a project role assigned to the team. Every user associated with the team inherits these roles. The [MongoDB Documentation](https://www.mongodb.com/docs/atlas/reference/user-roles/#organization-roles) describes the roles a user can have. RoleNames pulumi.StringArrayInput `pulumi:"roleNames"` - TeamId pulumi.StringInput `pulumi:"teamId"` + // The unique identifier of the team you want to associate with the project. The team and project must share the same parent organization. + TeamId pulumi.StringInput `pulumi:"teamId"` } func (GetProjectsResultTeamArgs) ElementType() reflect.Type { @@ -44192,10 +44349,12 @@ func (o GetProjectsResultTeamOutput) ToGetProjectsResultTeamOutputWithContext(ct return o } +// Each string in the array represents a project role assigned to the team. Every user associated with the team inherits these roles. The [MongoDB Documentation](https://www.mongodb.com/docs/atlas/reference/user-roles/#organization-roles) describes the roles a user can have. func (o GetProjectsResultTeamOutput) RoleNames() pulumi.StringArrayOutput { return o.ApplyT(func(v GetProjectsResultTeam) []string { return v.RoleNames }).(pulumi.StringArrayOutput) } +// The unique identifier of the team you want to associate with the project. The team and project must share the same parent organization. func (o GetProjectsResultTeamOutput) TeamId() pulumi.StringOutput { return o.ApplyT(func(v GetProjectsResultTeam) string { return v.TeamId }).(pulumi.StringOutput) } @@ -44221,9 +44380,9 @@ func (o GetProjectsResultTeamArrayOutput) Index(i pulumi.IntInput) GetProjectsRe } type GetSearchDeploymentSpec struct { - // (Required) Hardware specification for the search node instance sizes. The [MongoDB Atlas API](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Atlas-Search/operation/createAtlasSearchDeployment) describes the valid values. More details can also be found in the [Search Node Documentation](https://www.mongodb.com/docs/atlas/cluster-config/multi-cloud-distribution/#search-tier). + // Hardware specification for the search node instance sizes. The [MongoDB Atlas API](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Atlas-Search/operation/createAtlasSearchDeployment) describes the valid values. More details can also be found in the [Search Node Documentation](https://www.mongodb.com/docs/atlas/cluster-config/multi-cloud-distribution/#search-tier). InstanceSize string `pulumi:"instanceSize"` - // (Required) Number of search nodes in the cluster. + // Number of search nodes in the cluster. NodeCount int `pulumi:"nodeCount"` } @@ -44239,9 +44398,9 @@ type GetSearchDeploymentSpecInput interface { } type GetSearchDeploymentSpecArgs struct { - // (Required) Hardware specification for the search node instance sizes. The [MongoDB Atlas API](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Atlas-Search/operation/createAtlasSearchDeployment) describes the valid values. More details can also be found in the [Search Node Documentation](https://www.mongodb.com/docs/atlas/cluster-config/multi-cloud-distribution/#search-tier). + // Hardware specification for the search node instance sizes. The [MongoDB Atlas API](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Atlas-Search/operation/createAtlasSearchDeployment) describes the valid values. More details can also be found in the [Search Node Documentation](https://www.mongodb.com/docs/atlas/cluster-config/multi-cloud-distribution/#search-tier). InstanceSize pulumi.StringInput `pulumi:"instanceSize"` - // (Required) Number of search nodes in the cluster. + // Number of search nodes in the cluster. NodeCount pulumi.IntInput `pulumi:"nodeCount"` } @@ -44296,12 +44455,12 @@ func (o GetSearchDeploymentSpecOutput) ToGetSearchDeploymentSpecOutputWithContex return o } -// (Required) Hardware specification for the search node instance sizes. The [MongoDB Atlas API](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Atlas-Search/operation/createAtlasSearchDeployment) describes the valid values. More details can also be found in the [Search Node Documentation](https://www.mongodb.com/docs/atlas/cluster-config/multi-cloud-distribution/#search-tier). +// Hardware specification for the search node instance sizes. The [MongoDB Atlas API](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Atlas-Search/operation/createAtlasSearchDeployment) describes the valid values. More details can also be found in the [Search Node Documentation](https://www.mongodb.com/docs/atlas/cluster-config/multi-cloud-distribution/#search-tier). func (o GetSearchDeploymentSpecOutput) InstanceSize() pulumi.StringOutput { return o.ApplyT(func(v GetSearchDeploymentSpec) string { return v.InstanceSize }).(pulumi.StringOutput) } -// (Required) Number of search nodes in the cluster. +// Number of search nodes in the cluster. func (o GetSearchDeploymentSpecOutput) NodeCount() pulumi.IntOutput { return o.ApplyT(func(v GetSearchDeploymentSpec) int { return v.NodeCount }).(pulumi.IntOutput) } @@ -44461,7 +44620,8 @@ type GetSearchIndexesResult struct { ProjectId string `pulumi:"projectId"` // [Analyzer](https://docs.atlas.mongodb.com/reference/atlas-search/analyzers/#std-label-analyzers-ref) to use when searching the index. SearchAnalyzer *string `pulumi:"searchAnalyzer"` - Status string `pulumi:"status"` + // Current status of the index. + Status string `pulumi:"status"` // Synonyms mapping definition to use in this index. // * `synonyms.#.name` - Name of the [synonym mapping definition](https://docs.atlas.mongodb.com/reference/atlas-search/synonyms/#std-label-synonyms-ref). // * `synonyms.#.source_collection` - Name of the source MongoDB collection for the synonyms. @@ -44505,7 +44665,8 @@ type GetSearchIndexesResultArgs struct { ProjectId pulumi.StringInput `pulumi:"projectId"` // [Analyzer](https://docs.atlas.mongodb.com/reference/atlas-search/analyzers/#std-label-analyzers-ref) to use when searching the index. SearchAnalyzer pulumi.StringPtrInput `pulumi:"searchAnalyzer"` - Status pulumi.StringInput `pulumi:"status"` + // Current status of the index. + Status pulumi.StringInput `pulumi:"status"` // Synonyms mapping definition to use in this index. // * `synonyms.#.name` - Name of the [synonym mapping definition](https://docs.atlas.mongodb.com/reference/atlas-search/synonyms/#std-label-synonyms-ref). // * `synonyms.#.source_collection` - Name of the source MongoDB collection for the synonyms. @@ -44624,6 +44785,7 @@ func (o GetSearchIndexesResultOutput) SearchAnalyzer() pulumi.StringPtrOutput { return o.ApplyT(func(v GetSearchIndexesResult) *string { return v.SearchAnalyzer }).(pulumi.StringPtrOutput) } +// Current status of the index. func (o GetSearchIndexesResultOutput) Status() pulumi.StringOutput { return o.ApplyT(func(v GetSearchIndexesResult) string { return v.Status }).(pulumi.StringOutput) } @@ -46100,8 +46262,6 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*CloudProviderAccessAuthorizationAzurePtrInput)(nil)).Elem(), CloudProviderAccessAuthorizationAzureArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CloudProviderAccessAuthorizationFeatureUsageInput)(nil)).Elem(), CloudProviderAccessAuthorizationFeatureUsageArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CloudProviderAccessAuthorizationFeatureUsageArrayInput)(nil)).Elem(), CloudProviderAccessAuthorizationFeatureUsageArray{}) - pulumi.RegisterInputType(reflect.TypeOf((*CloudProviderAccessFeatureUsageInput)(nil)).Elem(), CloudProviderAccessFeatureUsageArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*CloudProviderAccessFeatureUsageArrayInput)(nil)).Elem(), CloudProviderAccessFeatureUsageArray{}) pulumi.RegisterInputType(reflect.TypeOf((*CloudProviderAccessSetupAwsConfigInput)(nil)).Elem(), CloudProviderAccessSetupAwsConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CloudProviderAccessSetupAwsConfigArrayInput)(nil)).Elem(), CloudProviderAccessSetupAwsConfigArray{}) pulumi.RegisterInputType(reflect.TypeOf((*CloudProviderAccessSetupAzureConfigInput)(nil)).Elem(), CloudProviderAccessSetupAzureConfigArgs{}) @@ -46216,6 +46376,12 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ProjectApiKeyProjectAssignmentArrayInput)(nil)).Elem(), ProjectApiKeyProjectAssignmentArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ProjectIpAccessListTimeoutsInput)(nil)).Elem(), ProjectIpAccessListTimeoutsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ProjectIpAccessListTimeoutsPtrInput)(nil)).Elem(), ProjectIpAccessListTimeoutsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectIpAddressesInput)(nil)).Elem(), ProjectIpAddressesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectIpAddressesPtrInput)(nil)).Elem(), ProjectIpAddressesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectIpAddressesServicesInput)(nil)).Elem(), ProjectIpAddressesServicesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectIpAddressesServicesPtrInput)(nil)).Elem(), ProjectIpAddressesServicesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectIpAddressesServicesClusterInput)(nil)).Elem(), ProjectIpAddressesServicesClusterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProjectIpAddressesServicesClusterArrayInput)(nil)).Elem(), ProjectIpAddressesServicesClusterArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ProjectLimitInput)(nil)).Elem(), ProjectLimitArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ProjectLimitArrayInput)(nil)).Elem(), ProjectLimitArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ProjectTeamInput)(nil)).Elem(), ProjectTeamArgs{}) @@ -46333,11 +46499,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetAtlasUsersResultRoleInput)(nil)).Elem(), GetAtlasUsersResultRoleArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetAtlasUsersResultRoleArrayInput)(nil)).Elem(), GetAtlasUsersResultRoleArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetBackupCompliancePolicyOnDemandPolicyItemInput)(nil)).Elem(), GetBackupCompliancePolicyOnDemandPolicyItemArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetBackupCompliancePolicyOnDemandPolicyItemPtrInput)(nil)).Elem(), GetBackupCompliancePolicyOnDemandPolicyItemArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetBackupCompliancePolicyPolicyItemDailyInput)(nil)).Elem(), GetBackupCompliancePolicyPolicyItemDailyArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetBackupCompliancePolicyPolicyItemDailyPtrInput)(nil)).Elem(), GetBackupCompliancePolicyPolicyItemDailyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetBackupCompliancePolicyPolicyItemHourlyInput)(nil)).Elem(), GetBackupCompliancePolicyPolicyItemHourlyArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetBackupCompliancePolicyPolicyItemHourlyPtrInput)(nil)).Elem(), GetBackupCompliancePolicyPolicyItemHourlyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetBackupCompliancePolicyPolicyItemMonthlyInput)(nil)).Elem(), GetBackupCompliancePolicyPolicyItemMonthlyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetBackupCompliancePolicyPolicyItemMonthlyArrayInput)(nil)).Elem(), GetBackupCompliancePolicyPolicyItemMonthlyArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetBackupCompliancePolicyPolicyItemWeeklyInput)(nil)).Elem(), GetBackupCompliancePolicyPolicyItemWeeklyArgs{}) @@ -46374,10 +46537,6 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetCloudBackupSnapshotsResultArrayInput)(nil)).Elem(), GetCloudBackupSnapshotsResultArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetCloudBackupSnapshotsResultMemberInput)(nil)).Elem(), GetCloudBackupSnapshotsResultMemberArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetCloudBackupSnapshotsResultMemberArrayInput)(nil)).Elem(), GetCloudBackupSnapshotsResultMemberArray{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetCloudProviderAccessAwsIamRoleInput)(nil)).Elem(), GetCloudProviderAccessAwsIamRoleArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetCloudProviderAccessAwsIamRoleArrayInput)(nil)).Elem(), GetCloudProviderAccessAwsIamRoleArray{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetCloudProviderAccessAwsIamRoleFeatureUsageInput)(nil)).Elem(), GetCloudProviderAccessAwsIamRoleFeatureUsageArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetCloudProviderAccessAwsIamRoleFeatureUsageArrayInput)(nil)).Elem(), GetCloudProviderAccessAwsIamRoleFeatureUsageArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetCloudProviderAccessSetupAwsConfigInput)(nil)).Elem(), GetCloudProviderAccessSetupAwsConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetCloudProviderAccessSetupAwsConfigArrayInput)(nil)).Elem(), GetCloudProviderAccessSetupAwsConfigArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetCloudProviderAccessSetupAzureConfigInput)(nil)).Elem(), GetCloudProviderAccessSetupAzureConfigArgs{}) @@ -46644,12 +46803,20 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetProjectApiKeysResultArrayInput)(nil)).Elem(), GetProjectApiKeysResultArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetProjectApiKeysResultProjectAssignmentInput)(nil)).Elem(), GetProjectApiKeysResultProjectAssignmentArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetProjectApiKeysResultProjectAssignmentArrayInput)(nil)).Elem(), GetProjectApiKeysResultProjectAssignmentArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetProjectIpAddressesInput)(nil)).Elem(), GetProjectIpAddressesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetProjectIpAddressesServicesInput)(nil)).Elem(), GetProjectIpAddressesServicesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetProjectIpAddressesServicesClusterInput)(nil)).Elem(), GetProjectIpAddressesServicesClusterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetProjectIpAddressesServicesClusterArrayInput)(nil)).Elem(), GetProjectIpAddressesServicesClusterArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetProjectLimitInput)(nil)).Elem(), GetProjectLimitArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetProjectLimitArrayInput)(nil)).Elem(), GetProjectLimitArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetProjectTeamInput)(nil)).Elem(), GetProjectTeamArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetProjectTeamArrayInput)(nil)).Elem(), GetProjectTeamArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetProjectsResultInput)(nil)).Elem(), GetProjectsResultArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetProjectsResultArrayInput)(nil)).Elem(), GetProjectsResultArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetProjectsResultIpAddressesInput)(nil)).Elem(), GetProjectsResultIpAddressesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetProjectsResultIpAddressesServicesInput)(nil)).Elem(), GetProjectsResultIpAddressesServicesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetProjectsResultIpAddressesServicesClusterInput)(nil)).Elem(), GetProjectsResultIpAddressesServicesClusterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetProjectsResultIpAddressesServicesClusterArrayInput)(nil)).Elem(), GetProjectsResultIpAddressesServicesClusterArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetProjectsResultLimitInput)(nil)).Elem(), GetProjectsResultLimitArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetProjectsResultLimitArrayInput)(nil)).Elem(), GetProjectsResultLimitArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetProjectsResultTeamInput)(nil)).Elem(), GetProjectsResultTeamArgs{}) @@ -46752,8 +46919,6 @@ func init() { pulumi.RegisterOutputType(CloudProviderAccessAuthorizationAzurePtrOutput{}) pulumi.RegisterOutputType(CloudProviderAccessAuthorizationFeatureUsageOutput{}) pulumi.RegisterOutputType(CloudProviderAccessAuthorizationFeatureUsageArrayOutput{}) - pulumi.RegisterOutputType(CloudProviderAccessFeatureUsageOutput{}) - pulumi.RegisterOutputType(CloudProviderAccessFeatureUsageArrayOutput{}) pulumi.RegisterOutputType(CloudProviderAccessSetupAwsConfigOutput{}) pulumi.RegisterOutputType(CloudProviderAccessSetupAwsConfigArrayOutput{}) pulumi.RegisterOutputType(CloudProviderAccessSetupAzureConfigOutput{}) @@ -46868,6 +47033,12 @@ func init() { pulumi.RegisterOutputType(ProjectApiKeyProjectAssignmentArrayOutput{}) pulumi.RegisterOutputType(ProjectIpAccessListTimeoutsOutput{}) pulumi.RegisterOutputType(ProjectIpAccessListTimeoutsPtrOutput{}) + pulumi.RegisterOutputType(ProjectIpAddressesOutput{}) + pulumi.RegisterOutputType(ProjectIpAddressesPtrOutput{}) + pulumi.RegisterOutputType(ProjectIpAddressesServicesOutput{}) + pulumi.RegisterOutputType(ProjectIpAddressesServicesPtrOutput{}) + pulumi.RegisterOutputType(ProjectIpAddressesServicesClusterOutput{}) + pulumi.RegisterOutputType(ProjectIpAddressesServicesClusterArrayOutput{}) pulumi.RegisterOutputType(ProjectLimitOutput{}) pulumi.RegisterOutputType(ProjectLimitArrayOutput{}) pulumi.RegisterOutputType(ProjectTeamOutput{}) @@ -46985,11 +47156,8 @@ func init() { pulumi.RegisterOutputType(GetAtlasUsersResultRoleOutput{}) pulumi.RegisterOutputType(GetAtlasUsersResultRoleArrayOutput{}) pulumi.RegisterOutputType(GetBackupCompliancePolicyOnDemandPolicyItemOutput{}) - pulumi.RegisterOutputType(GetBackupCompliancePolicyOnDemandPolicyItemPtrOutput{}) pulumi.RegisterOutputType(GetBackupCompliancePolicyPolicyItemDailyOutput{}) - pulumi.RegisterOutputType(GetBackupCompliancePolicyPolicyItemDailyPtrOutput{}) pulumi.RegisterOutputType(GetBackupCompliancePolicyPolicyItemHourlyOutput{}) - pulumi.RegisterOutputType(GetBackupCompliancePolicyPolicyItemHourlyPtrOutput{}) pulumi.RegisterOutputType(GetBackupCompliancePolicyPolicyItemMonthlyOutput{}) pulumi.RegisterOutputType(GetBackupCompliancePolicyPolicyItemMonthlyArrayOutput{}) pulumi.RegisterOutputType(GetBackupCompliancePolicyPolicyItemWeeklyOutput{}) @@ -47026,10 +47194,6 @@ func init() { pulumi.RegisterOutputType(GetCloudBackupSnapshotsResultArrayOutput{}) pulumi.RegisterOutputType(GetCloudBackupSnapshotsResultMemberOutput{}) pulumi.RegisterOutputType(GetCloudBackupSnapshotsResultMemberArrayOutput{}) - pulumi.RegisterOutputType(GetCloudProviderAccessAwsIamRoleOutput{}) - pulumi.RegisterOutputType(GetCloudProviderAccessAwsIamRoleArrayOutput{}) - pulumi.RegisterOutputType(GetCloudProviderAccessAwsIamRoleFeatureUsageOutput{}) - pulumi.RegisterOutputType(GetCloudProviderAccessAwsIamRoleFeatureUsageArrayOutput{}) pulumi.RegisterOutputType(GetCloudProviderAccessSetupAwsConfigOutput{}) pulumi.RegisterOutputType(GetCloudProviderAccessSetupAwsConfigArrayOutput{}) pulumi.RegisterOutputType(GetCloudProviderAccessSetupAzureConfigOutput{}) @@ -47296,12 +47460,20 @@ func init() { pulumi.RegisterOutputType(GetProjectApiKeysResultArrayOutput{}) pulumi.RegisterOutputType(GetProjectApiKeysResultProjectAssignmentOutput{}) pulumi.RegisterOutputType(GetProjectApiKeysResultProjectAssignmentArrayOutput{}) + pulumi.RegisterOutputType(GetProjectIpAddressesOutput{}) + pulumi.RegisterOutputType(GetProjectIpAddressesServicesOutput{}) + pulumi.RegisterOutputType(GetProjectIpAddressesServicesClusterOutput{}) + pulumi.RegisterOutputType(GetProjectIpAddressesServicesClusterArrayOutput{}) pulumi.RegisterOutputType(GetProjectLimitOutput{}) pulumi.RegisterOutputType(GetProjectLimitArrayOutput{}) pulumi.RegisterOutputType(GetProjectTeamOutput{}) pulumi.RegisterOutputType(GetProjectTeamArrayOutput{}) pulumi.RegisterOutputType(GetProjectsResultOutput{}) pulumi.RegisterOutputType(GetProjectsResultArrayOutput{}) + pulumi.RegisterOutputType(GetProjectsResultIpAddressesOutput{}) + pulumi.RegisterOutputType(GetProjectsResultIpAddressesServicesOutput{}) + pulumi.RegisterOutputType(GetProjectsResultIpAddressesServicesClusterOutput{}) + pulumi.RegisterOutputType(GetProjectsResultIpAddressesServicesClusterArrayOutput{}) pulumi.RegisterOutputType(GetProjectsResultLimitOutput{}) pulumi.RegisterOutputType(GetProjectsResultLimitArrayOutput{}) pulumi.RegisterOutputType(GetProjectsResultTeamOutput{}) diff --git a/sdk/go/mongodbatlas/searchDeployment.go b/sdk/go/mongodbatlas/searchDeployment.go index dcbb039e..a10d3e2a 100644 --- a/sdk/go/mongodbatlas/searchDeployment.go +++ b/sdk/go/mongodbatlas/searchDeployment.go @@ -18,30 +18,19 @@ import ( // // > **NOTE:** Only a single search deployment resource can be defined for each cluster. // -// ## Import -// -// Search node resource can be imported using the project ID and cluster name, in the format `PROJECT_ID-CLUSTER_NAME`, e.g. -// -// ```sh -// -// $ pulumi import mongodbatlas:index/searchDeployment:SearchDeployment test 650972848269185c55f40ca1-Cluster0 -// -// ``` -// -// For more information see[MongoDB Atlas API - Search Node](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Atlas-Search/operation/createAtlasSearchDeployment) Documentation. +// ## Example Usage type SearchDeployment struct { pulumi.CustomResourceState - // Label that identifies the cluster to create search nodes for. + // Label that identifies the cluster to return the search nodes for. ClusterName pulumi.StringOutput `pulumi:"clusterName"` - // Unique 24-hexadecimal digit string that identifies your project. + // Unique 24-hexadecimal character string that identifies the project. ProjectId pulumi.StringOutput `pulumi:"projectId"` - // List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. See specs. + // List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. Specs SearchDeploymentSpecArrayOutput `pulumi:"specs"` - // Human-readable label that indicates the current operating condition of this search node deployment. - StateName pulumi.StringOutput `pulumi:"stateName"` - // The time to wait for search nodes to be created, updated, or deleted. The timeout value is defined by a signed sequence of decimal numbers with a time unit suffix such as: `1h45m`, `300s`, `10m`, .... The valid time units are: `ns`, `us` (or `µs`), `ms`, `s`, `m`, `h`. The attribute must be defined with nested attributes. - Timeouts SearchDeploymentTimeoutsPtrOutput `pulumi:"timeouts"` + // Human-readable label that indicates the current operating condition of this search deployment. + StateName pulumi.StringOutput `pulumi:"stateName"` + Timeouts SearchDeploymentTimeoutsPtrOutput `pulumi:"timeouts"` } // NewSearchDeployment registers a new resource with the given unique name, arguments, and options. @@ -83,29 +72,27 @@ func GetSearchDeployment(ctx *pulumi.Context, // Input properties used for looking up and filtering SearchDeployment resources. type searchDeploymentState struct { - // Label that identifies the cluster to create search nodes for. + // Label that identifies the cluster to return the search nodes for. ClusterName *string `pulumi:"clusterName"` - // Unique 24-hexadecimal digit string that identifies your project. + // Unique 24-hexadecimal character string that identifies the project. ProjectId *string `pulumi:"projectId"` - // List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. See specs. + // List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. Specs []SearchDeploymentSpec `pulumi:"specs"` - // Human-readable label that indicates the current operating condition of this search node deployment. - StateName *string `pulumi:"stateName"` - // The time to wait for search nodes to be created, updated, or deleted. The timeout value is defined by a signed sequence of decimal numbers with a time unit suffix such as: `1h45m`, `300s`, `10m`, .... The valid time units are: `ns`, `us` (or `µs`), `ms`, `s`, `m`, `h`. The attribute must be defined with nested attributes. - Timeouts *SearchDeploymentTimeouts `pulumi:"timeouts"` + // Human-readable label that indicates the current operating condition of this search deployment. + StateName *string `pulumi:"stateName"` + Timeouts *SearchDeploymentTimeouts `pulumi:"timeouts"` } type SearchDeploymentState struct { - // Label that identifies the cluster to create search nodes for. + // Label that identifies the cluster to return the search nodes for. ClusterName pulumi.StringPtrInput - // Unique 24-hexadecimal digit string that identifies your project. + // Unique 24-hexadecimal character string that identifies the project. ProjectId pulumi.StringPtrInput - // List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. See specs. + // List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. Specs SearchDeploymentSpecArrayInput - // Human-readable label that indicates the current operating condition of this search node deployment. + // Human-readable label that indicates the current operating condition of this search deployment. StateName pulumi.StringPtrInput - // The time to wait for search nodes to be created, updated, or deleted. The timeout value is defined by a signed sequence of decimal numbers with a time unit suffix such as: `1h45m`, `300s`, `10m`, .... The valid time units are: `ns`, `us` (or `µs`), `ms`, `s`, `m`, `h`. The attribute must be defined with nested attributes. - Timeouts SearchDeploymentTimeoutsPtrInput + Timeouts SearchDeploymentTimeoutsPtrInput } func (SearchDeploymentState) ElementType() reflect.Type { @@ -113,25 +100,23 @@ func (SearchDeploymentState) ElementType() reflect.Type { } type searchDeploymentArgs struct { - // Label that identifies the cluster to create search nodes for. + // Label that identifies the cluster to return the search nodes for. ClusterName string `pulumi:"clusterName"` - // Unique 24-hexadecimal digit string that identifies your project. + // Unique 24-hexadecimal character string that identifies the project. ProjectId string `pulumi:"projectId"` - // List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. See specs. - Specs []SearchDeploymentSpec `pulumi:"specs"` - // The time to wait for search nodes to be created, updated, or deleted. The timeout value is defined by a signed sequence of decimal numbers with a time unit suffix such as: `1h45m`, `300s`, `10m`, .... The valid time units are: `ns`, `us` (or `µs`), `ms`, `s`, `m`, `h`. The attribute must be defined with nested attributes. + // List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. + Specs []SearchDeploymentSpec `pulumi:"specs"` Timeouts *SearchDeploymentTimeouts `pulumi:"timeouts"` } // The set of arguments for constructing a SearchDeployment resource. type SearchDeploymentArgs struct { - // Label that identifies the cluster to create search nodes for. + // Label that identifies the cluster to return the search nodes for. ClusterName pulumi.StringInput - // Unique 24-hexadecimal digit string that identifies your project. + // Unique 24-hexadecimal character string that identifies the project. ProjectId pulumi.StringInput - // List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. See specs. - Specs SearchDeploymentSpecArrayInput - // The time to wait for search nodes to be created, updated, or deleted. The timeout value is defined by a signed sequence of decimal numbers with a time unit suffix such as: `1h45m`, `300s`, `10m`, .... The valid time units are: `ns`, `us` (or `µs`), `ms`, `s`, `m`, `h`. The attribute must be defined with nested attributes. + // List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. + Specs SearchDeploymentSpecArrayInput Timeouts SearchDeploymentTimeoutsPtrInput } @@ -222,27 +207,26 @@ func (o SearchDeploymentOutput) ToSearchDeploymentOutputWithContext(ctx context. return o } -// Label that identifies the cluster to create search nodes for. +// Label that identifies the cluster to return the search nodes for. func (o SearchDeploymentOutput) ClusterName() pulumi.StringOutput { return o.ApplyT(func(v *SearchDeployment) pulumi.StringOutput { return v.ClusterName }).(pulumi.StringOutput) } -// Unique 24-hexadecimal digit string that identifies your project. +// Unique 24-hexadecimal character string that identifies the project. func (o SearchDeploymentOutput) ProjectId() pulumi.StringOutput { return o.ApplyT(func(v *SearchDeployment) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) } -// List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. See specs. +// List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. func (o SearchDeploymentOutput) Specs() SearchDeploymentSpecArrayOutput { return o.ApplyT(func(v *SearchDeployment) SearchDeploymentSpecArrayOutput { return v.Specs }).(SearchDeploymentSpecArrayOutput) } -// Human-readable label that indicates the current operating condition of this search node deployment. +// Human-readable label that indicates the current operating condition of this search deployment. func (o SearchDeploymentOutput) StateName() pulumi.StringOutput { return o.ApplyT(func(v *SearchDeployment) pulumi.StringOutput { return v.StateName }).(pulumi.StringOutput) } -// The time to wait for search nodes to be created, updated, or deleted. The timeout value is defined by a signed sequence of decimal numbers with a time unit suffix such as: `1h45m`, `300s`, `10m`, .... The valid time units are: `ns`, `us` (or `µs`), `ms`, `s`, `m`, `h`. The attribute must be defined with nested attributes. func (o SearchDeploymentOutput) Timeouts() SearchDeploymentTimeoutsPtrOutput { return o.ApplyT(func(v *SearchDeployment) SearchDeploymentTimeoutsPtrOutput { return v.Timeouts }).(SearchDeploymentTimeoutsPtrOutput) } diff --git a/sdk/go/mongodbatlas/searchIndex.go b/sdk/go/mongodbatlas/searchIndex.go index d2ff6c7f..b9092dbe 100644 --- a/sdk/go/mongodbatlas/searchIndex.go +++ b/sdk/go/mongodbatlas/searchIndex.go @@ -202,7 +202,8 @@ type SearchIndex struct { ProjectId pulumi.StringOutput `pulumi:"projectId"` // [Analyzer](https://docs.atlas.mongodb.com/reference/atlas-search/analyzers/#std-label-analyzers-ref) to use when searching the index. Defaults to [lucene.standard](https://docs.atlas.mongodb.com/reference/atlas-search/analyzers/standard/#std-label-ref-standard-analyzer) SearchAnalyzer pulumi.StringPtrOutput `pulumi:"searchAnalyzer"` - Status pulumi.StringOutput `pulumi:"status"` + // Current status of the index. + Status pulumi.StringOutput `pulumi:"status"` // Synonyms mapping definition to use in this index. Synonyms SearchIndexSynonymArrayOutput `pulumi:"synonyms"` // Type of index: `search` or `vectorSearch`. Default type is `search`. @@ -275,7 +276,8 @@ type searchIndexState struct { ProjectId *string `pulumi:"projectId"` // [Analyzer](https://docs.atlas.mongodb.com/reference/atlas-search/analyzers/#std-label-analyzers-ref) to use when searching the index. Defaults to [lucene.standard](https://docs.atlas.mongodb.com/reference/atlas-search/analyzers/standard/#std-label-ref-standard-analyzer) SearchAnalyzer *string `pulumi:"searchAnalyzer"` - Status *string `pulumi:"status"` + // Current status of the index. + Status *string `pulumi:"status"` // Synonyms mapping definition to use in this index. Synonyms []SearchIndexSynonym `pulumi:"synonyms"` // Type of index: `search` or `vectorSearch`. Default type is `search`. @@ -307,7 +309,8 @@ type SearchIndexState struct { ProjectId pulumi.StringPtrInput // [Analyzer](https://docs.atlas.mongodb.com/reference/atlas-search/analyzers/#std-label-analyzers-ref) to use when searching the index. Defaults to [lucene.standard](https://docs.atlas.mongodb.com/reference/atlas-search/analyzers/standard/#std-label-ref-standard-analyzer) SearchAnalyzer pulumi.StringPtrInput - Status pulumi.StringPtrInput + // Current status of the index. + Status pulumi.StringPtrInput // Synonyms mapping definition to use in this index. Synonyms SearchIndexSynonymArrayInput // Type of index: `search` or `vectorSearch`. Default type is `search`. @@ -342,7 +345,6 @@ type searchIndexArgs struct { ProjectId string `pulumi:"projectId"` // [Analyzer](https://docs.atlas.mongodb.com/reference/atlas-search/analyzers/#std-label-analyzers-ref) to use when searching the index. Defaults to [lucene.standard](https://docs.atlas.mongodb.com/reference/atlas-search/analyzers/standard/#std-label-ref-standard-analyzer) SearchAnalyzer *string `pulumi:"searchAnalyzer"` - Status *string `pulumi:"status"` // Synonyms mapping definition to use in this index. Synonyms []SearchIndexSynonym `pulumi:"synonyms"` // Type of index: `search` or `vectorSearch`. Default type is `search`. @@ -374,7 +376,6 @@ type SearchIndexArgs struct { ProjectId pulumi.StringInput // [Analyzer](https://docs.atlas.mongodb.com/reference/atlas-search/analyzers/#std-label-analyzers-ref) to use when searching the index. Defaults to [lucene.standard](https://docs.atlas.mongodb.com/reference/atlas-search/analyzers/standard/#std-label-ref-standard-analyzer) SearchAnalyzer pulumi.StringPtrInput - Status pulumi.StringPtrInput // Synonyms mapping definition to use in this index. Synonyms SearchIndexSynonymArrayInput // Type of index: `search` or `vectorSearch`. Default type is `search`. @@ -528,6 +529,7 @@ func (o SearchIndexOutput) SearchAnalyzer() pulumi.StringPtrOutput { return o.ApplyT(func(v *SearchIndex) pulumi.StringPtrOutput { return v.SearchAnalyzer }).(pulumi.StringPtrOutput) } +// Current status of the index. func (o SearchIndexOutput) Status() pulumi.StringOutput { return o.ApplyT(func(v *SearchIndex) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) } diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/ApiKey.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/ApiKey.java index 330c1700..8a6b25f3 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/ApiKey.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/ApiKey.java @@ -15,6 +15,38 @@ import javax.annotation.Nullable; /** + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.mongodbatlas.ApiKey; + * import com.pulumi.mongodbatlas.ApiKeyArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * var test = new ApiKey("test", ApiKeyArgs.builder() + * .description("key-name") + * .orgId("<ORG_ID>") + * .roleNames("ORG_READ_ONLY") + * .build()); + * + * } + * } + * ``` + * * ## Import * * API Keys must be imported using org ID, API Key ID e.g. 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 24168009..9c514570 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/BackupCompliancePolicy.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/BackupCompliancePolicy.java @@ -84,28 +84,28 @@ public Output authorizedUserLastName() { * */ @Export(name="copyProtectionEnabled", refs={Boolean.class}, tree="[0]") - private Output copyProtectionEnabled; + private Output copyProtectionEnabled; /** * @return Flag that indicates whether to enable additional backup copies for the cluster. If unspecified, this value defaults to false. * */ - public Output copyProtectionEnabled() { - return this.copyProtectionEnabled; + public Output> copyProtectionEnabled() { + return Codegen.optional(this.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. * */ @Export(name="encryptionAtRestEnabled", refs={Boolean.class}, tree="[0]") - private Output encryptionAtRestEnabled; + private Output encryptionAtRestEnabled; /** * @return 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. * */ - public Output encryptionAtRestEnabled() { - return this.encryptionAtRestEnabled; + public Output> encryptionAtRestEnabled() { + return Codegen.optional(this.encryptionAtRestEnabled); } @Export(name="onDemandPolicyItem", refs={BackupCompliancePolicyOnDemandPolicyItem.class}, tree="[0]") private Output onDemandPolicyItem; @@ -118,14 +118,14 @@ public Output onDemandPolicyItem() { * */ @Export(name="pitEnabled", refs={Boolean.class}, tree="[0]") - private Output pitEnabled; + private Output pitEnabled; /** * @return Flag that indicates whether the cluster uses Continuous Cloud Backups with a Backup Compliance Policy. If unspecified, this value defaults to false. * */ - public Output pitEnabled() { - return this.pitEnabled; + public Output> pitEnabled() { + return Codegen.optional(this.pitEnabled); } @Export(name="policyItemDaily", refs={BackupCompliancePolicyPolicyItemDaily.class}, tree="[0]") private Output policyItemDaily; 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 3819be3f..cb29d6a8 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/BackupCompliancePolicyArgs.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/BackupCompliancePolicyArgs.java @@ -73,30 +73,30 @@ public Output authorizedUserLastName() { * Flag that indicates whether to enable additional backup copies for the cluster. If unspecified, this value defaults to false. * */ - @Import(name="copyProtectionEnabled", required=true) - private Output copyProtectionEnabled; + @Import(name="copyProtectionEnabled") + private @Nullable Output copyProtectionEnabled; /** * @return Flag that indicates whether to enable additional backup copies for the cluster. If unspecified, this value defaults to false. * */ - public Output copyProtectionEnabled() { - return this.copyProtectionEnabled; + public Optional> copyProtectionEnabled() { + return Optional.ofNullable(this.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. * */ - @Import(name="encryptionAtRestEnabled", required=true) - private Output encryptionAtRestEnabled; + @Import(name="encryptionAtRestEnabled") + private @Nullable Output encryptionAtRestEnabled; /** * @return 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. * */ - public Output encryptionAtRestEnabled() { - return this.encryptionAtRestEnabled; + public Optional> encryptionAtRestEnabled() { + return Optional.ofNullable(this.encryptionAtRestEnabled); } @Import(name="onDemandPolicyItem", required=true) @@ -110,15 +110,15 @@ public Output onDemandPolicyItem() * Flag that indicates whether the cluster uses Continuous Cloud Backups with a Backup Compliance Policy. If unspecified, this value defaults to false. * */ - @Import(name="pitEnabled", required=true) - private Output pitEnabled; + @Import(name="pitEnabled") + private @Nullable Output pitEnabled; /** * @return Flag that indicates whether the cluster uses Continuous Cloud Backups with a Backup Compliance Policy. If unspecified, this value defaults to false. * */ - public Output pitEnabled() { - return this.pitEnabled; + public Optional> pitEnabled() { + return Optional.ofNullable(this.pitEnabled); } @Import(name="policyItemDaily") @@ -284,7 +284,7 @@ public Builder authorizedUserLastName(String authorizedUserLastName) { * @return builder * */ - public Builder copyProtectionEnabled(Output copyProtectionEnabled) { + public Builder copyProtectionEnabled(@Nullable Output copyProtectionEnabled) { $.copyProtectionEnabled = copyProtectionEnabled; return this; } @@ -305,7 +305,7 @@ public Builder copyProtectionEnabled(Boolean copyProtectionEnabled) { * @return builder * */ - public Builder encryptionAtRestEnabled(Output encryptionAtRestEnabled) { + public Builder encryptionAtRestEnabled(@Nullable Output encryptionAtRestEnabled) { $.encryptionAtRestEnabled = encryptionAtRestEnabled; return this; } @@ -335,7 +335,7 @@ public Builder onDemandPolicyItem(BackupCompliancePolicyOnDemandPolicyItemArgs o * @return builder * */ - public Builder pitEnabled(Output pitEnabled) { + public Builder pitEnabled(@Nullable Output pitEnabled) { $.pitEnabled = pitEnabled; return this; } @@ -446,18 +446,9 @@ public BackupCompliancePolicyArgs build() { if ($.authorizedUserLastName == null) { throw new MissingRequiredPropertyException("BackupCompliancePolicyArgs", "authorizedUserLastName"); } - if ($.copyProtectionEnabled == null) { - throw new MissingRequiredPropertyException("BackupCompliancePolicyArgs", "copyProtectionEnabled"); - } - if ($.encryptionAtRestEnabled == null) { - throw new MissingRequiredPropertyException("BackupCompliancePolicyArgs", "encryptionAtRestEnabled"); - } if ($.onDemandPolicyItem == null) { throw new MissingRequiredPropertyException("BackupCompliancePolicyArgs", "onDemandPolicyItem"); } - if ($.pitEnabled == null) { - throw new MissingRequiredPropertyException("BackupCompliancePolicyArgs", "pitEnabled"); - } if ($.projectId == null) { throw new MissingRequiredPropertyException("BackupCompliancePolicyArgs", "projectId"); } diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/CloudProviderAccess.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/CloudProviderAccess.java deleted file mode 100644 index 9de623cb..00000000 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/CloudProviderAccess.java +++ /dev/null @@ -1,429 +0,0 @@ -// *** WARNING: this file was generated by pulumi-java-gen. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -package com.pulumi.mongodbatlas; - -import com.pulumi.core.Output; -import com.pulumi.core.annotations.Export; -import com.pulumi.core.annotations.ResourceType; -import com.pulumi.core.internal.Codegen; -import com.pulumi.mongodbatlas.CloudProviderAccessArgs; -import com.pulumi.mongodbatlas.Utilities; -import com.pulumi.mongodbatlas.inputs.CloudProviderAccessState; -import com.pulumi.mongodbatlas.outputs.CloudProviderAccessFeatureUsage; -import java.lang.String; -import java.util.List; -import javax.annotation.Nullable; - -/** - * ## Example Usage - * ```java - * package generated_program; - * - * import com.pulumi.Context; - * import com.pulumi.Pulumi; - * import com.pulumi.core.Output; - * import com.pulumi.mongodbatlas.CloudProviderAccess; - * import com.pulumi.mongodbatlas.CloudProviderAccessArgs; - * import java.util.List; - * import java.util.ArrayList; - * import java.util.Map; - * import java.io.File; - * import java.nio.file.Files; - * import java.nio.file.Paths; - * - * public class App { - * public static void main(String[] args) { - * Pulumi.run(App::stack); - * } - * - * public static void stack(Context ctx) { - * var testRole = new CloudProviderAccess("testRole", CloudProviderAccessArgs.builder() - * .projectId("64259ee860c43338194b0f8e") - * .providerName("AWS") - * .build()); - * - * } - * } - * ``` - * ### With AWS - * ```java - * package generated_program; - * - * import com.pulumi.Context; - * import com.pulumi.Pulumi; - * import com.pulumi.core.Output; - * import com.pulumi.mongodbatlas.CloudProviderAccessSetup; - * import com.pulumi.mongodbatlas.CloudProviderAccessSetupArgs; - * import java.util.List; - * import java.util.ArrayList; - * import java.util.Map; - * import java.io.File; - * import java.nio.file.Files; - * import java.nio.file.Paths; - * - * public class App { - * public static void main(String[] args) { - * Pulumi.run(App::stack); - * } - * - * public static void stack(Context ctx) { - * var testRole = new CloudProviderAccessSetup("testRole", CloudProviderAccessSetupArgs.builder() - * .projectId("64259ee860c43338194b0f8e") - * .providerName("AWS") - * .build()); - * - * } - * } - * ``` - * ### With Azure - * ```java - * package generated_program; - * - * import com.pulumi.Context; - * import com.pulumi.Pulumi; - * import com.pulumi.core.Output; - * import com.pulumi.mongodbatlas.CloudProviderAccessSetup; - * import com.pulumi.mongodbatlas.CloudProviderAccessSetupArgs; - * import com.pulumi.mongodbatlas.inputs.CloudProviderAccessSetupAzureConfigArgs; - * import java.util.List; - * import java.util.ArrayList; - * import java.util.Map; - * import java.io.File; - * import java.nio.file.Files; - * import java.nio.file.Paths; - * - * public class App { - * public static void main(String[] args) { - * Pulumi.run(App::stack); - * } - * - * public static void stack(Context ctx) { - * var testRole = new CloudProviderAccessSetup("testRole", CloudProviderAccessSetupArgs.builder() - * .azureConfigs(CloudProviderAccessSetupAzureConfigArgs.builder() - * .atlasAzureAppId("9f2deb0d-be22-4524-a403-df531868bac0") - * .servicePrincipalId("22f1d2a6-d0e9-482a-83a4-b8dd7dddc2c1") - * .tenantId("91402384-d71e-22f5-22dd-759e272cdc1c") - * .build()) - * .projectId("64259ee860c43338194b0f8e") - * .providerName("AZURE") - * .build()); - * - * } - * } - * ``` - * ### With AWS - * ```java - * package generated_program; - * - * import com.pulumi.Context; - * import com.pulumi.Pulumi; - * import com.pulumi.core.Output; - * import com.pulumi.mongodbatlas.CloudProviderAccessSetup; - * import com.pulumi.mongodbatlas.CloudProviderAccessSetupArgs; - * import com.pulumi.mongodbatlas.CloudProviderAccessAuthorization; - * import com.pulumi.mongodbatlas.CloudProviderAccessAuthorizationArgs; - * import com.pulumi.mongodbatlas.inputs.CloudProviderAccessAuthorizationAwsArgs; - * import java.util.List; - * import java.util.ArrayList; - * import java.util.Map; - * import java.io.File; - * import java.nio.file.Files; - * import java.nio.file.Paths; - * - * public class App { - * public static void main(String[] args) { - * Pulumi.run(App::stack); - * } - * - * public static void stack(Context ctx) { - * var setupOnly = new CloudProviderAccessSetup("setupOnly", CloudProviderAccessSetupArgs.builder() - * .projectId("64259ee860c43338194b0f8e") - * .providerName("AWS") - * .build()); - * - * var authRole = new CloudProviderAccessAuthorization("authRole", CloudProviderAccessAuthorizationArgs.builder() - * .projectId(setupOnly.projectId()) - * .roleId(setupOnly.roleId()) - * .aws(CloudProviderAccessAuthorizationAwsArgs.builder() - * .iamAssumedRoleArn("arn:aws:iam::772401394250:role/test-user-role") - * .build()) - * .build()); - * - * } - * } - * ``` - * ```java - * package generated_program; - * - * import com.pulumi.Context; - * import com.pulumi.Pulumi; - * import com.pulumi.core.Output; - * import com.pulumi.mongodbatlas.CloudProviderAccessSetup; - * import com.pulumi.mongodbatlas.CloudProviderAccessSetupArgs; - * import com.pulumi.mongodbatlas.inputs.CloudProviderAccessSetupAzureConfigArgs; - * import com.pulumi.mongodbatlas.CloudProviderAccessAuthorization; - * import com.pulumi.mongodbatlas.CloudProviderAccessAuthorizationArgs; - * import com.pulumi.mongodbatlas.inputs.CloudProviderAccessAuthorizationAzureArgs; - * import java.util.List; - * import java.util.ArrayList; - * import java.util.Map; - * import java.io.File; - * import java.nio.file.Files; - * import java.nio.file.Paths; - * - * public class App { - * public static void main(String[] args) { - * Pulumi.run(App::stack); - * } - * - * public static void stack(Context ctx) { - * var setupOnly = new CloudProviderAccessSetup("setupOnly", CloudProviderAccessSetupArgs.builder() - * .projectId("64259ee860c43338194b0f8e") - * .providerName("AZURE") - * .azureConfigs(CloudProviderAccessSetupAzureConfigArgs.builder() - * .atlasAzureAppId("9f2deb0d-be22-4524-a403-df531868bac0") - * .servicePrincipalId("22f1d2a6-d0e9-482a-83a4-b8dd7dddc2c1") - * .tenantId("91402384-d71e-22f5-22dd-759e272cdc1c") - * .build()) - * .build()); - * - * var authRole = new CloudProviderAccessAuthorization("authRole", CloudProviderAccessAuthorizationArgs.builder() - * .projectId(setupOnly.projectId()) - * .roleId(setupOnly.roleId()) - * .azure(CloudProviderAccessAuthorizationAzureArgs.builder() - * .atlasAzureAppId("9f2deb0d-be22-4524-a403-df531868bac0") - * .servicePrincipalId("22f1d2a6-d0e9-482a-83a4-b8dd7dddc2c1") - * .tenantId("91402384-d71e-22f5-22dd-759e272cdc1c") - * .build()) - * .build()); - * - * } - * } - * ``` - * ## Authorize role - * - * Once the resource is created add the field `iam_assumed_role_arn` see [Set Up Unified AWS Access](https://docs.atlas.mongodb.com/security/set-up-unified-aws-access/#set-up-unified-aws-access) , and execute a new `pulumi up` this will create a PATCH request. - * ```java - * package generated_program; - * - * import com.pulumi.Context; - * import com.pulumi.Pulumi; - * import com.pulumi.core.Output; - * import com.pulumi.mongodbatlas.CloudProviderAccess; - * import com.pulumi.mongodbatlas.CloudProviderAccessArgs; - * import java.util.List; - * import java.util.ArrayList; - * import java.util.Map; - * import java.io.File; - * import java.nio.file.Files; - * import java.nio.file.Paths; - * - * public class App { - * public static void main(String[] args) { - * Pulumi.run(App::stack); - * } - * - * public static void stack(Context ctx) { - * var testRole = new CloudProviderAccess("testRole", CloudProviderAccessArgs.builder() - * .iamAssumedRoleArn("arn:aws:iam::772401394250:role/test-user-role") - * .projectId("<PROJECT-ID>") - * .providerName("AWS") - * .build()); - * - * } - * } - * ``` - * - * ## Import - * - * The Cloud Provider Access resource can be imported using project ID and the provider name and mongodbatlas role id, in the format `project_id`-`provider_name`-`role_id`, e.g. - * - * ```sh - * $ pulumi import mongodbatlas:index/cloudProviderAccess:CloudProviderAccess my_role 1112222b3bf99403840e8934-AWS-5fc17d476f7a33224f5b224e - * ``` - * See [MongoDB Atlas API](https://docs.atlas.mongodb.com/reference/api/cloud-provider-access-create-one-role/) Documentation for more information. - * - */ -@ResourceType(type="mongodbatlas:index/cloudProviderAccess:CloudProviderAccess") -public class CloudProviderAccess extends com.pulumi.resources.CustomResource { - /** - * Unique external ID Atlas uses when assuming the IAM role in your AWS account. - * - */ - @Export(name="atlasAssumedRoleExternalId", refs={String.class}, tree="[0]") - private Output atlasAssumedRoleExternalId; - - /** - * @return Unique external ID Atlas uses when assuming the IAM role in your AWS account. - * - */ - public Output atlasAssumedRoleExternalId() { - return this.atlasAssumedRoleExternalId; - } - /** - * ARN associated with the Atlas AWS account used to assume IAM roles in your AWS account. - * - */ - @Export(name="atlasAwsAccountArn", refs={String.class}, tree="[0]") - private Output atlasAwsAccountArn; - - /** - * @return ARN associated with the Atlas AWS account used to assume IAM roles in your AWS account. - * - */ - public Output atlasAwsAccountArn() { - return this.atlasAwsAccountArn; - } - /** - * Date on which this role was authorized. - * - */ - @Export(name="authorizedDate", refs={String.class}, tree="[0]") - private Output authorizedDate; - - /** - * @return Date on which this role was authorized. - * - */ - public Output authorizedDate() { - return this.authorizedDate; - } - /** - * Date on which this role was created. - * - */ - @Export(name="createdDate", refs={String.class}, tree="[0]") - private Output createdDate; - - /** - * @return Date on which this role was created. - * - */ - public Output createdDate() { - return this.createdDate; - } - /** - * Atlas features this AWS IAM role is linked to. - * - */ - @Export(name="featureUsages", refs={List.class,CloudProviderAccessFeatureUsage.class}, tree="[0,1]") - private Output> featureUsages; - - /** - * @return Atlas features this AWS IAM role is linked to. - * - */ - public Output> featureUsages() { - return this.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). - * - */ - @Export(name="iamAssumedRoleArn", refs={String.class}, tree="[0]") - 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 this.iamAssumedRoleArn; - } - /** - * The unique ID for the project - * - */ - @Export(name="projectId", refs={String.class}, tree="[0]") - private Output projectId; - - /** - * @return The unique ID for the project - * - */ - public Output projectId() { - return this.projectId; - } - /** - * The cloud provider for which to create a new role. Currently only AWS is supported. - * - */ - @Export(name="providerName", refs={String.class}, tree="[0]") - private Output providerName; - - /** - * @return The cloud provider for which to create a new role. Currently only AWS is supported. - * - */ - public Output providerName() { - return this.providerName; - } - /** - * Unique ID of this role returned by mongodb atlas api - * - * Conditional - * - */ - @Export(name="roleId", refs={String.class}, tree="[0]") - private Output roleId; - - /** - * @return Unique ID of this role returned by mongodb atlas api - * - * Conditional - * - */ - public Output roleId() { - return this.roleId; - } - - /** - * - * @param name The _unique_ name of the resulting resource. - */ - public CloudProviderAccess(String name) { - this(name, CloudProviderAccessArgs.Empty); - } - /** - * - * @param name The _unique_ name of the resulting resource. - * @param args The arguments to use to populate this resource's properties. - */ - public CloudProviderAccess(String name, CloudProviderAccessArgs args) { - this(name, args, null); - } - /** - * - * @param name The _unique_ name of the resulting resource. - * @param args The arguments to use to populate this resource's properties. - * @param options A bag of options that control this resource's behavior. - */ - public CloudProviderAccess(String name, CloudProviderAccessArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("mongodbatlas:index/cloudProviderAccess:CloudProviderAccess", name, args == null ? CloudProviderAccessArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); - } - - private CloudProviderAccess(String name, Output id, @Nullable CloudProviderAccessState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("mongodbatlas:index/cloudProviderAccess:CloudProviderAccess", name, state, makeResourceOptions(options, id)); - } - - private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { - var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() - .version(Utilities.getVersion()) - .build(); - return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); - } - - /** - * Get an existing Host resource's state with the given name, ID, and optional extra - * properties used to qualify the lookup. - * - * @param name The _unique_ name of the resulting resource. - * @param id The _unique_ provider ID of the resource to lookup. - * @param state - * @param options Optional settings to control the behavior of the CustomResource. - */ - public static CloudProviderAccess get(String name, Output id, @Nullable CloudProviderAccessState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { - return new CloudProviderAccess(name, id, state, options); - } -} diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/CloudProviderAccessArgs.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/CloudProviderAccessArgs.java deleted file mode 100644 index 3847358f..00000000 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/CloudProviderAccessArgs.java +++ /dev/null @@ -1,164 +0,0 @@ -// *** WARNING: this file was generated by pulumi-java-gen. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -package com.pulumi.mongodbatlas; - -import com.pulumi.core.Output; -import com.pulumi.core.annotations.Import; -import com.pulumi.exceptions.MissingRequiredPropertyException; -import java.lang.String; -import java.util.Objects; -import java.util.Optional; -import javax.annotation.Nullable; - - -public final class CloudProviderAccessArgs extends com.pulumi.resources.ResourceArgs { - - public static final CloudProviderAccessArgs Empty = new CloudProviderAccessArgs(); - - /** - * 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). - * - */ - @Import(name="iamAssumedRoleArn") - private @Nullable 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 Optional> iamAssumedRoleArn() { - return Optional.ofNullable(this.iamAssumedRoleArn); - } - - /** - * The unique ID for the project - * - */ - @Import(name="projectId", required=true) - private Output projectId; - - /** - * @return The unique ID for the project - * - */ - public Output projectId() { - return this.projectId; - } - - /** - * The cloud provider for which to create a new role. Currently only AWS is supported. - * - */ - @Import(name="providerName", required=true) - private Output providerName; - - /** - * @return The cloud provider for which to create a new role. Currently only AWS is supported. - * - */ - public Output providerName() { - return this.providerName; - } - - private CloudProviderAccessArgs() {} - - private CloudProviderAccessArgs(CloudProviderAccessArgs $) { - this.iamAssumedRoleArn = $.iamAssumedRoleArn; - this.projectId = $.projectId; - this.providerName = $.providerName; - } - - public static Builder builder() { - return new Builder(); - } - public static Builder builder(CloudProviderAccessArgs defaults) { - return new Builder(defaults); - } - - public static final class Builder { - private CloudProviderAccessArgs $; - - public Builder() { - $ = new CloudProviderAccessArgs(); - } - - public Builder(CloudProviderAccessArgs defaults) { - $ = new CloudProviderAccessArgs(Objects.requireNonNull(defaults)); - } - - /** - * @param iamAssumedRoleArn 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). - * - * @return builder - * - */ - public Builder iamAssumedRoleArn(@Nullable Output iamAssumedRoleArn) { - $.iamAssumedRoleArn = iamAssumedRoleArn; - return this; - } - - /** - * @param iamAssumedRoleArn 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). - * - * @return builder - * - */ - public Builder iamAssumedRoleArn(String iamAssumedRoleArn) { - return iamAssumedRoleArn(Output.of(iamAssumedRoleArn)); - } - - /** - * @param projectId The unique ID for the project - * - * @return builder - * - */ - public Builder projectId(Output projectId) { - $.projectId = projectId; - return this; - } - - /** - * @param projectId The unique ID for the project - * - * @return builder - * - */ - public Builder projectId(String projectId) { - return projectId(Output.of(projectId)); - } - - /** - * @param providerName The cloud provider for which to create a new role. Currently only AWS is supported. - * - * @return builder - * - */ - public Builder providerName(Output providerName) { - $.providerName = providerName; - return this; - } - - /** - * @param providerName The cloud provider for which to create a new role. Currently only AWS is supported. - * - * @return builder - * - */ - public Builder providerName(String providerName) { - return providerName(Output.of(providerName)); - } - - public CloudProviderAccessArgs build() { - if ($.projectId == null) { - throw new MissingRequiredPropertyException("CloudProviderAccessArgs", "projectId"); - } - if ($.providerName == null) { - throw new MissingRequiredPropertyException("CloudProviderAccessArgs", "providerName"); - } - return $; - } - } - -} diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/FederatedDatabaseInstance.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/FederatedDatabaseInstance.java index ba2b90a2..6b026600 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/FederatedDatabaseInstance.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/FederatedDatabaseInstance.java @@ -16,7 +16,6 @@ import com.pulumi.mongodbatlas.outputs.FederatedDatabaseInstanceStorageStore; import java.lang.String; import java.util.List; -import java.util.Optional; import javax.annotation.Nullable; /** @@ -172,16 +171,16 @@ @ResourceType(type="mongodbatlas:index/federatedDatabaseInstance:FederatedDatabaseInstance") public class FederatedDatabaseInstance extends com.pulumi.resources.CustomResource { @Export(name="cloudProviderConfig", refs={FederatedDatabaseInstanceCloudProviderConfig.class}, tree="[0]") - private Output cloudProviderConfig; + private Output cloudProviderConfig; - public Output> cloudProviderConfig() { - return Codegen.optional(this.cloudProviderConfig); + public Output cloudProviderConfig() { + return this.cloudProviderConfig; } @Export(name="dataProcessRegion", refs={FederatedDatabaseInstanceDataProcessRegion.class}, tree="[0]") - private Output dataProcessRegion; + private Output dataProcessRegion; - public Output> dataProcessRegion() { - return Codegen.optional(this.dataProcessRegion); + public Output dataProcessRegion() { + return this.dataProcessRegion; } /** * The list of hostnames assigned to the Federated Database Instance. Each string in the array is a hostname assigned to the Federated Database Instance. @@ -268,7 +267,7 @@ public Output state() { * */ @Export(name="storageDatabases", refs={List.class,FederatedDatabaseInstanceStorageDatabase.class}, tree="[0,1]") - private Output> storageDatabases; + private Output> storageDatabases; /** * @return Configuration details for mapping each data store to queryable databases and collections. For complete documentation on this object and its nested fields, see [databases](https://docs.mongodb.com/datalake/reference/format/data-lake-configuration#std-label-datalake-databases-reference). An empty object indicates that the Federated Database Instance has no mapping configuration for any data store. @@ -294,8 +293,8 @@ public Output state() { * * `storage_databases.#.views.#.pipeline`- Aggregation pipeline stage(s) to apply to the source collection. * */ - public Output>> storageDatabases() { - return Codegen.optional(this.storageDatabases); + public Output> storageDatabases() { + return this.storageDatabases; } /** * Each object in the array represents a data store. Federated Database uses the storage.databases configuration details to map data in each data store to queryable databases and collections. For complete documentation on this object and its nested fields, see [stores](https://docs.mongodb.com/datalake/reference/format/data-lake-configuration#std-label-datalake-stores-reference). An empty object indicates that the Federated Database Instance has no configured data stores. diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/FederatedSettingsIdentityProvider.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/FederatedSettingsIdentityProvider.java index 8e57e46d..51a19722 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/FederatedSettingsIdentityProvider.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/FederatedSettingsIdentityProvider.java @@ -18,6 +18,8 @@ /** * `mongodbatlas.FederatedSettingsIdentityProvider` provides an Atlas federated settings identity provider resource provides a subset of settings to be maintained post import of the existing resource. + * + * > **NOTE:** OIDC Workforce IdP is currently in preview. To learn more about OIDC and existing limitations see the [OIDC Authentication Documentation](https://www.mongodb.com/docs/atlas/security-oidc/). * ## Example Usage * * > **IMPORTANT** You **MUST** import this resource before you can manage it with this provider. @@ -64,7 +66,9 @@ * ```sh * $ pulumi import mongodbatlas:index/federatedSettingsIdentityProvider:FederatedSettingsIdentityProvider identity_provider 6287a663c660f52b1c441c6c-0oad4fas87jL5Xnk1297 * ``` - * For more information see[MongoDB Atlas API Reference.](https://www.mongodb.com/docs/atlas/reference/api/federation-configuration/) + * __WARNING:__ Starting from terraform provider version 1.16.0, to import the resource a 24-hexadecimal digit string that identifies the IdP (`idp_id`) will have to be used instead of `okta_idp_id`. See more [here](../guides/1.15.0-upgrade-guide.html.markdown) + * + * For more information see[MongoDB Atlas API Reference.](https://www.mongodb.com/docs/atlas/reference/api/federation-configuration/) * */ @ResourceType(type="mongodbatlas:index/federatedSettingsIdentityProvider:FederatedSettingsIdentityProvider") @@ -83,6 +87,34 @@ public class FederatedSettingsIdentityProvider extends com.pulumi.resources.Cust public Output>> associatedDomains() { return Codegen.optional(this.associatedDomains); } + /** + * Identifier of the intended recipient of the token used in OIDC IdP. + * + */ + @Export(name="audienceClaims", refs={List.class,String.class}, tree="[0,1]") + private Output> audienceClaims; + + /** + * @return Identifier of the intended recipient of the token used in OIDC IdP. + * + */ + public Output>> audienceClaims() { + return Codegen.optional(this.audienceClaims); + } + /** + * Client identifier that is assigned to an application by the OIDC Identity Provider. + * + */ + @Export(name="clientId", refs={String.class}, tree="[0]") + private Output clientId; + + /** + * @return Client identifier that is assigned to an application by the OIDC Identity Provider. + * + */ + public Output> clientId() { + return Codegen.optional(this.clientId); + } /** * Unique 24-hexadecimal digit string that identifies the federated authentication configuration. * @@ -98,14 +130,42 @@ public Output federationSettingsId() { return this.federationSettingsId; } /** - * Unique string that identifies the issuer of the SAML + * Identifier of the claim which contains OIDC IdP Group IDs in the token. + * + */ + @Export(name="groupsClaim", refs={String.class}, tree="[0]") + private Output groupsClaim; + + /** + * @return Identifier of the claim which contains OIDC IdP Group IDs in the token. + * + */ + public Output> groupsClaim() { + return Codegen.optional(this.groupsClaim); + } + /** + * Unique 24-hexadecimal digit string that identifies the IdP. + * + */ + @Export(name="idpId", refs={String.class}, tree="[0]") + private Output idpId; + + /** + * @return Unique 24-hexadecimal digit string that identifies the IdP. + * + */ + public Output idpId() { + return this.idpId; + } + /** + * Unique string that identifies the issuer of the IdP. * */ @Export(name="issuerUri", refs={String.class}, tree="[0]") private Output issuerUri; /** - * @return Unique string that identifies the issuer of the SAML + * @return Unique string that identifies the issuer of the IdP. * */ public Output issuerUri() { @@ -140,78 +200,120 @@ public Output oktaIdpId() { return this.oktaIdpId; } /** - * SAML Authentication Request Protocol HTTP method binding (POST or REDIRECT) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values: + * The protocol of the identity provider. Either `SAML` or `OIDC`. + * + */ + @Export(name="protocol", refs={String.class}, tree="[0]") + private Output protocol; + + /** + * @return The protocol of the identity provider. Either `SAML` or `OIDC`. + * + */ + public Output protocol() { + return this.protocol; + } + /** + * SAML Authentication Request Protocol HTTP method binding (`POST` or `REDIRECT`) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values: * - HTTP POST * - HTTP REDIRECT * */ @Export(name="requestBinding", refs={String.class}, tree="[0]") - private Output requestBinding; + private Output requestBinding; /** - * @return SAML Authentication Request Protocol HTTP method binding (POST or REDIRECT) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values: + * @return SAML Authentication Request Protocol HTTP method binding (`POST` or `REDIRECT`) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values: * - HTTP POST * - HTTP REDIRECT * */ - public Output requestBinding() { - return this.requestBinding; + public Output> requestBinding() { + return Codegen.optional(this.requestBinding); } /** - * Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include SHA-1 and SHA-256. + * Scopes that MongoDB applications will request from the authorization endpoint used for OIDC IdPs. + * + */ + @Export(name="requestedScopes", refs={List.class,String.class}, tree="[0,1]") + private Output> requestedScopes; + + /** + * @return Scopes that MongoDB applications will request from the authorization endpoint used for OIDC IdPs. + * + */ + public Output>> requestedScopes() { + return Codegen.optional(this.requestedScopes); + } + /** + * Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include ` SHA-1 `and `SHA-256`. * */ @Export(name="responseSignatureAlgorithm", refs={String.class}, tree="[0]") - private Output responseSignatureAlgorithm; + private Output responseSignatureAlgorithm; /** - * @return Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include SHA-1 and SHA-256. + * @return Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include ` SHA-1 `and `SHA-256`. * */ - public Output responseSignatureAlgorithm() { - return this.responseSignatureAlgorithm; + public Output> responseSignatureAlgorithm() { + return Codegen.optional(this.responseSignatureAlgorithm); } /** * Flag that indicates whether the identity provider has SSO debug enabled. * */ @Export(name="ssoDebugEnabled", refs={Boolean.class}, tree="[0]") - private Output ssoDebugEnabled; + private Output ssoDebugEnabled; /** * @return Flag that indicates whether the identity provider has SSO debug enabled. * */ - public Output ssoDebugEnabled() { - return this.ssoDebugEnabled; + public Output> ssoDebugEnabled() { + return Codegen.optional(this.ssoDebugEnabled); } /** * Unique string that identifies the intended audience of the SAML assertion. * */ @Export(name="ssoUrl", refs={String.class}, tree="[0]") - private Output ssoUrl; + private Output ssoUrl; /** * @return Unique string that identifies the intended audience of the SAML assertion. * */ - public Output ssoUrl() { - return this.ssoUrl; + public Output> ssoUrl() { + return Codegen.optional(this.ssoUrl); } /** * String enum that indicates whether the identity provider is active or not. Accepted values are ACTIVE or INACTIVE. * */ @Export(name="status", refs={String.class}, tree="[0]") - private Output status; + private Output status; /** * @return String enum that indicates whether the identity provider is active or not. Accepted values are ACTIVE or INACTIVE. * */ - public Output status() { - return this.status; + public Output> status() { + return Codegen.optional(this.status); + } + /** + * Identifier of the claim which contains the user ID in the token used for OIDC IdPs. + * + */ + @Export(name="userClaim", refs={String.class}, tree="[0]") + private Output userClaim; + + /** + * @return Identifier of the claim which contains the user ID in the token used for OIDC IdPs. + * + */ + public Output> userClaim() { + return Codegen.optional(this.userClaim); } /** diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/FederatedSettingsIdentityProviderArgs.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/FederatedSettingsIdentityProviderArgs.java index 39794410..1a764a71 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/FederatedSettingsIdentityProviderArgs.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/FederatedSettingsIdentityProviderArgs.java @@ -33,6 +33,36 @@ public Optional>> associatedDomains() { return Optional.ofNullable(this.associatedDomains); } + /** + * Identifier of the intended recipient of the token used in OIDC IdP. + * + */ + @Import(name="audienceClaims") + private @Nullable Output> audienceClaims; + + /** + * @return Identifier of the intended recipient of the token used in OIDC IdP. + * + */ + public Optional>> audienceClaims() { + return Optional.ofNullable(this.audienceClaims); + } + + /** + * Client identifier that is assigned to an application by the OIDC Identity Provider. + * + */ + @Import(name="clientId") + private @Nullable Output clientId; + + /** + * @return Client identifier that is assigned to an application by the OIDC Identity Provider. + * + */ + public Optional> clientId() { + return Optional.ofNullable(this.clientId); + } + /** * Unique 24-hexadecimal digit string that identifies the federated authentication configuration. * @@ -49,14 +79,29 @@ public Output federationSettingsId() { } /** - * Unique string that identifies the issuer of the SAML + * Identifier of the claim which contains OIDC IdP Group IDs in the token. + * + */ + @Import(name="groupsClaim") + private @Nullable Output groupsClaim; + + /** + * @return Identifier of the claim which contains OIDC IdP Group IDs in the token. + * + */ + public Optional> groupsClaim() { + return Optional.ofNullable(this.groupsClaim); + } + + /** + * Unique string that identifies the issuer of the IdP. * */ @Import(name="issuerUri", required=true) private Output issuerUri; /** - * @return Unique string that identifies the issuer of the SAML + * @return Unique string that identifies the issuer of the IdP. * */ public Output issuerUri() { @@ -79,96 +124,147 @@ public Optional> name() { } /** - * SAML Authentication Request Protocol HTTP method binding (POST or REDIRECT) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values: + * The protocol of the identity provider. Either `SAML` or `OIDC`. + * + */ + @Import(name="protocol") + private @Nullable Output protocol; + + /** + * @return The protocol of the identity provider. Either `SAML` or `OIDC`. + * + */ + public Optional> protocol() { + return Optional.ofNullable(this.protocol); + } + + /** + * SAML Authentication Request Protocol HTTP method binding (`POST` or `REDIRECT`) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values: * - HTTP POST * - HTTP REDIRECT * */ - @Import(name="requestBinding", required=true) - private Output requestBinding; + @Import(name="requestBinding") + private @Nullable Output requestBinding; /** - * @return SAML Authentication Request Protocol HTTP method binding (POST or REDIRECT) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values: + * @return SAML Authentication Request Protocol HTTP method binding (`POST` or `REDIRECT`) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values: * - HTTP POST * - HTTP REDIRECT * */ - public Output requestBinding() { - return this.requestBinding; + public Optional> requestBinding() { + return Optional.ofNullable(this.requestBinding); + } + + /** + * Scopes that MongoDB applications will request from the authorization endpoint used for OIDC IdPs. + * + */ + @Import(name="requestedScopes") + private @Nullable Output> requestedScopes; + + /** + * @return Scopes that MongoDB applications will request from the authorization endpoint used for OIDC IdPs. + * + */ + public Optional>> requestedScopes() { + return Optional.ofNullable(this.requestedScopes); } /** - * Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include SHA-1 and SHA-256. + * Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include ` SHA-1 `and `SHA-256`. * */ - @Import(name="responseSignatureAlgorithm", required=true) - private Output responseSignatureAlgorithm; + @Import(name="responseSignatureAlgorithm") + private @Nullable Output responseSignatureAlgorithm; /** - * @return Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include SHA-1 and SHA-256. + * @return Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include ` SHA-1 `and `SHA-256`. * */ - public Output responseSignatureAlgorithm() { - return this.responseSignatureAlgorithm; + public Optional> responseSignatureAlgorithm() { + return Optional.ofNullable(this.responseSignatureAlgorithm); } /** * Flag that indicates whether the identity provider has SSO debug enabled. * */ - @Import(name="ssoDebugEnabled", required=true) - private Output ssoDebugEnabled; + @Import(name="ssoDebugEnabled") + private @Nullable Output ssoDebugEnabled; /** * @return Flag that indicates whether the identity provider has SSO debug enabled. * */ - public Output ssoDebugEnabled() { - return this.ssoDebugEnabled; + public Optional> ssoDebugEnabled() { + return Optional.ofNullable(this.ssoDebugEnabled); } /** * Unique string that identifies the intended audience of the SAML assertion. * */ - @Import(name="ssoUrl", required=true) - private Output ssoUrl; + @Import(name="ssoUrl") + private @Nullable Output ssoUrl; /** * @return Unique string that identifies the intended audience of the SAML assertion. * */ - public Output ssoUrl() { - return this.ssoUrl; + public Optional> ssoUrl() { + return Optional.ofNullable(this.ssoUrl); } /** * String enum that indicates whether the identity provider is active or not. Accepted values are ACTIVE or INACTIVE. * */ - @Import(name="status", required=true) - private Output status; + @Import(name="status") + private @Nullable Output status; /** * @return String enum that indicates whether the identity provider is active or not. Accepted values are ACTIVE or INACTIVE. * */ - public Output status() { - return this.status; + public Optional> status() { + return Optional.ofNullable(this.status); + } + + /** + * Identifier of the claim which contains the user ID in the token used for OIDC IdPs. + * + */ + @Import(name="userClaim") + private @Nullable Output userClaim; + + /** + * @return Identifier of the claim which contains the user ID in the token used for OIDC IdPs. + * + */ + public Optional> userClaim() { + return Optional.ofNullable(this.userClaim); } private FederatedSettingsIdentityProviderArgs() {} private FederatedSettingsIdentityProviderArgs(FederatedSettingsIdentityProviderArgs $) { this.associatedDomains = $.associatedDomains; + this.audienceClaims = $.audienceClaims; + this.clientId = $.clientId; this.federationSettingsId = $.federationSettingsId; + this.groupsClaim = $.groupsClaim; this.issuerUri = $.issuerUri; this.name = $.name; + this.protocol = $.protocol; this.requestBinding = $.requestBinding; + this.requestedScopes = $.requestedScopes; this.responseSignatureAlgorithm = $.responseSignatureAlgorithm; this.ssoDebugEnabled = $.ssoDebugEnabled; this.ssoUrl = $.ssoUrl; this.status = $.status; + this.userClaim = $.userClaim; } public static Builder builder() { @@ -220,6 +316,58 @@ public Builder associatedDomains(String... associatedDomains) { return associatedDomains(List.of(associatedDomains)); } + /** + * @param audienceClaims Identifier of the intended recipient of the token used in OIDC IdP. + * + * @return builder + * + */ + public Builder audienceClaims(@Nullable Output> audienceClaims) { + $.audienceClaims = audienceClaims; + return this; + } + + /** + * @param audienceClaims Identifier of the intended recipient of the token used in OIDC IdP. + * + * @return builder + * + */ + public Builder audienceClaims(List audienceClaims) { + return audienceClaims(Output.of(audienceClaims)); + } + + /** + * @param audienceClaims Identifier of the intended recipient of the token used in OIDC IdP. + * + * @return builder + * + */ + public Builder audienceClaims(String... audienceClaims) { + return audienceClaims(List.of(audienceClaims)); + } + + /** + * @param clientId Client identifier that is assigned to an application by the OIDC Identity Provider. + * + * @return builder + * + */ + public Builder clientId(@Nullable Output clientId) { + $.clientId = clientId; + return this; + } + + /** + * @param clientId Client identifier that is assigned to an application by the OIDC Identity Provider. + * + * @return builder + * + */ + public Builder clientId(String clientId) { + return clientId(Output.of(clientId)); + } + /** * @param federationSettingsId Unique 24-hexadecimal digit string that identifies the federated authentication configuration. * @@ -242,7 +390,28 @@ public Builder federationSettingsId(String federationSettingsId) { } /** - * @param issuerUri Unique string that identifies the issuer of the SAML + * @param groupsClaim Identifier of the claim which contains OIDC IdP Group IDs in the token. + * + * @return builder + * + */ + public Builder groupsClaim(@Nullable Output groupsClaim) { + $.groupsClaim = groupsClaim; + return this; + } + + /** + * @param groupsClaim Identifier of the claim which contains OIDC IdP Group IDs in the token. + * + * @return builder + * + */ + public Builder groupsClaim(String groupsClaim) { + return groupsClaim(Output.of(groupsClaim)); + } + + /** + * @param issuerUri Unique string that identifies the issuer of the IdP. * * @return builder * @@ -253,7 +422,7 @@ public Builder issuerUri(Output issuerUri) { } /** - * @param issuerUri Unique string that identifies the issuer of the SAML + * @param issuerUri Unique string that identifies the issuer of the IdP. * * @return builder * @@ -284,20 +453,41 @@ public Builder name(String name) { } /** - * @param requestBinding SAML Authentication Request Protocol HTTP method binding (POST or REDIRECT) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values: + * @param protocol The protocol of the identity provider. Either `SAML` or `OIDC`. + * + * @return builder + * + */ + public Builder protocol(@Nullable Output protocol) { + $.protocol = protocol; + return this; + } + + /** + * @param protocol The protocol of the identity provider. Either `SAML` or `OIDC`. + * + * @return builder + * + */ + public Builder protocol(String protocol) { + return protocol(Output.of(protocol)); + } + + /** + * @param requestBinding SAML Authentication Request Protocol HTTP method binding (`POST` or `REDIRECT`) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values: * - HTTP POST * - HTTP REDIRECT * * @return builder * */ - public Builder requestBinding(Output requestBinding) { + public Builder requestBinding(@Nullable Output requestBinding) { $.requestBinding = requestBinding; return this; } /** - * @param requestBinding SAML Authentication Request Protocol HTTP method binding (POST or REDIRECT) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values: + * @param requestBinding SAML Authentication Request Protocol HTTP method binding (`POST` or `REDIRECT`) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values: * - HTTP POST * - HTTP REDIRECT * @@ -309,18 +499,49 @@ public Builder requestBinding(String requestBinding) { } /** - * @param responseSignatureAlgorithm Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include SHA-1 and SHA-256. + * @param requestedScopes Scopes that MongoDB applications will request from the authorization endpoint used for OIDC IdPs. * * @return builder * */ - public Builder responseSignatureAlgorithm(Output responseSignatureAlgorithm) { + public Builder requestedScopes(@Nullable Output> requestedScopes) { + $.requestedScopes = requestedScopes; + return this; + } + + /** + * @param requestedScopes Scopes that MongoDB applications will request from the authorization endpoint used for OIDC IdPs. + * + * @return builder + * + */ + public Builder requestedScopes(List requestedScopes) { + return requestedScopes(Output.of(requestedScopes)); + } + + /** + * @param requestedScopes Scopes that MongoDB applications will request from the authorization endpoint used for OIDC IdPs. + * + * @return builder + * + */ + public Builder requestedScopes(String... requestedScopes) { + return requestedScopes(List.of(requestedScopes)); + } + + /** + * @param responseSignatureAlgorithm Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include ` SHA-1 `and `SHA-256`. + * + * @return builder + * + */ + public Builder responseSignatureAlgorithm(@Nullable Output responseSignatureAlgorithm) { $.responseSignatureAlgorithm = responseSignatureAlgorithm; return this; } /** - * @param responseSignatureAlgorithm Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include SHA-1 and SHA-256. + * @param responseSignatureAlgorithm Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include ` SHA-1 `and `SHA-256`. * * @return builder * @@ -335,7 +556,7 @@ public Builder responseSignatureAlgorithm(String responseSignatureAlgorithm) { * @return builder * */ - public Builder ssoDebugEnabled(Output ssoDebugEnabled) { + public Builder ssoDebugEnabled(@Nullable Output ssoDebugEnabled) { $.ssoDebugEnabled = ssoDebugEnabled; return this; } @@ -356,7 +577,7 @@ public Builder ssoDebugEnabled(Boolean ssoDebugEnabled) { * @return builder * */ - public Builder ssoUrl(Output ssoUrl) { + public Builder ssoUrl(@Nullable Output ssoUrl) { $.ssoUrl = ssoUrl; return this; } @@ -377,7 +598,7 @@ public Builder ssoUrl(String ssoUrl) { * @return builder * */ - public Builder status(Output status) { + public Builder status(@Nullable Output status) { $.status = status; return this; } @@ -392,6 +613,27 @@ public Builder status(String status) { return status(Output.of(status)); } + /** + * @param userClaim Identifier of the claim which contains the user ID in the token used for OIDC IdPs. + * + * @return builder + * + */ + public Builder userClaim(@Nullable Output userClaim) { + $.userClaim = userClaim; + return this; + } + + /** + * @param userClaim Identifier of the claim which contains the user ID in the token used for OIDC IdPs. + * + * @return builder + * + */ + public Builder userClaim(String userClaim) { + return userClaim(Output.of(userClaim)); + } + public FederatedSettingsIdentityProviderArgs build() { if ($.federationSettingsId == null) { throw new MissingRequiredPropertyException("FederatedSettingsIdentityProviderArgs", "federationSettingsId"); @@ -399,21 +641,6 @@ public FederatedSettingsIdentityProviderArgs build() { if ($.issuerUri == null) { throw new MissingRequiredPropertyException("FederatedSettingsIdentityProviderArgs", "issuerUri"); } - if ($.requestBinding == null) { - throw new MissingRequiredPropertyException("FederatedSettingsIdentityProviderArgs", "requestBinding"); - } - if ($.responseSignatureAlgorithm == null) { - throw new MissingRequiredPropertyException("FederatedSettingsIdentityProviderArgs", "responseSignatureAlgorithm"); - } - if ($.ssoDebugEnabled == null) { - throw new MissingRequiredPropertyException("FederatedSettingsIdentityProviderArgs", "ssoDebugEnabled"); - } - if ($.ssoUrl == null) { - throw new MissingRequiredPropertyException("FederatedSettingsIdentityProviderArgs", "ssoUrl"); - } - if ($.status == null) { - throw new MissingRequiredPropertyException("FederatedSettingsIdentityProviderArgs", "status"); - } return $; } } 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 3bd95ee1..24826173 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/MongodbatlasFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/MongodbatlasFunctions.java @@ -52,8 +52,6 @@ import com.pulumi.mongodbatlas.inputs.GetCloudBackupSnapshotRestoreJobsPlainArgs; import com.pulumi.mongodbatlas.inputs.GetCloudBackupSnapshotsArgs; import com.pulumi.mongodbatlas.inputs.GetCloudBackupSnapshotsPlainArgs; -import com.pulumi.mongodbatlas.inputs.GetCloudProviderAccessArgs; -import com.pulumi.mongodbatlas.inputs.GetCloudProviderAccessPlainArgs; import com.pulumi.mongodbatlas.inputs.GetCloudProviderAccessSetupArgs; import com.pulumi.mongodbatlas.inputs.GetCloudProviderAccessSetupPlainArgs; import com.pulumi.mongodbatlas.inputs.GetClusterArgs; @@ -208,7 +206,6 @@ import com.pulumi.mongodbatlas.outputs.GetCloudBackupSnapshotRestoreJobsInvokeResult; import com.pulumi.mongodbatlas.outputs.GetCloudBackupSnapshotResult; import com.pulumi.mongodbatlas.outputs.GetCloudBackupSnapshotsInvokeResult; -import com.pulumi.mongodbatlas.outputs.GetCloudProviderAccessResult; import com.pulumi.mongodbatlas.outputs.GetCloudProviderAccessSetupResult; import com.pulumi.mongodbatlas.outputs.GetClusterOutageSimulationResult; import com.pulumi.mongodbatlas.outputs.GetClusterResult; @@ -2773,199 +2770,7 @@ public static CompletableFuture getCloudBac return Deployment.getInstance().invokeAsync("mongodbatlas:index/getCloudBackupSnapshots:getCloudBackupSnapshots", TypeShape.of(GetCloudBackupSnapshotsInvokeResult.class), args, Utilities.withVersion(options)); } /** - * **WARNING:** The data source `mongodbatlas.CloudProviderAccess` is deprecated and will be removed in version v1.14.0, use the data source `mongodbatlas.CloudProviderAccessSetup` instead. - * - * `mongodbatlas.CloudProviderAccess` allows you to get the list of cloud provider access roles, currently only AWS and Azure is supported. - * - * > **NOTE:** Groups and projects are synonymous terms. You may find `groupId` in the official documentation. - * - * ## Example Usage - * ```java - * package generated_program; - * - * import com.pulumi.Context; - * import com.pulumi.Pulumi; - * import com.pulumi.core.Output; - * import com.pulumi.mongodbatlas.CloudProviderAccess; - * import com.pulumi.mongodbatlas.CloudProviderAccessArgs; - * import com.pulumi.mongodbatlas.MongodbatlasFunctions; - * import com.pulumi.mongodbatlas.inputs.GetCloudProviderAccessArgs; - * import java.util.List; - * import java.util.ArrayList; - * import java.util.Map; - * import java.io.File; - * import java.nio.file.Files; - * import java.nio.file.Paths; - * - * public class App { - * public static void main(String[] args) { - * Pulumi.run(App::stack); - * } - * - * public static void stack(Context ctx) { - * var testRole = new CloudProviderAccess("testRole", CloudProviderAccessArgs.builder() - * .projectId("64259ee860c43338194b0f8e") - * .providerName("AWS") - * .build()); - * - * final var all = MongodbatlasFunctions.getCloudProviderAccess(GetCloudProviderAccessArgs.builder() - * .projectId(testRole.projectId()) - * .build()); - * - * } - * } - * ``` - * - */ - public static Output getCloudProviderAccess(GetCloudProviderAccessArgs args) { - return getCloudProviderAccess(args, InvokeOptions.Empty); - } - /** - * **WARNING:** The data source `mongodbatlas.CloudProviderAccess` is deprecated and will be removed in version v1.14.0, use the data source `mongodbatlas.CloudProviderAccessSetup` instead. - * - * `mongodbatlas.CloudProviderAccess` allows you to get the list of cloud provider access roles, currently only AWS and Azure is supported. - * - * > **NOTE:** Groups and projects are synonymous terms. You may find `groupId` in the official documentation. - * - * ## Example Usage - * ```java - * package generated_program; - * - * import com.pulumi.Context; - * import com.pulumi.Pulumi; - * import com.pulumi.core.Output; - * import com.pulumi.mongodbatlas.CloudProviderAccess; - * import com.pulumi.mongodbatlas.CloudProviderAccessArgs; - * import com.pulumi.mongodbatlas.MongodbatlasFunctions; - * import com.pulumi.mongodbatlas.inputs.GetCloudProviderAccessArgs; - * import java.util.List; - * import java.util.ArrayList; - * import java.util.Map; - * import java.io.File; - * import java.nio.file.Files; - * import java.nio.file.Paths; - * - * public class App { - * public static void main(String[] args) { - * Pulumi.run(App::stack); - * } - * - * public static void stack(Context ctx) { - * var testRole = new CloudProviderAccess("testRole", CloudProviderAccessArgs.builder() - * .projectId("64259ee860c43338194b0f8e") - * .providerName("AWS") - * .build()); - * - * final var all = MongodbatlasFunctions.getCloudProviderAccess(GetCloudProviderAccessArgs.builder() - * .projectId(testRole.projectId()) - * .build()); - * - * } - * } - * ``` - * - */ - public static CompletableFuture getCloudProviderAccessPlain(GetCloudProviderAccessPlainArgs args) { - return getCloudProviderAccessPlain(args, InvokeOptions.Empty); - } - /** - * **WARNING:** The data source `mongodbatlas.CloudProviderAccess` is deprecated and will be removed in version v1.14.0, use the data source `mongodbatlas.CloudProviderAccessSetup` instead. - * - * `mongodbatlas.CloudProviderAccess` allows you to get the list of cloud provider access roles, currently only AWS and Azure is supported. - * - * > **NOTE:** Groups and projects are synonymous terms. You may find `groupId` in the official documentation. - * - * ## Example Usage - * ```java - * package generated_program; - * - * import com.pulumi.Context; - * import com.pulumi.Pulumi; - * import com.pulumi.core.Output; - * import com.pulumi.mongodbatlas.CloudProviderAccess; - * import com.pulumi.mongodbatlas.CloudProviderAccessArgs; - * import com.pulumi.mongodbatlas.MongodbatlasFunctions; - * import com.pulumi.mongodbatlas.inputs.GetCloudProviderAccessArgs; - * import java.util.List; - * import java.util.ArrayList; - * import java.util.Map; - * import java.io.File; - * import java.nio.file.Files; - * import java.nio.file.Paths; - * - * public class App { - * public static void main(String[] args) { - * Pulumi.run(App::stack); - * } - * - * public static void stack(Context ctx) { - * var testRole = new CloudProviderAccess("testRole", CloudProviderAccessArgs.builder() - * .projectId("64259ee860c43338194b0f8e") - * .providerName("AWS") - * .build()); - * - * final var all = MongodbatlasFunctions.getCloudProviderAccess(GetCloudProviderAccessArgs.builder() - * .projectId(testRole.projectId()) - * .build()); - * - * } - * } - * ``` - * - */ - public static Output getCloudProviderAccess(GetCloudProviderAccessArgs args, InvokeOptions options) { - return Deployment.getInstance().invoke("mongodbatlas:index/getCloudProviderAccess:getCloudProviderAccess", TypeShape.of(GetCloudProviderAccessResult.class), args, Utilities.withVersion(options)); - } - /** - * **WARNING:** The data source `mongodbatlas.CloudProviderAccess` is deprecated and will be removed in version v1.14.0, use the data source `mongodbatlas.CloudProviderAccessSetup` instead. - * - * `mongodbatlas.CloudProviderAccess` allows you to get the list of cloud provider access roles, currently only AWS and Azure is supported. - * - * > **NOTE:** Groups and projects are synonymous terms. You may find `groupId` in the official documentation. - * - * ## Example Usage - * ```java - * package generated_program; - * - * import com.pulumi.Context; - * import com.pulumi.Pulumi; - * import com.pulumi.core.Output; - * import com.pulumi.mongodbatlas.CloudProviderAccess; - * import com.pulumi.mongodbatlas.CloudProviderAccessArgs; - * import com.pulumi.mongodbatlas.MongodbatlasFunctions; - * import com.pulumi.mongodbatlas.inputs.GetCloudProviderAccessArgs; - * import java.util.List; - * import java.util.ArrayList; - * import java.util.Map; - * import java.io.File; - * import java.nio.file.Files; - * import java.nio.file.Paths; - * - * public class App { - * public static void main(String[] args) { - * Pulumi.run(App::stack); - * } - * - * public static void stack(Context ctx) { - * var testRole = new CloudProviderAccess("testRole", CloudProviderAccessArgs.builder() - * .projectId("64259ee860c43338194b0f8e") - * .providerName("AWS") - * .build()); - * - * final var all = MongodbatlasFunctions.getCloudProviderAccess(GetCloudProviderAccessArgs.builder() - * .projectId(testRole.projectId()) - * .build()); - * - * } - * } - * ``` - * - */ - public static CompletableFuture getCloudProviderAccessPlain(GetCloudProviderAccessPlainArgs args, InvokeOptions options) { - return Deployment.getInstance().invokeAsync("mongodbatlas:index/getCloudProviderAccess:getCloudProviderAccess", TypeShape.of(GetCloudProviderAccessResult.class), args, Utilities.withVersion(options)); - } - /** - * `mongodbatlas.CloudProviderAccess` allows you to get a single role for a provider access role setup, currently only AWS and Azure are supported. + * `mongodbatlas_cloud_provider_access` allows you to get a single role for a provider access role setup, currently only AWS and Azure are supported. * * > **NOTE:** Groups and projects are synonymous terms. You may find `groupId` in the official documentation. * @@ -3058,7 +2863,7 @@ public static Output getCloudProviderAccessSe return getCloudProviderAccessSetup(args, InvokeOptions.Empty); } /** - * `mongodbatlas.CloudProviderAccess` allows you to get a single role for a provider access role setup, currently only AWS and Azure are supported. + * `mongodbatlas_cloud_provider_access` allows you to get a single role for a provider access role setup, currently only AWS and Azure are supported. * * > **NOTE:** Groups and projects are synonymous terms. You may find `groupId` in the official documentation. * @@ -3151,7 +2956,7 @@ public static CompletableFuture getCloudProvi return getCloudProviderAccessSetupPlain(args, InvokeOptions.Empty); } /** - * `mongodbatlas.CloudProviderAccess` allows you to get a single role for a provider access role setup, currently only AWS and Azure are supported. + * `mongodbatlas_cloud_provider_access` allows you to get a single role for a provider access role setup, currently only AWS and Azure are supported. * * > **NOTE:** Groups and projects are synonymous terms. You may find `groupId` in the official documentation. * @@ -3244,7 +3049,7 @@ public static Output getCloudProviderAccessSe return Deployment.getInstance().invoke("mongodbatlas:index/getCloudProviderAccessSetup:getCloudProviderAccessSetup", TypeShape.of(GetCloudProviderAccessSetupResult.class), args, Utilities.withVersion(options)); } /** - * `mongodbatlas.CloudProviderAccess` allows you to get a single role for a provider access role setup, currently only AWS and Azure are supported. + * `mongodbatlas_cloud_provider_access` allows you to get a single role for a provider access role setup, currently only AWS and Azure are supported. * * > **NOTE:** Groups and projects are synonymous terms. You may find `groupId` in the official documentation. * @@ -6555,6 +6360,8 @@ public static CompletableFuture getFederatedSettings /** * `mongodbatlas.FederatedSettingsIdentityProvider` provides a federated settings identity provider data source. Atlas federated settings identity provider provides federated settings outputs for the configured identity provider. * + * > **NOTE:** OIDC Workforce IdP is currently in preview. To learn more about OIDC and existing limitations see the [OIDC Authentication Documentation](https://www.mongodb.com/docs/atlas/security-oidc/) + * * ## Example Usage * ```java * package generated_program; @@ -6606,6 +6413,8 @@ public static Output getFederatedSet /** * `mongodbatlas.FederatedSettingsIdentityProvider` provides a federated settings identity provider data source. Atlas federated settings identity provider provides federated settings outputs for the configured identity provider. * + * > **NOTE:** OIDC Workforce IdP is currently in preview. To learn more about OIDC and existing limitations see the [OIDC Authentication Documentation](https://www.mongodb.com/docs/atlas/security-oidc/) + * * ## Example Usage * ```java * package generated_program; @@ -6657,6 +6466,8 @@ public static CompletableFuture getF /** * `mongodbatlas.FederatedSettingsIdentityProvider` provides a federated settings identity provider data source. Atlas federated settings identity provider provides federated settings outputs for the configured identity provider. * + * > **NOTE:** OIDC Workforce IdP is currently in preview. To learn more about OIDC and existing limitations see the [OIDC Authentication Documentation](https://www.mongodb.com/docs/atlas/security-oidc/) + * * ## Example Usage * ```java * package generated_program; @@ -6708,6 +6519,8 @@ public static Output getFederatedSet /** * `mongodbatlas.FederatedSettingsIdentityProvider` provides a federated settings identity provider data source. Atlas federated settings identity provider provides federated settings outputs for the configured identity provider. * + * > **NOTE:** OIDC Workforce IdP is currently in preview. To learn more about OIDC and existing limitations see the [OIDC Authentication Documentation](https://www.mongodb.com/docs/atlas/security-oidc/) + * * ## Example Usage * ```java * package generated_program; @@ -6759,6 +6572,8 @@ public static CompletableFuture getF /** * `mongodbatlas.getFederatedSettingsIdentityProviders` provides an Federated Settings Identity Providers datasource. Atlas Cloud Federated Settings Identity Providers provides federated settings outputs for the configured Identity Providers. * + * > **NOTE:** OIDC Workforce IdP is currently in preview. To learn more about OIDC and existing limitations see the [OIDC Authentication Documentation](https://www.mongodb.com/docs/atlas/security-oidc/). + * * ## Example Usage * ```java * package generated_program; @@ -6807,6 +6622,8 @@ public static Output getFeder /** * `mongodbatlas.getFederatedSettingsIdentityProviders` provides an Federated Settings Identity Providers datasource. Atlas Cloud Federated Settings Identity Providers provides federated settings outputs for the configured Identity Providers. * + * > **NOTE:** OIDC Workforce IdP is currently in preview. To learn more about OIDC and existing limitations see the [OIDC Authentication Documentation](https://www.mongodb.com/docs/atlas/security-oidc/). + * * ## Example Usage * ```java * package generated_program; @@ -6855,6 +6672,8 @@ public static CompletableFuture getFeder /** * `mongodbatlas.getFederatedSettingsIdentityProviders` provides an Federated Settings Identity Providers datasource. Atlas Cloud Federated Settings Identity Providers provides federated settings outputs for the configured Identity Providers. * + * > **NOTE:** OIDC Workforce IdP is currently in preview. To learn more about OIDC and existing limitations see the [OIDC Authentication Documentation](https://www.mongodb.com/docs/atlas/security-oidc/). + * * ## Example Usage * ```java * package generated_program; @@ -11752,35 +11573,6 @@ public static CompletableFuture getRolesOrgIdPlain(InvokeAr * `mongodbatlas.SearchDeployment` describes a search node deployment. * * ## Example Usage - * ```java - * package generated_program; - * - * import com.pulumi.Context; - * import com.pulumi.Pulumi; - * import com.pulumi.core.Output; - * import com.pulumi.mongodbatlas.MongodbatlasFunctions; - * import com.pulumi.mongodbatlas.inputs.GetSearchDeploymentArgs; - * import java.util.List; - * import java.util.ArrayList; - * import java.util.Map; - * import java.io.File; - * import java.nio.file.Files; - * import java.nio.file.Paths; - * - * public class App { - * public static void main(String[] args) { - * Pulumi.run(App::stack); - * } - * - * public static void stack(Context ctx) { - * final var test = MongodbatlasFunctions.getSearchDeployment(GetSearchDeploymentArgs.builder() - * .clusterName("<CLUSTER_NAME>") - * .projectId("<PROJECT_ID>") - * .build()); - * - * } - * } - * ``` * */ public static Output getSearchDeployment(GetSearchDeploymentArgs args) { @@ -11790,35 +11582,6 @@ public static Output getSearchDeployment(GetSearchDep * `mongodbatlas.SearchDeployment` describes a search node deployment. * * ## Example Usage - * ```java - * package generated_program; - * - * import com.pulumi.Context; - * import com.pulumi.Pulumi; - * import com.pulumi.core.Output; - * import com.pulumi.mongodbatlas.MongodbatlasFunctions; - * import com.pulumi.mongodbatlas.inputs.GetSearchDeploymentArgs; - * import java.util.List; - * import java.util.ArrayList; - * import java.util.Map; - * import java.io.File; - * import java.nio.file.Files; - * import java.nio.file.Paths; - * - * public class App { - * public static void main(String[] args) { - * Pulumi.run(App::stack); - * } - * - * public static void stack(Context ctx) { - * final var test = MongodbatlasFunctions.getSearchDeployment(GetSearchDeploymentArgs.builder() - * .clusterName("<CLUSTER_NAME>") - * .projectId("<PROJECT_ID>") - * .build()); - * - * } - * } - * ``` * */ public static CompletableFuture getSearchDeploymentPlain(GetSearchDeploymentPlainArgs args) { @@ -11828,35 +11591,6 @@ public static CompletableFuture getSearchDeploymentPl * `mongodbatlas.SearchDeployment` describes a search node deployment. * * ## Example Usage - * ```java - * package generated_program; - * - * import com.pulumi.Context; - * import com.pulumi.Pulumi; - * import com.pulumi.core.Output; - * import com.pulumi.mongodbatlas.MongodbatlasFunctions; - * import com.pulumi.mongodbatlas.inputs.GetSearchDeploymentArgs; - * import java.util.List; - * import java.util.ArrayList; - * import java.util.Map; - * import java.io.File; - * import java.nio.file.Files; - * import java.nio.file.Paths; - * - * public class App { - * public static void main(String[] args) { - * Pulumi.run(App::stack); - * } - * - * public static void stack(Context ctx) { - * final var test = MongodbatlasFunctions.getSearchDeployment(GetSearchDeploymentArgs.builder() - * .clusterName("<CLUSTER_NAME>") - * .projectId("<PROJECT_ID>") - * .build()); - * - * } - * } - * ``` * */ public static Output getSearchDeployment(GetSearchDeploymentArgs args, InvokeOptions options) { @@ -11866,35 +11600,6 @@ public static Output getSearchDeployment(GetSearchDep * `mongodbatlas.SearchDeployment` describes a search node deployment. * * ## Example Usage - * ```java - * package generated_program; - * - * import com.pulumi.Context; - * import com.pulumi.Pulumi; - * import com.pulumi.core.Output; - * import com.pulumi.mongodbatlas.MongodbatlasFunctions; - * import com.pulumi.mongodbatlas.inputs.GetSearchDeploymentArgs; - * import java.util.List; - * import java.util.ArrayList; - * import java.util.Map; - * import java.io.File; - * import java.nio.file.Files; - * import java.nio.file.Paths; - * - * public class App { - * public static void main(String[] args) { - * Pulumi.run(App::stack); - * } - * - * public static void stack(Context ctx) { - * final var test = MongodbatlasFunctions.getSearchDeployment(GetSearchDeploymentArgs.builder() - * .clusterName("<CLUSTER_NAME>") - * .projectId("<PROJECT_ID>") - * .build()); - * - * } - * } - * ``` * */ public static CompletableFuture getSearchDeploymentPlain(GetSearchDeploymentPlainArgs args, InvokeOptions options) { @@ -12078,7 +11783,7 @@ public static CompletableFuture getSearchIndexPlain(GetSea * import com.pulumi.Pulumi; * import com.pulumi.core.Output; * import com.pulumi.mongodbatlas.MongodbatlasFunctions; - * import com.pulumi.mongodbatlas.inputs.GetSearchIndexArgs; + * import com.pulumi.mongodbatlas.inputs.GetSearchIndexesArgs; * import java.util.List; * import java.util.ArrayList; * import java.util.Map; @@ -12092,12 +11797,10 @@ public static CompletableFuture getSearchIndexPlain(GetSea * } * * public static void stack(Context ctx) { - * final var test = MongodbatlasFunctions.getSearchIndex(GetSearchIndexArgs.builder() + * final var test = MongodbatlasFunctions.getSearchIndexes(GetSearchIndexesArgs.builder() * .clusterName("<CLUSTER_NAME>") * .collectionName("<COLLECTION_NAME>") * .databaseName("<DATABASE_NAME>") - * .itemsPerPage(100) - * .pageNum(1) * .projectId("<PROJECT_ID>") * .build()); * @@ -12123,7 +11826,7 @@ public static Output getSearchIndexes(GetSearchInd * import com.pulumi.Pulumi; * import com.pulumi.core.Output; * import com.pulumi.mongodbatlas.MongodbatlasFunctions; - * import com.pulumi.mongodbatlas.inputs.GetSearchIndexArgs; + * import com.pulumi.mongodbatlas.inputs.GetSearchIndexesArgs; * import java.util.List; * import java.util.ArrayList; * import java.util.Map; @@ -12137,12 +11840,10 @@ public static Output getSearchIndexes(GetSearchInd * } * * public static void stack(Context ctx) { - * final var test = MongodbatlasFunctions.getSearchIndex(GetSearchIndexArgs.builder() + * final var test = MongodbatlasFunctions.getSearchIndexes(GetSearchIndexesArgs.builder() * .clusterName("<CLUSTER_NAME>") * .collectionName("<COLLECTION_NAME>") * .databaseName("<DATABASE_NAME>") - * .itemsPerPage(100) - * .pageNum(1) * .projectId("<PROJECT_ID>") * .build()); * @@ -12168,7 +11869,7 @@ public static CompletableFuture getSearchIndexesPl * import com.pulumi.Pulumi; * import com.pulumi.core.Output; * import com.pulumi.mongodbatlas.MongodbatlasFunctions; - * import com.pulumi.mongodbatlas.inputs.GetSearchIndexArgs; + * import com.pulumi.mongodbatlas.inputs.GetSearchIndexesArgs; * import java.util.List; * import java.util.ArrayList; * import java.util.Map; @@ -12182,12 +11883,10 @@ public static CompletableFuture getSearchIndexesPl * } * * public static void stack(Context ctx) { - * final var test = MongodbatlasFunctions.getSearchIndex(GetSearchIndexArgs.builder() + * final var test = MongodbatlasFunctions.getSearchIndexes(GetSearchIndexesArgs.builder() * .clusterName("<CLUSTER_NAME>") * .collectionName("<COLLECTION_NAME>") * .databaseName("<DATABASE_NAME>") - * .itemsPerPage(100) - * .pageNum(1) * .projectId("<PROJECT_ID>") * .build()); * @@ -12213,7 +11912,7 @@ public static Output getSearchIndexes(GetSearchInd * import com.pulumi.Pulumi; * import com.pulumi.core.Output; * import com.pulumi.mongodbatlas.MongodbatlasFunctions; - * import com.pulumi.mongodbatlas.inputs.GetSearchIndexArgs; + * import com.pulumi.mongodbatlas.inputs.GetSearchIndexesArgs; * import java.util.List; * import java.util.ArrayList; * import java.util.Map; @@ -12227,12 +11926,10 @@ public static Output getSearchIndexes(GetSearchInd * } * * public static void stack(Context ctx) { - * final var test = MongodbatlasFunctions.getSearchIndex(GetSearchIndexArgs.builder() + * final var test = MongodbatlasFunctions.getSearchIndexes(GetSearchIndexesArgs.builder() * .clusterName("<CLUSTER_NAME>") * .collectionName("<COLLECTION_NAME>") * .databaseName("<DATABASE_NAME>") - * .itemsPerPage(100) - * .pageNum(1) * .projectId("<PROJECT_ID>") * .build()); * 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 29ce090c..cf2f2697 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/NetworkContainer.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/NetworkContainer.java @@ -17,7 +17,7 @@ import javax.annotation.Nullable; /** - * `mongodbatlas.NetworkContainer` provides a Network Peering Container resource. The resource lets you create, edit and delete network peering containers. The resource requires your Project ID. Each cloud provider requires slightly different attributes so read the argument reference carefully. + * `mongodbatlas.NetworkContainer` provides a Network Peering Container resource. The resource lets you create, edit and delete network peering containers. You must delete network peering containers before creating clusters in your project. You can't delete a network peering container if your project contains clusters. The resource requires your Project ID. Each cloud provider requires slightly different attributes so read the argument reference carefully. * * Network peering container is a general term used to describe any cloud providers' VPC/VNet concept. Containers only need to be created if the peering connection to the cloud provider will be created before the first cluster that requires the container. If the cluster has been/will be created first Atlas automatically creates the required container per the "containers per cloud provider" information that follows (in this case you can obtain the container id from the cluster resource attribute `container_id`). * diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/Organization.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/Organization.java index d9ceca38..0d985641 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/Organization.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/Organization.java @@ -10,6 +10,7 @@ import com.pulumi.mongodbatlas.OrganizationArgs; import com.pulumi.mongodbatlas.Utilities; import com.pulumi.mongodbatlas.inputs.OrganizationState; +import java.lang.Boolean; import java.lang.String; import java.util.List; import java.util.Optional; @@ -18,7 +19,11 @@ /** * `mongodbatlas.Organization` provides programmatic management (including creation) of a MongoDB Atlas Organization resource. * - * > **IMPORTANT NOTE:** When you establish an Atlas organization using this resource, it automatically generates a set of initial public and private Programmatic API Keys. These key values are vital to store because you'll need to use them to grant access to the newly created Atlas organization. + * > **IMPORTANT NOTE:** When you establish an Atlas organization using this resource, it automatically generates a set of initial public and private Programmatic API Keys. These key values are vital to store because you'll need to use them to grant access to the newly created Atlas organization. To use this resource, `role_names` for new API Key must have the ORG_OWNER role specified. + * + * > **IMPORTANT NOTE:** To use this resource, the requesting API Key must have the Organization Owner role. The requesting API Key's organization must be a paying organization. To learn more, see Configure a Paying Organization in the MongoDB Atlas documentation. + * + * > **NOTE** Import command is currently not supported for this resource. * * ## Example Usage * ```java @@ -52,20 +57,23 @@ * } * ``` * - * ## Import - * - * Organization must be imported using organization ID, e.g. - * - * ```sh - * $ pulumi import mongodbatlas:index/organization:Organization my_org 5d09d6a59ccf6445652a444a - * ``` - * For more information see[MongoDB Atlas Admin API Organization](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Organizations/operation/createOrganization) - * - * Documentation for more information. - * */ @ResourceType(type="mongodbatlas:index/organization:Organization") public class Organization extends com.pulumi.resources.CustomResource { + /** + * Flag that indicates whether to require API operations to originate from an IP Address added to the API access list for the specified organization. + * + */ + @Export(name="apiAccessListRequired", refs={Boolean.class}, tree="[0]") + private Output apiAccessListRequired; + + /** + * @return Flag that indicates whether to require API operations to originate from an IP Address added to the API access list for the specified organization. + * + */ + public Output apiAccessListRequired() { + return this.apiAccessListRequired; + } @Export(name="description", refs={String.class}, tree="[0]") private Output description; @@ -73,19 +81,33 @@ public Output description() { return this.description; } /** - * (Optional) Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation. + * Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation. * */ @Export(name="federationSettingsId", refs={String.class}, tree="[0]") private Output federationSettingsId; /** - * @return (Optional) Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation. + * @return Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation. * */ public Output> federationSettingsId() { return Codegen.optional(this.federationSettingsId); } + /** + * Flag that indicates whether to require users to set up Multi-Factor Authentication (MFA) before accessing the specified organization. To learn more, see: https://www.mongodb.com/docs/atlas/security-multi-factor-authentication/. + * + */ + @Export(name="multiFactorAuthRequired", refs={Boolean.class}, tree="[0]") + private Output multiFactorAuthRequired; + + /** + * @return Flag that indicates whether to require users to set up Multi-Factor Authentication (MFA) before accessing the specified organization. To learn more, see: https://www.mongodb.com/docs/atlas/security-multi-factor-authentication/. + * + */ + public Output multiFactorAuthRequired() { + return this.multiFactorAuthRequired; + } /** * The name of the organization you want to create. (Cannot be changed via this Provider after creation.) * @@ -148,6 +170,20 @@ public Output privateKey() { public Output publicKey() { return this.publicKey; } + /** + * Flag that indicates whether to block MongoDB Support from accessing Atlas infrastructure for any deployment in the specified organization without explicit permission. Once this setting is turned on, you can grant MongoDB Support a 24-hour bypass access to the Atlas deployment to resolve support issues. To learn more, see: https://www.mongodb.com/docs/atlas/security-restrict-support-access/. + * + */ + @Export(name="restrictEmployeeAccess", refs={Boolean.class}, tree="[0]") + private Output restrictEmployeeAccess; + + /** + * @return Flag that indicates whether to block MongoDB Support from accessing Atlas infrastructure for any deployment in the specified organization without explicit permission. Once this setting is turned on, you can grant MongoDB Support a 24-hour bypass access to the Atlas deployment to resolve support issues. To learn more, see: https://www.mongodb.com/docs/atlas/security-restrict-support-access/. + * + */ + public Output restrictEmployeeAccess() { + return this.restrictEmployeeAccess; + } /** * List of Organization roles that the Programmatic API key needs to have. Ensure that you provide at least one role and ensure all roles are valid for the Organization. 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/#organization-roles) describes the roles that you can assign to a Programmatic API key. * diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/OrganizationArgs.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/OrganizationArgs.java index d3bb2e64..530e8113 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/OrganizationArgs.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/OrganizationArgs.java @@ -6,6 +6,7 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Boolean; import java.lang.String; import java.util.List; import java.util.Objects; @@ -17,6 +18,21 @@ public final class OrganizationArgs extends com.pulumi.resources.ResourceArgs { public static final OrganizationArgs Empty = new OrganizationArgs(); + /** + * Flag that indicates whether to require API operations to originate from an IP Address added to the API access list for the specified organization. + * + */ + @Import(name="apiAccessListRequired") + private @Nullable Output apiAccessListRequired; + + /** + * @return Flag that indicates whether to require API operations to originate from an IP Address added to the API access list for the specified organization. + * + */ + public Optional> apiAccessListRequired() { + return Optional.ofNullable(this.apiAccessListRequired); + } + @Import(name="description", required=true) private Output description; @@ -25,20 +41,35 @@ public Output description() { } /** - * (Optional) Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation. + * Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation. * */ @Import(name="federationSettingsId") private @Nullable Output federationSettingsId; /** - * @return (Optional) Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation. + * @return Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation. * */ public Optional> federationSettingsId() { return Optional.ofNullable(this.federationSettingsId); } + /** + * Flag that indicates whether to require users to set up Multi-Factor Authentication (MFA) before accessing the specified organization. To learn more, see: https://www.mongodb.com/docs/atlas/security-multi-factor-authentication/. + * + */ + @Import(name="multiFactorAuthRequired") + private @Nullable Output multiFactorAuthRequired; + + /** + * @return Flag that indicates whether to require users to set up Multi-Factor Authentication (MFA) before accessing the specified organization. To learn more, see: https://www.mongodb.com/docs/atlas/security-multi-factor-authentication/. + * + */ + public Optional> multiFactorAuthRequired() { + return Optional.ofNullable(this.multiFactorAuthRequired); + } + /** * The name of the organization you want to create. (Cannot be changed via this Provider after creation.) * @@ -69,6 +100,21 @@ public Output orgOwnerId() { return this.orgOwnerId; } + /** + * Flag that indicates whether to block MongoDB Support from accessing Atlas infrastructure for any deployment in the specified organization without explicit permission. Once this setting is turned on, you can grant MongoDB Support a 24-hour bypass access to the Atlas deployment to resolve support issues. To learn more, see: https://www.mongodb.com/docs/atlas/security-restrict-support-access/. + * + */ + @Import(name="restrictEmployeeAccess") + private @Nullable Output restrictEmployeeAccess; + + /** + * @return Flag that indicates whether to block MongoDB Support from accessing Atlas infrastructure for any deployment in the specified organization without explicit permission. Once this setting is turned on, you can grant MongoDB Support a 24-hour bypass access to the Atlas deployment to resolve support issues. To learn more, see: https://www.mongodb.com/docs/atlas/security-restrict-support-access/. + * + */ + public Optional> restrictEmployeeAccess() { + return Optional.ofNullable(this.restrictEmployeeAccess); + } + /** * List of Organization roles that the Programmatic API key needs to have. Ensure that you provide at least one role and ensure all roles are valid for the Organization. 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/#organization-roles) describes the roles that you can assign to a Programmatic API key. * @@ -87,10 +133,13 @@ public Output> roleNames() { private OrganizationArgs() {} private OrganizationArgs(OrganizationArgs $) { + this.apiAccessListRequired = $.apiAccessListRequired; this.description = $.description; this.federationSettingsId = $.federationSettingsId; + this.multiFactorAuthRequired = $.multiFactorAuthRequired; this.name = $.name; this.orgOwnerId = $.orgOwnerId; + this.restrictEmployeeAccess = $.restrictEmployeeAccess; this.roleNames = $.roleNames; } @@ -112,6 +161,27 @@ public Builder(OrganizationArgs defaults) { $ = new OrganizationArgs(Objects.requireNonNull(defaults)); } + /** + * @param apiAccessListRequired Flag that indicates whether to require API operations to originate from an IP Address added to the API access list for the specified organization. + * + * @return builder + * + */ + public Builder apiAccessListRequired(@Nullable Output apiAccessListRequired) { + $.apiAccessListRequired = apiAccessListRequired; + return this; + } + + /** + * @param apiAccessListRequired Flag that indicates whether to require API operations to originate from an IP Address added to the API access list for the specified organization. + * + * @return builder + * + */ + public Builder apiAccessListRequired(Boolean apiAccessListRequired) { + return apiAccessListRequired(Output.of(apiAccessListRequired)); + } + public Builder description(Output description) { $.description = description; return this; @@ -122,7 +192,7 @@ public Builder description(String description) { } /** - * @param federationSettingsId (Optional) Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation. + * @param federationSettingsId Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation. * * @return builder * @@ -133,7 +203,7 @@ public Builder federationSettingsId(@Nullable Output federationSettingsI } /** - * @param federationSettingsId (Optional) Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation. + * @param federationSettingsId Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation. * * @return builder * @@ -142,6 +212,27 @@ public Builder federationSettingsId(String federationSettingsId) { return federationSettingsId(Output.of(federationSettingsId)); } + /** + * @param multiFactorAuthRequired Flag that indicates whether to require users to set up Multi-Factor Authentication (MFA) before accessing the specified organization. To learn more, see: https://www.mongodb.com/docs/atlas/security-multi-factor-authentication/. + * + * @return builder + * + */ + public Builder multiFactorAuthRequired(@Nullable Output multiFactorAuthRequired) { + $.multiFactorAuthRequired = multiFactorAuthRequired; + return this; + } + + /** + * @param multiFactorAuthRequired Flag that indicates whether to require users to set up Multi-Factor Authentication (MFA) before accessing the specified organization. To learn more, see: https://www.mongodb.com/docs/atlas/security-multi-factor-authentication/. + * + * @return builder + * + */ + public Builder multiFactorAuthRequired(Boolean multiFactorAuthRequired) { + return multiFactorAuthRequired(Output.of(multiFactorAuthRequired)); + } + /** * @param name The name of the organization you want to create. (Cannot be changed via this Provider after creation.) * @@ -184,6 +275,27 @@ public Builder orgOwnerId(String orgOwnerId) { return orgOwnerId(Output.of(orgOwnerId)); } + /** + * @param restrictEmployeeAccess Flag that indicates whether to block MongoDB Support from accessing Atlas infrastructure for any deployment in the specified organization without explicit permission. Once this setting is turned on, you can grant MongoDB Support a 24-hour bypass access to the Atlas deployment to resolve support issues. To learn more, see: https://www.mongodb.com/docs/atlas/security-restrict-support-access/. + * + * @return builder + * + */ + public Builder restrictEmployeeAccess(@Nullable Output restrictEmployeeAccess) { + $.restrictEmployeeAccess = restrictEmployeeAccess; + return this; + } + + /** + * @param restrictEmployeeAccess Flag that indicates whether to block MongoDB Support from accessing Atlas infrastructure for any deployment in the specified organization without explicit permission. Once this setting is turned on, you can grant MongoDB Support a 24-hour bypass access to the Atlas deployment to resolve support issues. To learn more, see: https://www.mongodb.com/docs/atlas/security-restrict-support-access/. + * + * @return builder + * + */ + public Builder restrictEmployeeAccess(Boolean restrictEmployeeAccess) { + return restrictEmployeeAccess(Output.of(restrictEmployeeAccess)); + } + /** * @param roleNames List of Organization roles that the Programmatic API key needs to have. Ensure that you provide at least one role and ensure all roles are valid for the Organization. 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/#organization-roles) describes the roles that you can assign to a Programmatic API key. * diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/Project.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/Project.java index 00cf634b..0bf7116d 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/Project.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/Project.java @@ -10,6 +10,7 @@ import com.pulumi.mongodbatlas.ProjectArgs; import com.pulumi.mongodbatlas.Utilities; import com.pulumi.mongodbatlas.inputs.ProjectState; +import com.pulumi.mongodbatlas.outputs.ProjectIpAddresses; import com.pulumi.mongodbatlas.outputs.ProjectLimit; import com.pulumi.mongodbatlas.outputs.ProjectTeam; import java.lang.Boolean; @@ -99,33 +100,47 @@ @ResourceType(type="mongodbatlas:index/project:Project") public class Project extends com.pulumi.resources.CustomResource { /** - * The number of Atlas clusters deployed in the project.. + * The number of Atlas clusters deployed in the project. * */ @Export(name="clusterCount", refs={Integer.class}, tree="[0]") private Output clusterCount; /** - * @return The number of Atlas clusters deployed in the project.. + * @return The number of Atlas clusters deployed in the project. * */ public Output clusterCount() { return this.clusterCount; } /** - * The ISO-8601-formatted timestamp of when Atlas created the project.. + * The ISO-8601-formatted timestamp of when Atlas created the project. * */ @Export(name="created", refs={String.class}, tree="[0]") private Output created; /** - * @return The ISO-8601-formatted timestamp of when Atlas created the project.. + * @return The ISO-8601-formatted timestamp of when Atlas created the project. * */ public Output created() { return this.created; } + /** + * IP addresses in a project categorized by services. See IP Addresses. + * + */ + @Export(name="ipAddresses", refs={ProjectIpAddresses.class}, tree="[0]") + private Output ipAddresses; + + /** + * @return IP addresses in a project categorized by services. See IP Addresses. + * + */ + public Output ipAddresses() { + return this.ipAddresses; + } /** * Flag that indicates whether to enable statistics in [cluster metrics](https://www.mongodb.com/docs/atlas/monitor-cluster-metrics/) collection for the project. By default, this flag is set to true. * diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/SearchDeployment.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/SearchDeployment.java index f5d01dc9..9529abd8 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/SearchDeployment.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/SearchDeployment.java @@ -26,120 +26,68 @@ * * ## Example Usage * - * ```java - * package generated_program; - * - * import com.pulumi.Context; - * import com.pulumi.Pulumi; - * import com.pulumi.core.Output; - * import com.pulumi.mongodbatlas.SearchDeployment; - * import com.pulumi.mongodbatlas.SearchDeploymentArgs; - * import com.pulumi.mongodbatlas.inputs.SearchDeploymentSpecArgs; - * import java.util.List; - * import java.util.ArrayList; - * import java.util.Map; - * import java.io.File; - * import java.nio.file.Files; - * import java.nio.file.Paths; - * - * public class App { - * public static void main(String[] args) { - * Pulumi.run(App::stack); - * } - * - * public static void stack(Context ctx) { - * var test = new SearchDeployment("test", SearchDeploymentArgs.builder() - * .clusterName("NAME OF CLUSTER") - * .projectId("PROJECT ID") - * .specs(SearchDeploymentSpecArgs.builder() - * .instance_size("S20_HIGHCPU_NVME") - * .node_count(2) - * .build()) - * .build()); - * - * } - * } - * ``` - * - * ## Import - * - * Search node resource can be imported using the project ID and cluster name, in the format `PROJECT_ID-CLUSTER_NAME`, e.g. - * - * ```sh - * $ pulumi import mongodbatlas:index/searchDeployment:SearchDeployment test 650972848269185c55f40ca1-Cluster0 - * ``` - * For more information see[MongoDB Atlas API - Search Node](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Atlas-Search/operation/createAtlasSearchDeployment) Documentation. - * */ @ResourceType(type="mongodbatlas:index/searchDeployment:SearchDeployment") public class SearchDeployment extends com.pulumi.resources.CustomResource { /** - * Label that identifies the cluster to create search nodes for. + * Label that identifies the cluster to return the search nodes for. * */ @Export(name="clusterName", refs={String.class}, tree="[0]") private Output clusterName; /** - * @return Label that identifies the cluster to create search nodes for. + * @return Label that identifies the cluster to return the search nodes for. * */ public Output clusterName() { return this.clusterName; } /** - * Unique 24-hexadecimal digit string that identifies your project. + * Unique 24-hexadecimal character string that identifies the project. * */ @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 character string that identifies the project. * */ public Output projectId() { return this.projectId; } /** - * List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. See specs. + * List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. * */ @Export(name="specs", refs={List.class,SearchDeploymentSpec.class}, tree="[0,1]") private Output> specs; /** - * @return List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. See specs. + * @return List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. * */ public Output> specs() { return this.specs; } /** - * Human-readable label that indicates the current operating condition of this search node deployment. + * Human-readable label that indicates the current operating condition of this search deployment. * */ @Export(name="stateName", refs={String.class}, tree="[0]") private Output stateName; /** - * @return Human-readable label that indicates the current operating condition of this search node deployment. + * @return Human-readable label that indicates the current operating condition of this search deployment. * */ public Output stateName() { return this.stateName; } - /** - * The time to wait for search nodes to be created, updated, or deleted. The timeout value is defined by a signed sequence of decimal numbers with a time unit suffix such as: `1h45m`, `300s`, `10m`, .... The valid time units are: `ns`, `us` (or `µs`), `ms`, `s`, `m`, `h`. The attribute must be defined with nested attributes. - * - */ @Export(name="timeouts", refs={SearchDeploymentTimeouts.class}, tree="[0]") private Output timeouts; - /** - * @return The time to wait for search nodes to be created, updated, or deleted. The timeout value is defined by a signed sequence of decimal numbers with a time unit suffix such as: `1h45m`, `300s`, `10m`, .... The valid time units are: `ns`, `us` (or `µs`), `ms`, `s`, `m`, `h`. The attribute must be defined with nested attributes. - * - */ public Output> timeouts() { return Codegen.optional(this.timeouts); } diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/SearchDeploymentArgs.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/SearchDeploymentArgs.java index c6f2205e..cdf4c033 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/SearchDeploymentArgs.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/SearchDeploymentArgs.java @@ -20,14 +20,14 @@ public final class SearchDeploymentArgs extends com.pulumi.resources.ResourceArg public static final SearchDeploymentArgs Empty = new SearchDeploymentArgs(); /** - * Label that identifies the cluster to create search nodes for. + * Label that identifies the cluster to return the search nodes for. * */ @Import(name="clusterName", required=true) private Output clusterName; /** - * @return Label that identifies the cluster to create search nodes for. + * @return Label that identifies the cluster to return the search nodes for. * */ public Output clusterName() { @@ -35,14 +35,14 @@ public Output clusterName() { } /** - * Unique 24-hexadecimal digit string that identifies your project. + * Unique 24-hexadecimal character string that identifies the project. * */ @Import(name="projectId", required=true) private Output projectId; /** - * @return Unique 24-hexadecimal digit string that identifies your project. + * @return Unique 24-hexadecimal character string that identifies the project. * */ public Output projectId() { @@ -50,31 +50,23 @@ public Output projectId() { } /** - * List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. See specs. + * List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. * */ @Import(name="specs", required=true) private Output> specs; /** - * @return List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. See specs. + * @return List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. * */ public Output> specs() { return this.specs; } - /** - * The time to wait for search nodes to be created, updated, or deleted. The timeout value is defined by a signed sequence of decimal numbers with a time unit suffix such as: `1h45m`, `300s`, `10m`, .... The valid time units are: `ns`, `us` (or `µs`), `ms`, `s`, `m`, `h`. The attribute must be defined with nested attributes. - * - */ @Import(name="timeouts") private @Nullable Output timeouts; - /** - * @return The time to wait for search nodes to be created, updated, or deleted. The timeout value is defined by a signed sequence of decimal numbers with a time unit suffix such as: `1h45m`, `300s`, `10m`, .... The valid time units are: `ns`, `us` (or `µs`), `ms`, `s`, `m`, `h`. The attribute must be defined with nested attributes. - * - */ public Optional> timeouts() { return Optional.ofNullable(this.timeouts); } @@ -107,7 +99,7 @@ public Builder(SearchDeploymentArgs defaults) { } /** - * @param clusterName Label that identifies the cluster to create search nodes for. + * @param clusterName Label that identifies the cluster to return the search nodes for. * * @return builder * @@ -118,7 +110,7 @@ public Builder clusterName(Output clusterName) { } /** - * @param clusterName Label that identifies the cluster to create search nodes for. + * @param clusterName Label that identifies the cluster to return the search nodes for. * * @return builder * @@ -128,7 +120,7 @@ public Builder clusterName(String clusterName) { } /** - * @param projectId Unique 24-hexadecimal digit string that identifies your project. + * @param projectId Unique 24-hexadecimal character string that identifies the project. * * @return builder * @@ -139,7 +131,7 @@ public Builder projectId(Output projectId) { } /** - * @param projectId Unique 24-hexadecimal digit string that identifies your project. + * @param projectId Unique 24-hexadecimal character string that identifies the project. * * @return builder * @@ -149,7 +141,7 @@ public Builder projectId(String projectId) { } /** - * @param specs List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. See specs. + * @param specs List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. * * @return builder * @@ -160,7 +152,7 @@ public Builder specs(Output> specs) { } /** - * @param specs List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. See specs. + * @param specs List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. * * @return builder * @@ -170,7 +162,7 @@ public Builder specs(List specs) { } /** - * @param specs List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. See specs. + * @param specs List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. * * @return builder * @@ -179,23 +171,11 @@ public Builder specs(SearchDeploymentSpecArgs... specs) { return specs(List.of(specs)); } - /** - * @param timeouts The time to wait for search nodes to be created, updated, or deleted. The timeout value is defined by a signed sequence of decimal numbers with a time unit suffix such as: `1h45m`, `300s`, `10m`, .... The valid time units are: `ns`, `us` (or `µs`), `ms`, `s`, `m`, `h`. The attribute must be defined with nested attributes. - * - * @return builder - * - */ public Builder timeouts(@Nullable Output timeouts) { $.timeouts = timeouts; return this; } - /** - * @param timeouts The time to wait for search nodes to be created, updated, or deleted. The timeout value is defined by a signed sequence of decimal numbers with a time unit suffix such as: `1h45m`, `300s`, `10m`, .... The valid time units are: `ns`, `us` (or `µs`), `ms`, `s`, `m`, `h`. The attribute must be defined with nested attributes. - * - * @return builder - * - */ public Builder timeouts(SearchDeploymentTimeoutsArgs timeouts) { return timeouts(Output.of(timeouts)); } diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/SearchIndex.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/SearchIndex.java index 508a3f94..7992df56 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/SearchIndex.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/SearchIndex.java @@ -353,9 +353,17 @@ public Output projectId() { public Output> searchAnalyzer() { return Codegen.optional(this.searchAnalyzer); } + /** + * Current status of the index. + * + */ @Export(name="status", refs={String.class}, tree="[0]") private Output status; + /** + * @return Current status of the index. + * + */ public Output status() { return this.status; } diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/SearchIndexArgs.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/SearchIndexArgs.java index 3687b512..e1d68ad5 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/SearchIndexArgs.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/SearchIndexArgs.java @@ -184,13 +184,6 @@ public Optional> searchAnalyzer() { return Optional.ofNullable(this.searchAnalyzer); } - @Import(name="status") - private @Nullable Output status; - - public Optional> status() { - return Optional.ofNullable(this.status); - } - /** * Synonyms mapping definition to use in this index. * @@ -242,7 +235,6 @@ private SearchIndexArgs(SearchIndexArgs $) { this.name = $.name; this.projectId = $.projectId; this.searchAnalyzer = $.searchAnalyzer; - this.status = $.status; this.synonyms = $.synonyms; this.type = $.type; this.waitForIndexBuildCompletion = $.waitForIndexBuildCompletion; @@ -497,15 +489,6 @@ public Builder searchAnalyzer(String searchAnalyzer) { return searchAnalyzer(Output.of(searchAnalyzer)); } - public Builder status(@Nullable Output status) { - $.status = status; - return this; - } - - public Builder status(String status) { - return status(Output.of(status)); - } - /** * @param synonyms Synonyms mapping definition to use in this index. * diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/AlertConfigurationNotificationArgs.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/AlertConfigurationNotificationArgs.java index 041ead2f..f2054d99 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/AlertConfigurationNotificationArgs.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/AlertConfigurationNotificationArgs.java @@ -65,14 +65,14 @@ public Optional> datadogApiKey() { } /** - * Region that indicates which API URL to use. Accepted regions are: `US`, `EU`. The default Datadog region is US. + * Region that indicates which API URL to use. See the `datadogRegion` field in the `notifications` request parameter of [MongoDB API Alert Configuration documentation](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/v2/#tag/Alert-Configurations/operation/createAlertConfiguration) for more details. The default Datadog region is US. * */ @Import(name="datadogRegion") private @Nullable Output datadogRegion; /** - * @return Region that indicates which API URL to use. Accepted regions are: `US`, `EU`. The default Datadog region is US. + * @return Region that indicates which API URL to use. See the `datadogRegion` field in the `notifications` request parameter of [MongoDB API Alert Configuration documentation](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/v2/#tag/Alert-Configurations/operation/createAlertConfiguration) for more details. The default Datadog region is US. * */ public Optional> datadogRegion() { @@ -514,7 +514,7 @@ public Builder datadogApiKey(String datadogApiKey) { } /** - * @param datadogRegion Region that indicates which API URL to use. Accepted regions are: `US`, `EU`. The default Datadog region is US. + * @param datadogRegion Region that indicates which API URL to use. See the `datadogRegion` field in the `notifications` request parameter of [MongoDB API Alert Configuration documentation](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/v2/#tag/Alert-Configurations/operation/createAlertConfiguration) for more details. The default Datadog region is US. * * @return builder * @@ -525,7 +525,7 @@ public Builder datadogRegion(@Nullable Output datadogRegion) { } /** - * @param datadogRegion Region that indicates which API URL to use. Accepted regions are: `US`, `EU`. The default Datadog region is US. + * @param datadogRegion Region that indicates which API URL to use. See the `datadogRegion` field in the `notifications` request parameter of [MongoDB API Alert Configuration documentation](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/v2/#tag/Alert-Configurations/operation/createAlertConfiguration) for more details. The default Datadog region is US. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/CloudProviderAccessFeatureUsageArgs.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/CloudProviderAccessFeatureUsageArgs.java deleted file mode 100644 index cb3c5702..00000000 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/CloudProviderAccessFeatureUsageArgs.java +++ /dev/null @@ -1,82 +0,0 @@ -// *** WARNING: this file was generated by pulumi-java-gen. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -package com.pulumi.mongodbatlas.inputs; - -import com.pulumi.core.Output; -import com.pulumi.core.annotations.Import; -import java.lang.Object; -import java.lang.String; -import java.util.Map; -import java.util.Objects; -import java.util.Optional; -import javax.annotation.Nullable; - - -public final class CloudProviderAccessFeatureUsageArgs extends com.pulumi.resources.ResourceArgs { - - public static final CloudProviderAccessFeatureUsageArgs Empty = new CloudProviderAccessFeatureUsageArgs(); - - @Import(name="featureId") - private @Nullable Output> featureId; - - public Optional>> featureId() { - return Optional.ofNullable(this.featureId); - } - - @Import(name="featureType") - private @Nullable Output featureType; - - public Optional> featureType() { - return Optional.ofNullable(this.featureType); - } - - private CloudProviderAccessFeatureUsageArgs() {} - - private CloudProviderAccessFeatureUsageArgs(CloudProviderAccessFeatureUsageArgs $) { - this.featureId = $.featureId; - this.featureType = $.featureType; - } - - public static Builder builder() { - return new Builder(); - } - public static Builder builder(CloudProviderAccessFeatureUsageArgs defaults) { - return new Builder(defaults); - } - - public static final class Builder { - private CloudProviderAccessFeatureUsageArgs $; - - public Builder() { - $ = new CloudProviderAccessFeatureUsageArgs(); - } - - public Builder(CloudProviderAccessFeatureUsageArgs defaults) { - $ = new CloudProviderAccessFeatureUsageArgs(Objects.requireNonNull(defaults)); - } - - public Builder featureId(@Nullable Output> featureId) { - $.featureId = featureId; - return this; - } - - public Builder featureId(Map featureId) { - return featureId(Output.of(featureId)); - } - - public Builder featureType(@Nullable Output featureType) { - $.featureType = featureType; - return this; - } - - public Builder featureType(String featureType) { - return featureType(Output.of(featureType)); - } - - public CloudProviderAccessFeatureUsageArgs build() { - return $; - } - } - -} diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/CloudProviderAccessState.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/CloudProviderAccessState.java deleted file mode 100644 index a94b2dc8..00000000 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/CloudProviderAccessState.java +++ /dev/null @@ -1,399 +0,0 @@ -// *** WARNING: this file was generated by pulumi-java-gen. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -package com.pulumi.mongodbatlas.inputs; - -import com.pulumi.core.Output; -import com.pulumi.core.annotations.Import; -import com.pulumi.mongodbatlas.inputs.CloudProviderAccessFeatureUsageArgs; -import java.lang.String; -import java.util.List; -import java.util.Objects; -import java.util.Optional; -import javax.annotation.Nullable; - - -public final class CloudProviderAccessState extends com.pulumi.resources.ResourceArgs { - - public static final CloudProviderAccessState Empty = new CloudProviderAccessState(); - - /** - * Unique external ID Atlas uses when assuming the IAM role in your AWS account. - * - */ - @Import(name="atlasAssumedRoleExternalId") - private @Nullable Output atlasAssumedRoleExternalId; - - /** - * @return Unique external ID Atlas uses when assuming the IAM role in your AWS account. - * - */ - public Optional> atlasAssumedRoleExternalId() { - return Optional.ofNullable(this.atlasAssumedRoleExternalId); - } - - /** - * ARN associated with the Atlas AWS account used to assume IAM roles in your AWS account. - * - */ - @Import(name="atlasAwsAccountArn") - private @Nullable Output atlasAwsAccountArn; - - /** - * @return ARN associated with the Atlas AWS account used to assume IAM roles in your AWS account. - * - */ - public Optional> atlasAwsAccountArn() { - return Optional.ofNullable(this.atlasAwsAccountArn); - } - - /** - * Date on which this role was authorized. - * - */ - @Import(name="authorizedDate") - private @Nullable Output authorizedDate; - - /** - * @return Date on which this role was authorized. - * - */ - public Optional> authorizedDate() { - return Optional.ofNullable(this.authorizedDate); - } - - /** - * Date on which this role was created. - * - */ - @Import(name="createdDate") - private @Nullable Output createdDate; - - /** - * @return Date on which this role was created. - * - */ - public Optional> createdDate() { - return Optional.ofNullable(this.createdDate); - } - - /** - * Atlas features this AWS IAM role is linked to. - * - */ - @Import(name="featureUsages") - private @Nullable Output> featureUsages; - - /** - * @return Atlas features this AWS IAM role is linked to. - * - */ - public Optional>> featureUsages() { - return Optional.ofNullable(this.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). - * - */ - @Import(name="iamAssumedRoleArn") - private @Nullable 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 Optional> iamAssumedRoleArn() { - return Optional.ofNullable(this.iamAssumedRoleArn); - } - - /** - * The unique ID for the project - * - */ - @Import(name="projectId") - private @Nullable Output projectId; - - /** - * @return The unique ID for the project - * - */ - public Optional> projectId() { - return Optional.ofNullable(this.projectId); - } - - /** - * The cloud provider for which to create a new role. Currently only AWS is supported. - * - */ - @Import(name="providerName") - private @Nullable Output providerName; - - /** - * @return The cloud provider for which to create a new role. Currently only AWS is supported. - * - */ - public Optional> providerName() { - return Optional.ofNullable(this.providerName); - } - - /** - * Unique ID of this role returned by mongodb atlas api - * - * Conditional - * - */ - @Import(name="roleId") - private @Nullable Output roleId; - - /** - * @return Unique ID of this role returned by mongodb atlas api - * - * Conditional - * - */ - public Optional> roleId() { - return Optional.ofNullable(this.roleId); - } - - private CloudProviderAccessState() {} - - private CloudProviderAccessState(CloudProviderAccessState $) { - this.atlasAssumedRoleExternalId = $.atlasAssumedRoleExternalId; - this.atlasAwsAccountArn = $.atlasAwsAccountArn; - this.authorizedDate = $.authorizedDate; - this.createdDate = $.createdDate; - this.featureUsages = $.featureUsages; - this.iamAssumedRoleArn = $.iamAssumedRoleArn; - this.projectId = $.projectId; - this.providerName = $.providerName; - this.roleId = $.roleId; - } - - public static Builder builder() { - return new Builder(); - } - public static Builder builder(CloudProviderAccessState defaults) { - return new Builder(defaults); - } - - public static final class Builder { - private CloudProviderAccessState $; - - public Builder() { - $ = new CloudProviderAccessState(); - } - - public Builder(CloudProviderAccessState defaults) { - $ = new CloudProviderAccessState(Objects.requireNonNull(defaults)); - } - - /** - * @param atlasAssumedRoleExternalId Unique external ID Atlas uses when assuming the IAM role in your AWS account. - * - * @return builder - * - */ - public Builder atlasAssumedRoleExternalId(@Nullable Output atlasAssumedRoleExternalId) { - $.atlasAssumedRoleExternalId = atlasAssumedRoleExternalId; - return this; - } - - /** - * @param atlasAssumedRoleExternalId Unique external ID Atlas uses when assuming the IAM role in your AWS account. - * - * @return builder - * - */ - public Builder atlasAssumedRoleExternalId(String atlasAssumedRoleExternalId) { - return atlasAssumedRoleExternalId(Output.of(atlasAssumedRoleExternalId)); - } - - /** - * @param atlasAwsAccountArn ARN associated with the Atlas AWS account used to assume IAM roles in your AWS account. - * - * @return builder - * - */ - public Builder atlasAwsAccountArn(@Nullable Output atlasAwsAccountArn) { - $.atlasAwsAccountArn = atlasAwsAccountArn; - return this; - } - - /** - * @param atlasAwsAccountArn ARN associated with the Atlas AWS account used to assume IAM roles in your AWS account. - * - * @return builder - * - */ - public Builder atlasAwsAccountArn(String atlasAwsAccountArn) { - return atlasAwsAccountArn(Output.of(atlasAwsAccountArn)); - } - - /** - * @param authorizedDate Date on which this role was authorized. - * - * @return builder - * - */ - public Builder authorizedDate(@Nullable Output authorizedDate) { - $.authorizedDate = authorizedDate; - return this; - } - - /** - * @param authorizedDate Date on which this role was authorized. - * - * @return builder - * - */ - public Builder authorizedDate(String authorizedDate) { - return authorizedDate(Output.of(authorizedDate)); - } - - /** - * @param createdDate Date on which this role was created. - * - * @return builder - * - */ - public Builder createdDate(@Nullable Output createdDate) { - $.createdDate = createdDate; - return this; - } - - /** - * @param createdDate Date on which this role was created. - * - * @return builder - * - */ - public Builder createdDate(String createdDate) { - return createdDate(Output.of(createdDate)); - } - - /** - * @param featureUsages Atlas features this AWS IAM role is linked to. - * - * @return builder - * - */ - public Builder featureUsages(@Nullable Output> featureUsages) { - $.featureUsages = featureUsages; - return this; - } - - /** - * @param featureUsages Atlas features this AWS IAM role is linked to. - * - * @return builder - * - */ - public Builder featureUsages(List featureUsages) { - return featureUsages(Output.of(featureUsages)); - } - - /** - * @param featureUsages Atlas features this AWS IAM role is linked to. - * - * @return builder - * - */ - public Builder featureUsages(CloudProviderAccessFeatureUsageArgs... featureUsages) { - return featureUsages(List.of(featureUsages)); - } - - /** - * @param iamAssumedRoleArn 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). - * - * @return builder - * - */ - public Builder iamAssumedRoleArn(@Nullable Output iamAssumedRoleArn) { - $.iamAssumedRoleArn = iamAssumedRoleArn; - return this; - } - - /** - * @param iamAssumedRoleArn 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). - * - * @return builder - * - */ - public Builder iamAssumedRoleArn(String iamAssumedRoleArn) { - return iamAssumedRoleArn(Output.of(iamAssumedRoleArn)); - } - - /** - * @param projectId The unique ID for the project - * - * @return builder - * - */ - public Builder projectId(@Nullable Output projectId) { - $.projectId = projectId; - return this; - } - - /** - * @param projectId The unique ID for the project - * - * @return builder - * - */ - public Builder projectId(String projectId) { - return projectId(Output.of(projectId)); - } - - /** - * @param providerName The cloud provider for which to create a new role. Currently only AWS is supported. - * - * @return builder - * - */ - public Builder providerName(@Nullable Output providerName) { - $.providerName = providerName; - return this; - } - - /** - * @param providerName The cloud provider for which to create a new role. Currently only AWS is supported. - * - * @return builder - * - */ - public Builder providerName(String providerName) { - return providerName(Output.of(providerName)); - } - - /** - * @param roleId Unique ID of this role returned by mongodb atlas api - * - * Conditional - * - * @return builder - * - */ - public Builder roleId(@Nullable Output roleId) { - $.roleId = roleId; - return this; - } - - /** - * @param roleId Unique ID of this role returned by mongodb atlas api - * - * Conditional - * - * @return builder - * - */ - public Builder roleId(String roleId) { - return roleId(Output.of(roleId)); - } - - public CloudProviderAccessState build() { - return $; - } - } - -} diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/DatabaseUserRoleArgs.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/DatabaseUserRoleArgs.java index 180e82d4..b8c564fb 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/DatabaseUserRoleArgs.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/DatabaseUserRoleArgs.java @@ -32,14 +32,14 @@ public Optional> collectionName() { } /** - * Database on which the user has the specified role. A role on the `admin` database can include privileges that apply to the other databases. + * Database on which the user has the specified role. A role on the `admin` database can include privileges that apply to the other databases. This field should be set to `admin` for a custom MongoDB role. * */ @Import(name="databaseName", required=true) private Output databaseName; /** - * @return Database on which the user has the specified role. A role on the `admin` database can include privileges that apply to the other databases. + * @return Database on which the user has the specified role. A role on the `admin` database can include privileges that apply to the other databases. This field should be set to `admin` for a custom MongoDB role. * */ public Output databaseName() { @@ -109,7 +109,7 @@ public Builder collectionName(String collectionName) { } /** - * @param databaseName Database on which the user has the specified role. A role on the `admin` database can include privileges that apply to the other databases. + * @param databaseName Database on which the user has the specified role. A role on the `admin` database can include privileges that apply to the other databases. This field should be set to `admin` for a custom MongoDB role. * * @return builder * @@ -120,7 +120,7 @@ public Builder databaseName(Output databaseName) { } /** - * @param databaseName Database on which the user has the specified role. A role on the `admin` database can include privileges that apply to the other databases. + * @param databaseName Database on which the user has the specified role. A role on the `admin` database can include privileges that apply to the other databases. This field should be set to `admin` for a custom MongoDB role. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/EncryptionAtRestAwsKmsConfigArgs.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/EncryptionAtRestAwsKmsConfigArgs.java index ff2d9951..e935c1ab 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/EncryptionAtRestAwsKmsConfigArgs.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/EncryptionAtRestAwsKmsConfigArgs.java @@ -69,14 +69,14 @@ public Optional> region() { } /** - * ID of an AWS IAM role authorized to manage an AWS customer master key. To find the ID for an existing IAM role check the `role_id` attribute of the `mongodbatlas.CloudProviderAccess` resource. + * ID of an AWS IAM role authorized to manage an AWS customer master key. To find the ID for an existing IAM role check the `role_id` attribute of the `mongodbatlas_cloud_provider_access` resource. * */ @Import(name="roleId") private @Nullable Output roleId; /** - * @return ID of an AWS IAM role authorized to manage an AWS customer master key. To find the ID for an existing IAM role check the `role_id` attribute of the `mongodbatlas.CloudProviderAccess` resource. + * @return ID of an AWS IAM role authorized to manage an AWS customer master key. To find the ID for an existing IAM role check the `role_id` attribute of the `mongodbatlas_cloud_provider_access` resource. * */ public Optional> roleId() { @@ -192,7 +192,7 @@ public Builder region(String region) { } /** - * @param roleId ID of an AWS IAM role authorized to manage an AWS customer master key. To find the ID for an existing IAM role check the `role_id` attribute of the `mongodbatlas.CloudProviderAccess` resource. + * @param roleId ID of an AWS IAM role authorized to manage an AWS customer master key. To find the ID for an existing IAM role check the `role_id` attribute of the `mongodbatlas_cloud_provider_access` resource. * * @return builder * @@ -203,7 +203,7 @@ public Builder roleId(@Nullable Output roleId) { } /** - * @param roleId ID of an AWS IAM role authorized to manage an AWS customer master key. To find the ID for an existing IAM role check the `role_id` attribute of the `mongodbatlas.CloudProviderAccess` resource. + * @param roleId ID of an AWS IAM role authorized to manage an AWS customer master key. To find the ID for an existing IAM role check the `role_id` attribute of the `mongodbatlas_cloud_provider_access` resource. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/FederatedSettingsIdentityProviderState.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/FederatedSettingsIdentityProviderState.java index 2ac8844a..bf53e544 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/FederatedSettingsIdentityProviderState.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/FederatedSettingsIdentityProviderState.java @@ -32,6 +32,36 @@ public Optional>> associatedDomains() { return Optional.ofNullable(this.associatedDomains); } + /** + * Identifier of the intended recipient of the token used in OIDC IdP. + * + */ + @Import(name="audienceClaims") + private @Nullable Output> audienceClaims; + + /** + * @return Identifier of the intended recipient of the token used in OIDC IdP. + * + */ + public Optional>> audienceClaims() { + return Optional.ofNullable(this.audienceClaims); + } + + /** + * Client identifier that is assigned to an application by the OIDC Identity Provider. + * + */ + @Import(name="clientId") + private @Nullable Output clientId; + + /** + * @return Client identifier that is assigned to an application by the OIDC Identity Provider. + * + */ + public Optional> clientId() { + return Optional.ofNullable(this.clientId); + } + /** * Unique 24-hexadecimal digit string that identifies the federated authentication configuration. * @@ -48,14 +78,44 @@ public Optional> federationSettingsId() { } /** - * Unique string that identifies the issuer of the SAML + * Identifier of the claim which contains OIDC IdP Group IDs in the token. + * + */ + @Import(name="groupsClaim") + private @Nullable Output groupsClaim; + + /** + * @return Identifier of the claim which contains OIDC IdP Group IDs in the token. + * + */ + public Optional> groupsClaim() { + return Optional.ofNullable(this.groupsClaim); + } + + /** + * Unique 24-hexadecimal digit string that identifies the IdP. + * + */ + @Import(name="idpId") + private @Nullable Output idpId; + + /** + * @return Unique 24-hexadecimal digit string that identifies the IdP. + * + */ + public Optional> idpId() { + return Optional.ofNullable(this.idpId); + } + + /** + * Unique string that identifies the issuer of the IdP. * */ @Import(name="issuerUri") private @Nullable Output issuerUri; /** - * @return Unique string that identifies the issuer of the SAML + * @return Unique string that identifies the issuer of the IdP. * */ public Optional> issuerUri() { @@ -93,7 +153,22 @@ public Optional> oktaIdpId() { } /** - * SAML Authentication Request Protocol HTTP method binding (POST or REDIRECT) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values: + * The protocol of the identity provider. Either `SAML` or `OIDC`. + * + */ + @Import(name="protocol") + private @Nullable Output protocol; + + /** + * @return The protocol of the identity provider. Either `SAML` or `OIDC`. + * + */ + public Optional> protocol() { + return Optional.ofNullable(this.protocol); + } + + /** + * SAML Authentication Request Protocol HTTP method binding (`POST` or `REDIRECT`) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values: * - HTTP POST * - HTTP REDIRECT * @@ -102,7 +177,7 @@ public Optional> oktaIdpId() { private @Nullable Output requestBinding; /** - * @return SAML Authentication Request Protocol HTTP method binding (POST or REDIRECT) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values: + * @return SAML Authentication Request Protocol HTTP method binding (`POST` or `REDIRECT`) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values: * - HTTP POST * - HTTP REDIRECT * @@ -112,14 +187,29 @@ public Optional> requestBinding() { } /** - * Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include SHA-1 and SHA-256. + * Scopes that MongoDB applications will request from the authorization endpoint used for OIDC IdPs. + * + */ + @Import(name="requestedScopes") + private @Nullable Output> requestedScopes; + + /** + * @return Scopes that MongoDB applications will request from the authorization endpoint used for OIDC IdPs. + * + */ + public Optional>> requestedScopes() { + return Optional.ofNullable(this.requestedScopes); + } + + /** + * Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include ` SHA-1 `and `SHA-256`. * */ @Import(name="responseSignatureAlgorithm") private @Nullable Output responseSignatureAlgorithm; /** - * @return Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include SHA-1 and SHA-256. + * @return Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include ` SHA-1 `and `SHA-256`. * */ public Optional> responseSignatureAlgorithm() { @@ -171,19 +261,41 @@ public Optional> status() { return Optional.ofNullable(this.status); } + /** + * Identifier of the claim which contains the user ID in the token used for OIDC IdPs. + * + */ + @Import(name="userClaim") + private @Nullable Output userClaim; + + /** + * @return Identifier of the claim which contains the user ID in the token used for OIDC IdPs. + * + */ + public Optional> userClaim() { + return Optional.ofNullable(this.userClaim); + } + private FederatedSettingsIdentityProviderState() {} private FederatedSettingsIdentityProviderState(FederatedSettingsIdentityProviderState $) { this.associatedDomains = $.associatedDomains; + this.audienceClaims = $.audienceClaims; + this.clientId = $.clientId; this.federationSettingsId = $.federationSettingsId; + this.groupsClaim = $.groupsClaim; + this.idpId = $.idpId; this.issuerUri = $.issuerUri; this.name = $.name; this.oktaIdpId = $.oktaIdpId; + this.protocol = $.protocol; this.requestBinding = $.requestBinding; + this.requestedScopes = $.requestedScopes; this.responseSignatureAlgorithm = $.responseSignatureAlgorithm; this.ssoDebugEnabled = $.ssoDebugEnabled; this.ssoUrl = $.ssoUrl; this.status = $.status; + this.userClaim = $.userClaim; } public static Builder builder() { @@ -235,6 +347,58 @@ public Builder associatedDomains(String... associatedDomains) { return associatedDomains(List.of(associatedDomains)); } + /** + * @param audienceClaims Identifier of the intended recipient of the token used in OIDC IdP. + * + * @return builder + * + */ + public Builder audienceClaims(@Nullable Output> audienceClaims) { + $.audienceClaims = audienceClaims; + return this; + } + + /** + * @param audienceClaims Identifier of the intended recipient of the token used in OIDC IdP. + * + * @return builder + * + */ + public Builder audienceClaims(List audienceClaims) { + return audienceClaims(Output.of(audienceClaims)); + } + + /** + * @param audienceClaims Identifier of the intended recipient of the token used in OIDC IdP. + * + * @return builder + * + */ + public Builder audienceClaims(String... audienceClaims) { + return audienceClaims(List.of(audienceClaims)); + } + + /** + * @param clientId Client identifier that is assigned to an application by the OIDC Identity Provider. + * + * @return builder + * + */ + public Builder clientId(@Nullable Output clientId) { + $.clientId = clientId; + return this; + } + + /** + * @param clientId Client identifier that is assigned to an application by the OIDC Identity Provider. + * + * @return builder + * + */ + public Builder clientId(String clientId) { + return clientId(Output.of(clientId)); + } + /** * @param federationSettingsId Unique 24-hexadecimal digit string that identifies the federated authentication configuration. * @@ -257,7 +421,49 @@ public Builder federationSettingsId(String federationSettingsId) { } /** - * @param issuerUri Unique string that identifies the issuer of the SAML + * @param groupsClaim Identifier of the claim which contains OIDC IdP Group IDs in the token. + * + * @return builder + * + */ + public Builder groupsClaim(@Nullable Output groupsClaim) { + $.groupsClaim = groupsClaim; + return this; + } + + /** + * @param groupsClaim Identifier of the claim which contains OIDC IdP Group IDs in the token. + * + * @return builder + * + */ + public Builder groupsClaim(String groupsClaim) { + return groupsClaim(Output.of(groupsClaim)); + } + + /** + * @param idpId Unique 24-hexadecimal digit string that identifies the IdP. + * + * @return builder + * + */ + public Builder idpId(@Nullable Output idpId) { + $.idpId = idpId; + return this; + } + + /** + * @param idpId Unique 24-hexadecimal digit string that identifies the IdP. + * + * @return builder + * + */ + public Builder idpId(String idpId) { + return idpId(Output.of(idpId)); + } + + /** + * @param issuerUri Unique string that identifies the issuer of the IdP. * * @return builder * @@ -268,7 +474,7 @@ public Builder issuerUri(@Nullable Output issuerUri) { } /** - * @param issuerUri Unique string that identifies the issuer of the SAML + * @param issuerUri Unique string that identifies the issuer of the IdP. * * @return builder * @@ -320,7 +526,28 @@ public Builder oktaIdpId(String oktaIdpId) { } /** - * @param requestBinding SAML Authentication Request Protocol HTTP method binding (POST or REDIRECT) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values: + * @param protocol The protocol of the identity provider. Either `SAML` or `OIDC`. + * + * @return builder + * + */ + public Builder protocol(@Nullable Output protocol) { + $.protocol = protocol; + return this; + } + + /** + * @param protocol The protocol of the identity provider. Either `SAML` or `OIDC`. + * + * @return builder + * + */ + public Builder protocol(String protocol) { + return protocol(Output.of(protocol)); + } + + /** + * @param requestBinding SAML Authentication Request Protocol HTTP method binding (`POST` or `REDIRECT`) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values: * - HTTP POST * - HTTP REDIRECT * @@ -333,7 +560,7 @@ public Builder requestBinding(@Nullable Output requestBinding) { } /** - * @param requestBinding SAML Authentication Request Protocol HTTP method binding (POST or REDIRECT) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values: + * @param requestBinding SAML Authentication Request Protocol HTTP method binding (`POST` or `REDIRECT`) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values: * - HTTP POST * - HTTP REDIRECT * @@ -345,7 +572,38 @@ public Builder requestBinding(String requestBinding) { } /** - * @param responseSignatureAlgorithm Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include SHA-1 and SHA-256. + * @param requestedScopes Scopes that MongoDB applications will request from the authorization endpoint used for OIDC IdPs. + * + * @return builder + * + */ + public Builder requestedScopes(@Nullable Output> requestedScopes) { + $.requestedScopes = requestedScopes; + return this; + } + + /** + * @param requestedScopes Scopes that MongoDB applications will request from the authorization endpoint used for OIDC IdPs. + * + * @return builder + * + */ + public Builder requestedScopes(List requestedScopes) { + return requestedScopes(Output.of(requestedScopes)); + } + + /** + * @param requestedScopes Scopes that MongoDB applications will request from the authorization endpoint used for OIDC IdPs. + * + * @return builder + * + */ + public Builder requestedScopes(String... requestedScopes) { + return requestedScopes(List.of(requestedScopes)); + } + + /** + * @param responseSignatureAlgorithm Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include ` SHA-1 `and `SHA-256`. * * @return builder * @@ -356,7 +614,7 @@ public Builder responseSignatureAlgorithm(@Nullable Output responseSigna } /** - * @param responseSignatureAlgorithm Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include SHA-1 and SHA-256. + * @param responseSignatureAlgorithm Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include ` SHA-1 `and `SHA-256`. * * @return builder * @@ -428,6 +686,27 @@ public Builder status(String status) { return status(Output.of(status)); } + /** + * @param userClaim Identifier of the claim which contains the user ID in the token used for OIDC IdPs. + * + * @return builder + * + */ + public Builder userClaim(@Nullable Output userClaim) { + $.userClaim = userClaim; + return this; + } + + /** + * @param userClaim Identifier of the claim which contains the user ID in the token used for OIDC IdPs. + * + * @return builder + * + */ + public Builder userClaim(String userClaim) { + return userClaim(Output.of(userClaim)); + } + public FederatedSettingsIdentityProviderState build() { return $; } diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetApiKeyArgs.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetApiKeyArgs.java index d97a0f27..660a8842 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetApiKeyArgs.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetApiKeyArgs.java @@ -14,22 +14,30 @@ public final class GetApiKeyArgs extends com.pulumi.resources.InvokeArgs { public static final GetApiKeyArgs Empty = new GetApiKeyArgs(); + /** + * Unique identifier for the organization API key. + * + */ @Import(name="apiKeyId", required=true) private Output apiKeyId; + /** + * @return Unique identifier for the organization API key. + * + */ public Output apiKeyId() { return this.apiKeyId; } /** - * The unique ID for the project. + * Unique identifier for the organization. * */ @Import(name="orgId", required=true) private Output orgId; /** - * @return The unique ID for the project. + * @return Unique identifier for the organization. * */ public Output orgId() { @@ -61,17 +69,29 @@ public Builder(GetApiKeyArgs defaults) { $ = new GetApiKeyArgs(Objects.requireNonNull(defaults)); } + /** + * @param apiKeyId Unique identifier for the organization API key. + * + * @return builder + * + */ public Builder apiKeyId(Output apiKeyId) { $.apiKeyId = apiKeyId; return this; } + /** + * @param apiKeyId Unique identifier for the organization API key. + * + * @return builder + * + */ public Builder apiKeyId(String apiKeyId) { return apiKeyId(Output.of(apiKeyId)); } /** - * @param orgId The unique ID for the project. + * @param orgId Unique identifier for the organization. * * @return builder * @@ -82,7 +102,7 @@ public Builder orgId(Output orgId) { } /** - * @param orgId The unique ID for the project. + * @param orgId Unique identifier for the organization. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetApiKeyPlainArgs.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetApiKeyPlainArgs.java index d34b52a0..c1ccb293 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetApiKeyPlainArgs.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetApiKeyPlainArgs.java @@ -13,22 +13,30 @@ public final class GetApiKeyPlainArgs extends com.pulumi.resources.InvokeArgs { public static final GetApiKeyPlainArgs Empty = new GetApiKeyPlainArgs(); + /** + * Unique identifier for the organization API key. + * + */ @Import(name="apiKeyId", required=true) private String apiKeyId; + /** + * @return Unique identifier for the organization API key. + * + */ public String apiKeyId() { return this.apiKeyId; } /** - * The unique ID for the project. + * Unique identifier for the organization. * */ @Import(name="orgId", required=true) private String orgId; /** - * @return The unique ID for the project. + * @return Unique identifier for the organization. * */ public String orgId() { @@ -60,13 +68,19 @@ public Builder(GetApiKeyPlainArgs defaults) { $ = new GetApiKeyPlainArgs(Objects.requireNonNull(defaults)); } + /** + * @param apiKeyId Unique identifier for the organization API key. + * + * @return builder + * + */ public Builder apiKeyId(String apiKeyId) { $.apiKeyId = apiKeyId; return this; } /** - * @param orgId The unique ID for the project. + * @param orgId Unique identifier for the organization. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetApiKeysArgs.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetApiKeysArgs.java index 9523ca12..d35c53dd 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetApiKeysArgs.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetApiKeysArgs.java @@ -33,14 +33,14 @@ public Optional> itemsPerPage() { } /** - * Unique identifier for the organization whose API keys you want to retrieve. Use the /orgs endpoint to retrieve all organizations to which the authenticated user has access. + * Unique identifier for the organization whose API keys you want to retrieve. * */ @Import(name="orgId", required=true) private Output orgId; /** - * @return Unique identifier for the organization whose API keys you want to retrieve. Use the /orgs endpoint to retrieve all organizations to which the authenticated user has access. + * @return Unique identifier for the organization whose API keys you want to retrieve. * */ public Output orgId() { @@ -110,7 +110,7 @@ public Builder itemsPerPage(Integer itemsPerPage) { } /** - * @param orgId Unique identifier for the organization whose API keys you want to retrieve. Use the /orgs endpoint to retrieve all organizations to which the authenticated user has access. + * @param orgId Unique identifier for the organization whose API keys you want to retrieve. * * @return builder * @@ -121,7 +121,7 @@ public Builder orgId(Output orgId) { } /** - * @param orgId Unique identifier for the organization whose API keys you want to retrieve. Use the /orgs endpoint to retrieve all organizations to which the authenticated user has access. + * @param orgId Unique identifier for the organization whose API keys you want to retrieve. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetApiKeysPlainArgs.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetApiKeysPlainArgs.java index 94bd2f01..6ca9f2e5 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetApiKeysPlainArgs.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetApiKeysPlainArgs.java @@ -32,14 +32,14 @@ public Optional itemsPerPage() { } /** - * Unique identifier for the organization whose API keys you want to retrieve. Use the /orgs endpoint to retrieve all organizations to which the authenticated user has access. + * Unique identifier for the organization whose API keys you want to retrieve. * */ @Import(name="orgId", required=true) private String orgId; /** - * @return Unique identifier for the organization whose API keys you want to retrieve. Use the /orgs endpoint to retrieve all organizations to which the authenticated user has access. + * @return Unique identifier for the organization whose API keys you want to retrieve. * */ public String orgId() { @@ -99,7 +99,7 @@ public Builder itemsPerPage(@Nullable Integer itemsPerPage) { } /** - * @param orgId Unique identifier for the organization whose API keys you want to retrieve. Use the /orgs endpoint to retrieve all organizations to which the authenticated user has access. + * @param orgId Unique identifier for the organization whose API keys you want to retrieve. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetBackupCompliancePolicyArgs.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetBackupCompliancePolicyArgs.java index a3074628..9d7dd3c3 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetBackupCompliancePolicyArgs.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetBackupCompliancePolicyArgs.java @@ -6,57 +6,14 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import com.pulumi.exceptions.MissingRequiredPropertyException; -import com.pulumi.mongodbatlas.inputs.GetBackupCompliancePolicyOnDemandPolicyItemArgs; -import com.pulumi.mongodbatlas.inputs.GetBackupCompliancePolicyPolicyItemDailyArgs; -import com.pulumi.mongodbatlas.inputs.GetBackupCompliancePolicyPolicyItemHourlyArgs; -import com.pulumi.mongodbatlas.inputs.GetBackupCompliancePolicyPolicyItemMonthlyArgs; -import com.pulumi.mongodbatlas.inputs.GetBackupCompliancePolicyPolicyItemWeeklyArgs; import java.lang.String; -import java.util.List; import java.util.Objects; -import java.util.Optional; -import javax.annotation.Nullable; public final class GetBackupCompliancePolicyArgs extends com.pulumi.resources.InvokeArgs { public static final GetBackupCompliancePolicyArgs Empty = new GetBackupCompliancePolicyArgs(); - @Import(name="onDemandPolicyItem") - private @Nullable Output onDemandPolicyItem; - - public Optional> onDemandPolicyItem() { - return Optional.ofNullable(this.onDemandPolicyItem); - } - - @Import(name="policyItemDaily") - private @Nullable Output policyItemDaily; - - public Optional> policyItemDaily() { - return Optional.ofNullable(this.policyItemDaily); - } - - @Import(name="policyItemHourly") - private @Nullable Output policyItemHourly; - - public Optional> policyItemHourly() { - return Optional.ofNullable(this.policyItemHourly); - } - - @Import(name="policyItemMonthlies") - private @Nullable Output> policyItemMonthlies; - - public Optional>> policyItemMonthlies() { - return Optional.ofNullable(this.policyItemMonthlies); - } - - @Import(name="policyItemWeeklies") - private @Nullable Output> policyItemWeeklies; - - public Optional>> policyItemWeeklies() { - return Optional.ofNullable(this.policyItemWeeklies); - } - /** * Unique 24-hexadecimal digit string that identifies your project * @@ -75,11 +32,6 @@ public Output projectId() { private GetBackupCompliancePolicyArgs() {} private GetBackupCompliancePolicyArgs(GetBackupCompliancePolicyArgs $) { - this.onDemandPolicyItem = $.onDemandPolicyItem; - this.policyItemDaily = $.policyItemDaily; - this.policyItemHourly = $.policyItemHourly; - this.policyItemMonthlies = $.policyItemMonthlies; - this.policyItemWeeklies = $.policyItemWeeklies; this.projectId = $.projectId; } @@ -101,59 +53,6 @@ public Builder(GetBackupCompliancePolicyArgs defaults) { $ = new GetBackupCompliancePolicyArgs(Objects.requireNonNull(defaults)); } - public Builder onDemandPolicyItem(@Nullable Output onDemandPolicyItem) { - $.onDemandPolicyItem = onDemandPolicyItem; - return this; - } - - public Builder onDemandPolicyItem(GetBackupCompliancePolicyOnDemandPolicyItemArgs onDemandPolicyItem) { - return onDemandPolicyItem(Output.of(onDemandPolicyItem)); - } - - public Builder policyItemDaily(@Nullable Output policyItemDaily) { - $.policyItemDaily = policyItemDaily; - return this; - } - - public Builder policyItemDaily(GetBackupCompliancePolicyPolicyItemDailyArgs policyItemDaily) { - return policyItemDaily(Output.of(policyItemDaily)); - } - - public Builder policyItemHourly(@Nullable Output policyItemHourly) { - $.policyItemHourly = policyItemHourly; - return this; - } - - public Builder policyItemHourly(GetBackupCompliancePolicyPolicyItemHourlyArgs policyItemHourly) { - return policyItemHourly(Output.of(policyItemHourly)); - } - - public Builder policyItemMonthlies(@Nullable Output> policyItemMonthlies) { - $.policyItemMonthlies = policyItemMonthlies; - return this; - } - - public Builder policyItemMonthlies(List policyItemMonthlies) { - return policyItemMonthlies(Output.of(policyItemMonthlies)); - } - - public Builder policyItemMonthlies(GetBackupCompliancePolicyPolicyItemMonthlyArgs... policyItemMonthlies) { - return policyItemMonthlies(List.of(policyItemMonthlies)); - } - - public Builder policyItemWeeklies(@Nullable Output> policyItemWeeklies) { - $.policyItemWeeklies = policyItemWeeklies; - return this; - } - - public Builder policyItemWeeklies(List policyItemWeeklies) { - return policyItemWeeklies(Output.of(policyItemWeeklies)); - } - - public Builder policyItemWeeklies(GetBackupCompliancePolicyPolicyItemWeeklyArgs... policyItemWeeklies) { - return policyItemWeeklies(List.of(policyItemWeeklies)); - } - /** * @param projectId Unique 24-hexadecimal digit string that identifies your project * diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetBackupCompliancePolicyOnDemandPolicyItem.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetBackupCompliancePolicyOnDemandPolicyItem.java deleted file mode 100644 index a97ab26b..00000000 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetBackupCompliancePolicyOnDemandPolicyItem.java +++ /dev/null @@ -1,195 +0,0 @@ -// *** WARNING: this file was generated by pulumi-java-gen. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -package com.pulumi.mongodbatlas.inputs; - -import com.pulumi.core.annotations.Import; -import com.pulumi.exceptions.MissingRequiredPropertyException; -import java.lang.Integer; -import java.lang.String; -import java.util.Objects; - - -public final class GetBackupCompliancePolicyOnDemandPolicyItem extends com.pulumi.resources.InvokeArgs { - - public static final GetBackupCompliancePolicyOnDemandPolicyItem Empty = new GetBackupCompliancePolicyOnDemandPolicyItem(); - - /** - * Desired frequency of the new backup policy item specified by `frequency_type` (monthly in this case). The supported values for weekly policies are - * - */ - @Import(name="frequencyInterval", required=true) - private Integer frequencyInterval; - - /** - * @return Desired frequency of the new backup policy item specified by `frequency_type` (monthly in this case). The supported values for weekly policies are - * - */ - public Integer frequencyInterval() { - return this.frequencyInterval; - } - - /** - * Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - * - */ - @Import(name="frequencyType", required=true) - private String frequencyType; - - /** - * @return Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - * - */ - public String frequencyType() { - return this.frequencyType; - } - - /** - * Unique identifier of the backup policy item. - * - */ - @Import(name="id", required=true) - private String id; - - /** - * @return Unique identifier of the backup policy item. - * - */ - public String id() { - return this.id; - } - - /** - * Scope of the backup policy item: `days`, `weeks`, or `months`. - * - */ - @Import(name="retentionUnit", required=true) - private String retentionUnit; - - /** - * @return Scope of the backup policy item: `days`, `weeks`, or `months`. - * - */ - public String retentionUnit() { - return this.retentionUnit; - } - - /** - * Value to associate with `retention_unit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - * - */ - @Import(name="retentionValue", required=true) - private Integer retentionValue; - - /** - * @return Value to associate with `retention_unit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - * - */ - public Integer retentionValue() { - return this.retentionValue; - } - - private GetBackupCompliancePolicyOnDemandPolicyItem() {} - - private GetBackupCompliancePolicyOnDemandPolicyItem(GetBackupCompliancePolicyOnDemandPolicyItem $) { - this.frequencyInterval = $.frequencyInterval; - this.frequencyType = $.frequencyType; - this.id = $.id; - this.retentionUnit = $.retentionUnit; - this.retentionValue = $.retentionValue; - } - - public static Builder builder() { - return new Builder(); - } - public static Builder builder(GetBackupCompliancePolicyOnDemandPolicyItem defaults) { - return new Builder(defaults); - } - - public static final class Builder { - private GetBackupCompliancePolicyOnDemandPolicyItem $; - - public Builder() { - $ = new GetBackupCompliancePolicyOnDemandPolicyItem(); - } - - public Builder(GetBackupCompliancePolicyOnDemandPolicyItem defaults) { - $ = new GetBackupCompliancePolicyOnDemandPolicyItem(Objects.requireNonNull(defaults)); - } - - /** - * @param frequencyInterval Desired frequency of the new backup policy item specified by `frequency_type` (monthly in this case). The supported values for weekly policies are - * - * @return builder - * - */ - public Builder frequencyInterval(Integer frequencyInterval) { - $.frequencyInterval = frequencyInterval; - return this; - } - - /** - * @param frequencyType Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - * - * @return builder - * - */ - public Builder frequencyType(String frequencyType) { - $.frequencyType = frequencyType; - return this; - } - - /** - * @param id Unique identifier of the backup policy item. - * - * @return builder - * - */ - public Builder id(String id) { - $.id = id; - return this; - } - - /** - * @param retentionUnit Scope of the backup policy item: `days`, `weeks`, or `months`. - * - * @return builder - * - */ - public Builder retentionUnit(String retentionUnit) { - $.retentionUnit = retentionUnit; - return this; - } - - /** - * @param retentionValue Value to associate with `retention_unit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - * - * @return builder - * - */ - public Builder retentionValue(Integer retentionValue) { - $.retentionValue = retentionValue; - return this; - } - - public GetBackupCompliancePolicyOnDemandPolicyItem build() { - if ($.frequencyInterval == null) { - throw new MissingRequiredPropertyException("GetBackupCompliancePolicyOnDemandPolicyItem", "frequencyInterval"); - } - if ($.frequencyType == null) { - throw new MissingRequiredPropertyException("GetBackupCompliancePolicyOnDemandPolicyItem", "frequencyType"); - } - if ($.id == null) { - throw new MissingRequiredPropertyException("GetBackupCompliancePolicyOnDemandPolicyItem", "id"); - } - if ($.retentionUnit == null) { - throw new MissingRequiredPropertyException("GetBackupCompliancePolicyOnDemandPolicyItem", "retentionUnit"); - } - if ($.retentionValue == null) { - throw new MissingRequiredPropertyException("GetBackupCompliancePolicyOnDemandPolicyItem", "retentionValue"); - } - return $; - } - } - -} diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetBackupCompliancePolicyOnDemandPolicyItemArgs.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetBackupCompliancePolicyOnDemandPolicyItemArgs.java deleted file mode 100644 index e91e1639..00000000 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetBackupCompliancePolicyOnDemandPolicyItemArgs.java +++ /dev/null @@ -1,246 +0,0 @@ -// *** WARNING: this file was generated by pulumi-java-gen. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -package com.pulumi.mongodbatlas.inputs; - -import com.pulumi.core.Output; -import com.pulumi.core.annotations.Import; -import com.pulumi.exceptions.MissingRequiredPropertyException; -import java.lang.Integer; -import java.lang.String; -import java.util.Objects; - - -public final class GetBackupCompliancePolicyOnDemandPolicyItemArgs extends com.pulumi.resources.ResourceArgs { - - public static final GetBackupCompliancePolicyOnDemandPolicyItemArgs Empty = new GetBackupCompliancePolicyOnDemandPolicyItemArgs(); - - /** - * Desired frequency of the new backup policy item specified by `frequency_type` (monthly in this case). The supported values for weekly policies are - * - */ - @Import(name="frequencyInterval", required=true) - private Output frequencyInterval; - - /** - * @return Desired frequency of the new backup policy item specified by `frequency_type` (monthly in this case). The supported values for weekly policies are - * - */ - public Output frequencyInterval() { - return this.frequencyInterval; - } - - /** - * Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - * - */ - @Import(name="frequencyType", required=true) - private Output frequencyType; - - /** - * @return Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - * - */ - public Output frequencyType() { - return this.frequencyType; - } - - /** - * Unique identifier of the backup policy item. - * - */ - @Import(name="id", required=true) - private Output id; - - /** - * @return Unique identifier of the backup policy item. - * - */ - public Output id() { - return this.id; - } - - /** - * Scope of the backup policy item: `days`, `weeks`, or `months`. - * - */ - @Import(name="retentionUnit", required=true) - private Output retentionUnit; - - /** - * @return Scope of the backup policy item: `days`, `weeks`, or `months`. - * - */ - public Output retentionUnit() { - return this.retentionUnit; - } - - /** - * Value to associate with `retention_unit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - * - */ - @Import(name="retentionValue", required=true) - private Output retentionValue; - - /** - * @return Value to associate with `retention_unit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - * - */ - public Output retentionValue() { - return this.retentionValue; - } - - private GetBackupCompliancePolicyOnDemandPolicyItemArgs() {} - - private GetBackupCompliancePolicyOnDemandPolicyItemArgs(GetBackupCompliancePolicyOnDemandPolicyItemArgs $) { - this.frequencyInterval = $.frequencyInterval; - this.frequencyType = $.frequencyType; - this.id = $.id; - this.retentionUnit = $.retentionUnit; - this.retentionValue = $.retentionValue; - } - - public static Builder builder() { - return new Builder(); - } - public static Builder builder(GetBackupCompliancePolicyOnDemandPolicyItemArgs defaults) { - return new Builder(defaults); - } - - public static final class Builder { - private GetBackupCompliancePolicyOnDemandPolicyItemArgs $; - - public Builder() { - $ = new GetBackupCompliancePolicyOnDemandPolicyItemArgs(); - } - - public Builder(GetBackupCompliancePolicyOnDemandPolicyItemArgs defaults) { - $ = new GetBackupCompliancePolicyOnDemandPolicyItemArgs(Objects.requireNonNull(defaults)); - } - - /** - * @param frequencyInterval Desired frequency of the new backup policy item specified by `frequency_type` (monthly in this case). The supported values for weekly policies are - * - * @return builder - * - */ - public Builder frequencyInterval(Output frequencyInterval) { - $.frequencyInterval = frequencyInterval; - return this; - } - - /** - * @param frequencyInterval Desired frequency of the new backup policy item specified by `frequency_type` (monthly in this case). The supported values for weekly policies are - * - * @return builder - * - */ - public Builder frequencyInterval(Integer frequencyInterval) { - return frequencyInterval(Output.of(frequencyInterval)); - } - - /** - * @param frequencyType Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - * - * @return builder - * - */ - public Builder frequencyType(Output frequencyType) { - $.frequencyType = frequencyType; - return this; - } - - /** - * @param frequencyType Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - * - * @return builder - * - */ - public Builder frequencyType(String frequencyType) { - return frequencyType(Output.of(frequencyType)); - } - - /** - * @param id Unique identifier of the backup policy item. - * - * @return builder - * - */ - public Builder id(Output id) { - $.id = id; - return this; - } - - /** - * @param id Unique identifier of the backup policy item. - * - * @return builder - * - */ - public Builder id(String id) { - return id(Output.of(id)); - } - - /** - * @param retentionUnit Scope of the backup policy item: `days`, `weeks`, or `months`. - * - * @return builder - * - */ - public Builder retentionUnit(Output retentionUnit) { - $.retentionUnit = retentionUnit; - return this; - } - - /** - * @param retentionUnit Scope of the backup policy item: `days`, `weeks`, or `months`. - * - * @return builder - * - */ - public Builder retentionUnit(String retentionUnit) { - return retentionUnit(Output.of(retentionUnit)); - } - - /** - * @param retentionValue Value to associate with `retention_unit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - * - * @return builder - * - */ - public Builder retentionValue(Output retentionValue) { - $.retentionValue = retentionValue; - return this; - } - - /** - * @param retentionValue Value to associate with `retention_unit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - * - * @return builder - * - */ - public Builder retentionValue(Integer retentionValue) { - return retentionValue(Output.of(retentionValue)); - } - - public GetBackupCompliancePolicyOnDemandPolicyItemArgs build() { - if ($.frequencyInterval == null) { - throw new MissingRequiredPropertyException("GetBackupCompliancePolicyOnDemandPolicyItemArgs", "frequencyInterval"); - } - if ($.frequencyType == null) { - throw new MissingRequiredPropertyException("GetBackupCompliancePolicyOnDemandPolicyItemArgs", "frequencyType"); - } - if ($.id == null) { - throw new MissingRequiredPropertyException("GetBackupCompliancePolicyOnDemandPolicyItemArgs", "id"); - } - if ($.retentionUnit == null) { - throw new MissingRequiredPropertyException("GetBackupCompliancePolicyOnDemandPolicyItemArgs", "retentionUnit"); - } - if ($.retentionValue == null) { - throw new MissingRequiredPropertyException("GetBackupCompliancePolicyOnDemandPolicyItemArgs", "retentionValue"); - } - return $; - } - } - -} diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetBackupCompliancePolicyPlainArgs.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetBackupCompliancePolicyPlainArgs.java index 46f7634a..aa80e301 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetBackupCompliancePolicyPlainArgs.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetBackupCompliancePolicyPlainArgs.java @@ -5,57 +5,14 @@ import com.pulumi.core.annotations.Import; import com.pulumi.exceptions.MissingRequiredPropertyException; -import com.pulumi.mongodbatlas.inputs.GetBackupCompliancePolicyOnDemandPolicyItem; -import com.pulumi.mongodbatlas.inputs.GetBackupCompliancePolicyPolicyItemDaily; -import com.pulumi.mongodbatlas.inputs.GetBackupCompliancePolicyPolicyItemHourly; -import com.pulumi.mongodbatlas.inputs.GetBackupCompliancePolicyPolicyItemMonthly; -import com.pulumi.mongodbatlas.inputs.GetBackupCompliancePolicyPolicyItemWeekly; import java.lang.String; -import java.util.List; import java.util.Objects; -import java.util.Optional; -import javax.annotation.Nullable; public final class GetBackupCompliancePolicyPlainArgs extends com.pulumi.resources.InvokeArgs { public static final GetBackupCompliancePolicyPlainArgs Empty = new GetBackupCompliancePolicyPlainArgs(); - @Import(name="onDemandPolicyItem") - private @Nullable GetBackupCompliancePolicyOnDemandPolicyItem onDemandPolicyItem; - - public Optional onDemandPolicyItem() { - return Optional.ofNullable(this.onDemandPolicyItem); - } - - @Import(name="policyItemDaily") - private @Nullable GetBackupCompliancePolicyPolicyItemDaily policyItemDaily; - - public Optional policyItemDaily() { - return Optional.ofNullable(this.policyItemDaily); - } - - @Import(name="policyItemHourly") - private @Nullable GetBackupCompliancePolicyPolicyItemHourly policyItemHourly; - - public Optional policyItemHourly() { - return Optional.ofNullable(this.policyItemHourly); - } - - @Import(name="policyItemMonthlies") - private @Nullable List policyItemMonthlies; - - public Optional> policyItemMonthlies() { - return Optional.ofNullable(this.policyItemMonthlies); - } - - @Import(name="policyItemWeeklies") - private @Nullable List policyItemWeeklies; - - public Optional> policyItemWeeklies() { - return Optional.ofNullable(this.policyItemWeeklies); - } - /** * Unique 24-hexadecimal digit string that identifies your project * @@ -74,11 +31,6 @@ public String projectId() { private GetBackupCompliancePolicyPlainArgs() {} private GetBackupCompliancePolicyPlainArgs(GetBackupCompliancePolicyPlainArgs $) { - this.onDemandPolicyItem = $.onDemandPolicyItem; - this.policyItemDaily = $.policyItemDaily; - this.policyItemHourly = $.policyItemHourly; - this.policyItemMonthlies = $.policyItemMonthlies; - this.policyItemWeeklies = $.policyItemWeeklies; this.projectId = $.projectId; } @@ -100,39 +52,6 @@ public Builder(GetBackupCompliancePolicyPlainArgs defaults) { $ = new GetBackupCompliancePolicyPlainArgs(Objects.requireNonNull(defaults)); } - public Builder onDemandPolicyItem(@Nullable GetBackupCompliancePolicyOnDemandPolicyItem onDemandPolicyItem) { - $.onDemandPolicyItem = onDemandPolicyItem; - return this; - } - - public Builder policyItemDaily(@Nullable GetBackupCompliancePolicyPolicyItemDaily policyItemDaily) { - $.policyItemDaily = policyItemDaily; - return this; - } - - public Builder policyItemHourly(@Nullable GetBackupCompliancePolicyPolicyItemHourly policyItemHourly) { - $.policyItemHourly = policyItemHourly; - return this; - } - - public Builder policyItemMonthlies(@Nullable List policyItemMonthlies) { - $.policyItemMonthlies = policyItemMonthlies; - return this; - } - - public Builder policyItemMonthlies(GetBackupCompliancePolicyPolicyItemMonthly... policyItemMonthlies) { - return policyItemMonthlies(List.of(policyItemMonthlies)); - } - - public Builder policyItemWeeklies(@Nullable List policyItemWeeklies) { - $.policyItemWeeklies = policyItemWeeklies; - return this; - } - - public Builder policyItemWeeklies(GetBackupCompliancePolicyPolicyItemWeekly... policyItemWeeklies) { - return policyItemWeeklies(List.of(policyItemWeeklies)); - } - /** * @param projectId Unique 24-hexadecimal digit string that identifies your project * diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetBackupCompliancePolicyPolicyItemDaily.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetBackupCompliancePolicyPolicyItemDaily.java deleted file mode 100644 index 05ad3543..00000000 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetBackupCompliancePolicyPolicyItemDaily.java +++ /dev/null @@ -1,195 +0,0 @@ -// *** WARNING: this file was generated by pulumi-java-gen. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -package com.pulumi.mongodbatlas.inputs; - -import com.pulumi.core.annotations.Import; -import com.pulumi.exceptions.MissingRequiredPropertyException; -import java.lang.Integer; -import java.lang.String; -import java.util.Objects; - - -public final class GetBackupCompliancePolicyPolicyItemDaily extends com.pulumi.resources.InvokeArgs { - - public static final GetBackupCompliancePolicyPolicyItemDaily Empty = new GetBackupCompliancePolicyPolicyItemDaily(); - - /** - * Desired frequency of the new backup policy item specified by `frequency_type` (monthly in this case). The supported values for weekly policies are - * - */ - @Import(name="frequencyInterval", required=true) - private Integer frequencyInterval; - - /** - * @return Desired frequency of the new backup policy item specified by `frequency_type` (monthly in this case). The supported values for weekly policies are - * - */ - public Integer frequencyInterval() { - return this.frequencyInterval; - } - - /** - * Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - * - */ - @Import(name="frequencyType", required=true) - private String frequencyType; - - /** - * @return Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - * - */ - public String frequencyType() { - return this.frequencyType; - } - - /** - * Unique identifier of the backup policy item. - * - */ - @Import(name="id", required=true) - private String id; - - /** - * @return Unique identifier of the backup policy item. - * - */ - public String id() { - return this.id; - } - - /** - * Scope of the backup policy item: `days`, `weeks`, or `months`. - * - */ - @Import(name="retentionUnit", required=true) - private String retentionUnit; - - /** - * @return Scope of the backup policy item: `days`, `weeks`, or `months`. - * - */ - public String retentionUnit() { - return this.retentionUnit; - } - - /** - * Value to associate with `retention_unit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - * - */ - @Import(name="retentionValue", required=true) - private Integer retentionValue; - - /** - * @return Value to associate with `retention_unit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - * - */ - public Integer retentionValue() { - return this.retentionValue; - } - - private GetBackupCompliancePolicyPolicyItemDaily() {} - - private GetBackupCompliancePolicyPolicyItemDaily(GetBackupCompliancePolicyPolicyItemDaily $) { - this.frequencyInterval = $.frequencyInterval; - this.frequencyType = $.frequencyType; - this.id = $.id; - this.retentionUnit = $.retentionUnit; - this.retentionValue = $.retentionValue; - } - - public static Builder builder() { - return new Builder(); - } - public static Builder builder(GetBackupCompliancePolicyPolicyItemDaily defaults) { - return new Builder(defaults); - } - - public static final class Builder { - private GetBackupCompliancePolicyPolicyItemDaily $; - - public Builder() { - $ = new GetBackupCompliancePolicyPolicyItemDaily(); - } - - public Builder(GetBackupCompliancePolicyPolicyItemDaily defaults) { - $ = new GetBackupCompliancePolicyPolicyItemDaily(Objects.requireNonNull(defaults)); - } - - /** - * @param frequencyInterval Desired frequency of the new backup policy item specified by `frequency_type` (monthly in this case). The supported values for weekly policies are - * - * @return builder - * - */ - public Builder frequencyInterval(Integer frequencyInterval) { - $.frequencyInterval = frequencyInterval; - return this; - } - - /** - * @param frequencyType Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - * - * @return builder - * - */ - public Builder frequencyType(String frequencyType) { - $.frequencyType = frequencyType; - return this; - } - - /** - * @param id Unique identifier of the backup policy item. - * - * @return builder - * - */ - public Builder id(String id) { - $.id = id; - return this; - } - - /** - * @param retentionUnit Scope of the backup policy item: `days`, `weeks`, or `months`. - * - * @return builder - * - */ - public Builder retentionUnit(String retentionUnit) { - $.retentionUnit = retentionUnit; - return this; - } - - /** - * @param retentionValue Value to associate with `retention_unit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - * - * @return builder - * - */ - public Builder retentionValue(Integer retentionValue) { - $.retentionValue = retentionValue; - return this; - } - - public GetBackupCompliancePolicyPolicyItemDaily build() { - if ($.frequencyInterval == null) { - throw new MissingRequiredPropertyException("GetBackupCompliancePolicyPolicyItemDaily", "frequencyInterval"); - } - if ($.frequencyType == null) { - throw new MissingRequiredPropertyException("GetBackupCompliancePolicyPolicyItemDaily", "frequencyType"); - } - if ($.id == null) { - throw new MissingRequiredPropertyException("GetBackupCompliancePolicyPolicyItemDaily", "id"); - } - if ($.retentionUnit == null) { - throw new MissingRequiredPropertyException("GetBackupCompliancePolicyPolicyItemDaily", "retentionUnit"); - } - if ($.retentionValue == null) { - throw new MissingRequiredPropertyException("GetBackupCompliancePolicyPolicyItemDaily", "retentionValue"); - } - return $; - } - } - -} diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetBackupCompliancePolicyPolicyItemDailyArgs.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetBackupCompliancePolicyPolicyItemDailyArgs.java deleted file mode 100644 index 39f529e3..00000000 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetBackupCompliancePolicyPolicyItemDailyArgs.java +++ /dev/null @@ -1,246 +0,0 @@ -// *** WARNING: this file was generated by pulumi-java-gen. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -package com.pulumi.mongodbatlas.inputs; - -import com.pulumi.core.Output; -import com.pulumi.core.annotations.Import; -import com.pulumi.exceptions.MissingRequiredPropertyException; -import java.lang.Integer; -import java.lang.String; -import java.util.Objects; - - -public final class GetBackupCompliancePolicyPolicyItemDailyArgs extends com.pulumi.resources.ResourceArgs { - - public static final GetBackupCompliancePolicyPolicyItemDailyArgs Empty = new GetBackupCompliancePolicyPolicyItemDailyArgs(); - - /** - * Desired frequency of the new backup policy item specified by `frequency_type` (monthly in this case). The supported values for weekly policies are - * - */ - @Import(name="frequencyInterval", required=true) - private Output frequencyInterval; - - /** - * @return Desired frequency of the new backup policy item specified by `frequency_type` (monthly in this case). The supported values for weekly policies are - * - */ - public Output frequencyInterval() { - return this.frequencyInterval; - } - - /** - * Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - * - */ - @Import(name="frequencyType", required=true) - private Output frequencyType; - - /** - * @return Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - * - */ - public Output frequencyType() { - return this.frequencyType; - } - - /** - * Unique identifier of the backup policy item. - * - */ - @Import(name="id", required=true) - private Output id; - - /** - * @return Unique identifier of the backup policy item. - * - */ - public Output id() { - return this.id; - } - - /** - * Scope of the backup policy item: `days`, `weeks`, or `months`. - * - */ - @Import(name="retentionUnit", required=true) - private Output retentionUnit; - - /** - * @return Scope of the backup policy item: `days`, `weeks`, or `months`. - * - */ - public Output retentionUnit() { - return this.retentionUnit; - } - - /** - * Value to associate with `retention_unit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - * - */ - @Import(name="retentionValue", required=true) - private Output retentionValue; - - /** - * @return Value to associate with `retention_unit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - * - */ - public Output retentionValue() { - return this.retentionValue; - } - - private GetBackupCompliancePolicyPolicyItemDailyArgs() {} - - private GetBackupCompliancePolicyPolicyItemDailyArgs(GetBackupCompliancePolicyPolicyItemDailyArgs $) { - this.frequencyInterval = $.frequencyInterval; - this.frequencyType = $.frequencyType; - this.id = $.id; - this.retentionUnit = $.retentionUnit; - this.retentionValue = $.retentionValue; - } - - public static Builder builder() { - return new Builder(); - } - public static Builder builder(GetBackupCompliancePolicyPolicyItemDailyArgs defaults) { - return new Builder(defaults); - } - - public static final class Builder { - private GetBackupCompliancePolicyPolicyItemDailyArgs $; - - public Builder() { - $ = new GetBackupCompliancePolicyPolicyItemDailyArgs(); - } - - public Builder(GetBackupCompliancePolicyPolicyItemDailyArgs defaults) { - $ = new GetBackupCompliancePolicyPolicyItemDailyArgs(Objects.requireNonNull(defaults)); - } - - /** - * @param frequencyInterval Desired frequency of the new backup policy item specified by `frequency_type` (monthly in this case). The supported values for weekly policies are - * - * @return builder - * - */ - public Builder frequencyInterval(Output frequencyInterval) { - $.frequencyInterval = frequencyInterval; - return this; - } - - /** - * @param frequencyInterval Desired frequency of the new backup policy item specified by `frequency_type` (monthly in this case). The supported values for weekly policies are - * - * @return builder - * - */ - public Builder frequencyInterval(Integer frequencyInterval) { - return frequencyInterval(Output.of(frequencyInterval)); - } - - /** - * @param frequencyType Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - * - * @return builder - * - */ - public Builder frequencyType(Output frequencyType) { - $.frequencyType = frequencyType; - return this; - } - - /** - * @param frequencyType Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - * - * @return builder - * - */ - public Builder frequencyType(String frequencyType) { - return frequencyType(Output.of(frequencyType)); - } - - /** - * @param id Unique identifier of the backup policy item. - * - * @return builder - * - */ - public Builder id(Output id) { - $.id = id; - return this; - } - - /** - * @param id Unique identifier of the backup policy item. - * - * @return builder - * - */ - public Builder id(String id) { - return id(Output.of(id)); - } - - /** - * @param retentionUnit Scope of the backup policy item: `days`, `weeks`, or `months`. - * - * @return builder - * - */ - public Builder retentionUnit(Output retentionUnit) { - $.retentionUnit = retentionUnit; - return this; - } - - /** - * @param retentionUnit Scope of the backup policy item: `days`, `weeks`, or `months`. - * - * @return builder - * - */ - public Builder retentionUnit(String retentionUnit) { - return retentionUnit(Output.of(retentionUnit)); - } - - /** - * @param retentionValue Value to associate with `retention_unit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - * - * @return builder - * - */ - public Builder retentionValue(Output retentionValue) { - $.retentionValue = retentionValue; - return this; - } - - /** - * @param retentionValue Value to associate with `retention_unit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - * - * @return builder - * - */ - public Builder retentionValue(Integer retentionValue) { - return retentionValue(Output.of(retentionValue)); - } - - public GetBackupCompliancePolicyPolicyItemDailyArgs build() { - if ($.frequencyInterval == null) { - throw new MissingRequiredPropertyException("GetBackupCompliancePolicyPolicyItemDailyArgs", "frequencyInterval"); - } - if ($.frequencyType == null) { - throw new MissingRequiredPropertyException("GetBackupCompliancePolicyPolicyItemDailyArgs", "frequencyType"); - } - if ($.id == null) { - throw new MissingRequiredPropertyException("GetBackupCompliancePolicyPolicyItemDailyArgs", "id"); - } - if ($.retentionUnit == null) { - throw new MissingRequiredPropertyException("GetBackupCompliancePolicyPolicyItemDailyArgs", "retentionUnit"); - } - if ($.retentionValue == null) { - throw new MissingRequiredPropertyException("GetBackupCompliancePolicyPolicyItemDailyArgs", "retentionValue"); - } - return $; - } - } - -} diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetBackupCompliancePolicyPolicyItemHourly.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetBackupCompliancePolicyPolicyItemHourly.java deleted file mode 100644 index 88eb7adf..00000000 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetBackupCompliancePolicyPolicyItemHourly.java +++ /dev/null @@ -1,195 +0,0 @@ -// *** WARNING: this file was generated by pulumi-java-gen. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -package com.pulumi.mongodbatlas.inputs; - -import com.pulumi.core.annotations.Import; -import com.pulumi.exceptions.MissingRequiredPropertyException; -import java.lang.Integer; -import java.lang.String; -import java.util.Objects; - - -public final class GetBackupCompliancePolicyPolicyItemHourly extends com.pulumi.resources.InvokeArgs { - - public static final GetBackupCompliancePolicyPolicyItemHourly Empty = new GetBackupCompliancePolicyPolicyItemHourly(); - - /** - * Desired frequency of the new backup policy item specified by `frequency_type` (monthly in this case). The supported values for weekly policies are - * - */ - @Import(name="frequencyInterval", required=true) - private Integer frequencyInterval; - - /** - * @return Desired frequency of the new backup policy item specified by `frequency_type` (monthly in this case). The supported values for weekly policies are - * - */ - public Integer frequencyInterval() { - return this.frequencyInterval; - } - - /** - * Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - * - */ - @Import(name="frequencyType", required=true) - private String frequencyType; - - /** - * @return Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - * - */ - public String frequencyType() { - return this.frequencyType; - } - - /** - * Unique identifier of the backup policy item. - * - */ - @Import(name="id", required=true) - private String id; - - /** - * @return Unique identifier of the backup policy item. - * - */ - public String id() { - return this.id; - } - - /** - * Scope of the backup policy item: `days`, `weeks`, or `months`. - * - */ - @Import(name="retentionUnit", required=true) - private String retentionUnit; - - /** - * @return Scope of the backup policy item: `days`, `weeks`, or `months`. - * - */ - public String retentionUnit() { - return this.retentionUnit; - } - - /** - * Value to associate with `retention_unit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - * - */ - @Import(name="retentionValue", required=true) - private Integer retentionValue; - - /** - * @return Value to associate with `retention_unit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - * - */ - public Integer retentionValue() { - return this.retentionValue; - } - - private GetBackupCompliancePolicyPolicyItemHourly() {} - - private GetBackupCompliancePolicyPolicyItemHourly(GetBackupCompliancePolicyPolicyItemHourly $) { - this.frequencyInterval = $.frequencyInterval; - this.frequencyType = $.frequencyType; - this.id = $.id; - this.retentionUnit = $.retentionUnit; - this.retentionValue = $.retentionValue; - } - - public static Builder builder() { - return new Builder(); - } - public static Builder builder(GetBackupCompliancePolicyPolicyItemHourly defaults) { - return new Builder(defaults); - } - - public static final class Builder { - private GetBackupCompliancePolicyPolicyItemHourly $; - - public Builder() { - $ = new GetBackupCompliancePolicyPolicyItemHourly(); - } - - public Builder(GetBackupCompliancePolicyPolicyItemHourly defaults) { - $ = new GetBackupCompliancePolicyPolicyItemHourly(Objects.requireNonNull(defaults)); - } - - /** - * @param frequencyInterval Desired frequency of the new backup policy item specified by `frequency_type` (monthly in this case). The supported values for weekly policies are - * - * @return builder - * - */ - public Builder frequencyInterval(Integer frequencyInterval) { - $.frequencyInterval = frequencyInterval; - return this; - } - - /** - * @param frequencyType Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - * - * @return builder - * - */ - public Builder frequencyType(String frequencyType) { - $.frequencyType = frequencyType; - return this; - } - - /** - * @param id Unique identifier of the backup policy item. - * - * @return builder - * - */ - public Builder id(String id) { - $.id = id; - return this; - } - - /** - * @param retentionUnit Scope of the backup policy item: `days`, `weeks`, or `months`. - * - * @return builder - * - */ - public Builder retentionUnit(String retentionUnit) { - $.retentionUnit = retentionUnit; - return this; - } - - /** - * @param retentionValue Value to associate with `retention_unit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - * - * @return builder - * - */ - public Builder retentionValue(Integer retentionValue) { - $.retentionValue = retentionValue; - return this; - } - - public GetBackupCompliancePolicyPolicyItemHourly build() { - if ($.frequencyInterval == null) { - throw new MissingRequiredPropertyException("GetBackupCompliancePolicyPolicyItemHourly", "frequencyInterval"); - } - if ($.frequencyType == null) { - throw new MissingRequiredPropertyException("GetBackupCompliancePolicyPolicyItemHourly", "frequencyType"); - } - if ($.id == null) { - throw new MissingRequiredPropertyException("GetBackupCompliancePolicyPolicyItemHourly", "id"); - } - if ($.retentionUnit == null) { - throw new MissingRequiredPropertyException("GetBackupCompliancePolicyPolicyItemHourly", "retentionUnit"); - } - if ($.retentionValue == null) { - throw new MissingRequiredPropertyException("GetBackupCompliancePolicyPolicyItemHourly", "retentionValue"); - } - return $; - } - } - -} diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetBackupCompliancePolicyPolicyItemHourlyArgs.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetBackupCompliancePolicyPolicyItemHourlyArgs.java deleted file mode 100644 index ebaede20..00000000 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetBackupCompliancePolicyPolicyItemHourlyArgs.java +++ /dev/null @@ -1,246 +0,0 @@ -// *** WARNING: this file was generated by pulumi-java-gen. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -package com.pulumi.mongodbatlas.inputs; - -import com.pulumi.core.Output; -import com.pulumi.core.annotations.Import; -import com.pulumi.exceptions.MissingRequiredPropertyException; -import java.lang.Integer; -import java.lang.String; -import java.util.Objects; - - -public final class GetBackupCompliancePolicyPolicyItemHourlyArgs extends com.pulumi.resources.ResourceArgs { - - public static final GetBackupCompliancePolicyPolicyItemHourlyArgs Empty = new GetBackupCompliancePolicyPolicyItemHourlyArgs(); - - /** - * Desired frequency of the new backup policy item specified by `frequency_type` (monthly in this case). The supported values for weekly policies are - * - */ - @Import(name="frequencyInterval", required=true) - private Output frequencyInterval; - - /** - * @return Desired frequency of the new backup policy item specified by `frequency_type` (monthly in this case). The supported values for weekly policies are - * - */ - public Output frequencyInterval() { - return this.frequencyInterval; - } - - /** - * Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - * - */ - @Import(name="frequencyType", required=true) - private Output frequencyType; - - /** - * @return Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - * - */ - public Output frequencyType() { - return this.frequencyType; - } - - /** - * Unique identifier of the backup policy item. - * - */ - @Import(name="id", required=true) - private Output id; - - /** - * @return Unique identifier of the backup policy item. - * - */ - public Output id() { - return this.id; - } - - /** - * Scope of the backup policy item: `days`, `weeks`, or `months`. - * - */ - @Import(name="retentionUnit", required=true) - private Output retentionUnit; - - /** - * @return Scope of the backup policy item: `days`, `weeks`, or `months`. - * - */ - public Output retentionUnit() { - return this.retentionUnit; - } - - /** - * Value to associate with `retention_unit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - * - */ - @Import(name="retentionValue", required=true) - private Output retentionValue; - - /** - * @return Value to associate with `retention_unit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - * - */ - public Output retentionValue() { - return this.retentionValue; - } - - private GetBackupCompliancePolicyPolicyItemHourlyArgs() {} - - private GetBackupCompliancePolicyPolicyItemHourlyArgs(GetBackupCompliancePolicyPolicyItemHourlyArgs $) { - this.frequencyInterval = $.frequencyInterval; - this.frequencyType = $.frequencyType; - this.id = $.id; - this.retentionUnit = $.retentionUnit; - this.retentionValue = $.retentionValue; - } - - public static Builder builder() { - return new Builder(); - } - public static Builder builder(GetBackupCompliancePolicyPolicyItemHourlyArgs defaults) { - return new Builder(defaults); - } - - public static final class Builder { - private GetBackupCompliancePolicyPolicyItemHourlyArgs $; - - public Builder() { - $ = new GetBackupCompliancePolicyPolicyItemHourlyArgs(); - } - - public Builder(GetBackupCompliancePolicyPolicyItemHourlyArgs defaults) { - $ = new GetBackupCompliancePolicyPolicyItemHourlyArgs(Objects.requireNonNull(defaults)); - } - - /** - * @param frequencyInterval Desired frequency of the new backup policy item specified by `frequency_type` (monthly in this case). The supported values for weekly policies are - * - * @return builder - * - */ - public Builder frequencyInterval(Output frequencyInterval) { - $.frequencyInterval = frequencyInterval; - return this; - } - - /** - * @param frequencyInterval Desired frequency of the new backup policy item specified by `frequency_type` (monthly in this case). The supported values for weekly policies are - * - * @return builder - * - */ - public Builder frequencyInterval(Integer frequencyInterval) { - return frequencyInterval(Output.of(frequencyInterval)); - } - - /** - * @param frequencyType Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - * - * @return builder - * - */ - public Builder frequencyType(Output frequencyType) { - $.frequencyType = frequencyType; - return this; - } - - /** - * @param frequencyType Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - * - * @return builder - * - */ - public Builder frequencyType(String frequencyType) { - return frequencyType(Output.of(frequencyType)); - } - - /** - * @param id Unique identifier of the backup policy item. - * - * @return builder - * - */ - public Builder id(Output id) { - $.id = id; - return this; - } - - /** - * @param id Unique identifier of the backup policy item. - * - * @return builder - * - */ - public Builder id(String id) { - return id(Output.of(id)); - } - - /** - * @param retentionUnit Scope of the backup policy item: `days`, `weeks`, or `months`. - * - * @return builder - * - */ - public Builder retentionUnit(Output retentionUnit) { - $.retentionUnit = retentionUnit; - return this; - } - - /** - * @param retentionUnit Scope of the backup policy item: `days`, `weeks`, or `months`. - * - * @return builder - * - */ - public Builder retentionUnit(String retentionUnit) { - return retentionUnit(Output.of(retentionUnit)); - } - - /** - * @param retentionValue Value to associate with `retention_unit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - * - * @return builder - * - */ - public Builder retentionValue(Output retentionValue) { - $.retentionValue = retentionValue; - return this; - } - - /** - * @param retentionValue Value to associate with `retention_unit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - * - * @return builder - * - */ - public Builder retentionValue(Integer retentionValue) { - return retentionValue(Output.of(retentionValue)); - } - - public GetBackupCompliancePolicyPolicyItemHourlyArgs build() { - if ($.frequencyInterval == null) { - throw new MissingRequiredPropertyException("GetBackupCompliancePolicyPolicyItemHourlyArgs", "frequencyInterval"); - } - if ($.frequencyType == null) { - throw new MissingRequiredPropertyException("GetBackupCompliancePolicyPolicyItemHourlyArgs", "frequencyType"); - } - if ($.id == null) { - throw new MissingRequiredPropertyException("GetBackupCompliancePolicyPolicyItemHourlyArgs", "id"); - } - if ($.retentionUnit == null) { - throw new MissingRequiredPropertyException("GetBackupCompliancePolicyPolicyItemHourlyArgs", "retentionUnit"); - } - if ($.retentionValue == null) { - throw new MissingRequiredPropertyException("GetBackupCompliancePolicyPolicyItemHourlyArgs", "retentionValue"); - } - return $; - } - } - -} diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetBackupCompliancePolicyPolicyItemMonthly.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetBackupCompliancePolicyPolicyItemMonthly.java deleted file mode 100644 index 5c59d15f..00000000 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetBackupCompliancePolicyPolicyItemMonthly.java +++ /dev/null @@ -1,195 +0,0 @@ -// *** WARNING: this file was generated by pulumi-java-gen. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -package com.pulumi.mongodbatlas.inputs; - -import com.pulumi.core.annotations.Import; -import com.pulumi.exceptions.MissingRequiredPropertyException; -import java.lang.Integer; -import java.lang.String; -import java.util.Objects; - - -public final class GetBackupCompliancePolicyPolicyItemMonthly extends com.pulumi.resources.InvokeArgs { - - public static final GetBackupCompliancePolicyPolicyItemMonthly Empty = new GetBackupCompliancePolicyPolicyItemMonthly(); - - /** - * Desired frequency of the new backup policy item specified by `frequency_type` (monthly in this case). The supported values for weekly policies are - * - */ - @Import(name="frequencyInterval", required=true) - private Integer frequencyInterval; - - /** - * @return Desired frequency of the new backup policy item specified by `frequency_type` (monthly in this case). The supported values for weekly policies are - * - */ - public Integer frequencyInterval() { - return this.frequencyInterval; - } - - /** - * Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - * - */ - @Import(name="frequencyType", required=true) - private String frequencyType; - - /** - * @return Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - * - */ - public String frequencyType() { - return this.frequencyType; - } - - /** - * Unique identifier of the backup policy item. - * - */ - @Import(name="id", required=true) - private String id; - - /** - * @return Unique identifier of the backup policy item. - * - */ - public String id() { - return this.id; - } - - /** - * Scope of the backup policy item: `days`, `weeks`, or `months`. - * - */ - @Import(name="retentionUnit", required=true) - private String retentionUnit; - - /** - * @return Scope of the backup policy item: `days`, `weeks`, or `months`. - * - */ - public String retentionUnit() { - return this.retentionUnit; - } - - /** - * Value to associate with `retention_unit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - * - */ - @Import(name="retentionValue", required=true) - private Integer retentionValue; - - /** - * @return Value to associate with `retention_unit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - * - */ - public Integer retentionValue() { - return this.retentionValue; - } - - private GetBackupCompliancePolicyPolicyItemMonthly() {} - - private GetBackupCompliancePolicyPolicyItemMonthly(GetBackupCompliancePolicyPolicyItemMonthly $) { - this.frequencyInterval = $.frequencyInterval; - this.frequencyType = $.frequencyType; - this.id = $.id; - this.retentionUnit = $.retentionUnit; - this.retentionValue = $.retentionValue; - } - - public static Builder builder() { - return new Builder(); - } - public static Builder builder(GetBackupCompliancePolicyPolicyItemMonthly defaults) { - return new Builder(defaults); - } - - public static final class Builder { - private GetBackupCompliancePolicyPolicyItemMonthly $; - - public Builder() { - $ = new GetBackupCompliancePolicyPolicyItemMonthly(); - } - - public Builder(GetBackupCompliancePolicyPolicyItemMonthly defaults) { - $ = new GetBackupCompliancePolicyPolicyItemMonthly(Objects.requireNonNull(defaults)); - } - - /** - * @param frequencyInterval Desired frequency of the new backup policy item specified by `frequency_type` (monthly in this case). The supported values for weekly policies are - * - * @return builder - * - */ - public Builder frequencyInterval(Integer frequencyInterval) { - $.frequencyInterval = frequencyInterval; - return this; - } - - /** - * @param frequencyType Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - * - * @return builder - * - */ - public Builder frequencyType(String frequencyType) { - $.frequencyType = frequencyType; - return this; - } - - /** - * @param id Unique identifier of the backup policy item. - * - * @return builder - * - */ - public Builder id(String id) { - $.id = id; - return this; - } - - /** - * @param retentionUnit Scope of the backup policy item: `days`, `weeks`, or `months`. - * - * @return builder - * - */ - public Builder retentionUnit(String retentionUnit) { - $.retentionUnit = retentionUnit; - return this; - } - - /** - * @param retentionValue Value to associate with `retention_unit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - * - * @return builder - * - */ - public Builder retentionValue(Integer retentionValue) { - $.retentionValue = retentionValue; - return this; - } - - public GetBackupCompliancePolicyPolicyItemMonthly build() { - if ($.frequencyInterval == null) { - throw new MissingRequiredPropertyException("GetBackupCompliancePolicyPolicyItemMonthly", "frequencyInterval"); - } - if ($.frequencyType == null) { - throw new MissingRequiredPropertyException("GetBackupCompliancePolicyPolicyItemMonthly", "frequencyType"); - } - if ($.id == null) { - throw new MissingRequiredPropertyException("GetBackupCompliancePolicyPolicyItemMonthly", "id"); - } - if ($.retentionUnit == null) { - throw new MissingRequiredPropertyException("GetBackupCompliancePolicyPolicyItemMonthly", "retentionUnit"); - } - if ($.retentionValue == null) { - throw new MissingRequiredPropertyException("GetBackupCompliancePolicyPolicyItemMonthly", "retentionValue"); - } - return $; - } - } - -} diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetBackupCompliancePolicyPolicyItemMonthlyArgs.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetBackupCompliancePolicyPolicyItemMonthlyArgs.java deleted file mode 100644 index 9295f57a..00000000 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetBackupCompliancePolicyPolicyItemMonthlyArgs.java +++ /dev/null @@ -1,246 +0,0 @@ -// *** WARNING: this file was generated by pulumi-java-gen. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -package com.pulumi.mongodbatlas.inputs; - -import com.pulumi.core.Output; -import com.pulumi.core.annotations.Import; -import com.pulumi.exceptions.MissingRequiredPropertyException; -import java.lang.Integer; -import java.lang.String; -import java.util.Objects; - - -public final class GetBackupCompliancePolicyPolicyItemMonthlyArgs extends com.pulumi.resources.ResourceArgs { - - public static final GetBackupCompliancePolicyPolicyItemMonthlyArgs Empty = new GetBackupCompliancePolicyPolicyItemMonthlyArgs(); - - /** - * Desired frequency of the new backup policy item specified by `frequency_type` (monthly in this case). The supported values for weekly policies are - * - */ - @Import(name="frequencyInterval", required=true) - private Output frequencyInterval; - - /** - * @return Desired frequency of the new backup policy item specified by `frequency_type` (monthly in this case). The supported values for weekly policies are - * - */ - public Output frequencyInterval() { - return this.frequencyInterval; - } - - /** - * Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - * - */ - @Import(name="frequencyType", required=true) - private Output frequencyType; - - /** - * @return Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - * - */ - public Output frequencyType() { - return this.frequencyType; - } - - /** - * Unique identifier of the backup policy item. - * - */ - @Import(name="id", required=true) - private Output id; - - /** - * @return Unique identifier of the backup policy item. - * - */ - public Output id() { - return this.id; - } - - /** - * Scope of the backup policy item: `days`, `weeks`, or `months`. - * - */ - @Import(name="retentionUnit", required=true) - private Output retentionUnit; - - /** - * @return Scope of the backup policy item: `days`, `weeks`, or `months`. - * - */ - public Output retentionUnit() { - return this.retentionUnit; - } - - /** - * Value to associate with `retention_unit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - * - */ - @Import(name="retentionValue", required=true) - private Output retentionValue; - - /** - * @return Value to associate with `retention_unit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - * - */ - public Output retentionValue() { - return this.retentionValue; - } - - private GetBackupCompliancePolicyPolicyItemMonthlyArgs() {} - - private GetBackupCompliancePolicyPolicyItemMonthlyArgs(GetBackupCompliancePolicyPolicyItemMonthlyArgs $) { - this.frequencyInterval = $.frequencyInterval; - this.frequencyType = $.frequencyType; - this.id = $.id; - this.retentionUnit = $.retentionUnit; - this.retentionValue = $.retentionValue; - } - - public static Builder builder() { - return new Builder(); - } - public static Builder builder(GetBackupCompliancePolicyPolicyItemMonthlyArgs defaults) { - return new Builder(defaults); - } - - public static final class Builder { - private GetBackupCompliancePolicyPolicyItemMonthlyArgs $; - - public Builder() { - $ = new GetBackupCompliancePolicyPolicyItemMonthlyArgs(); - } - - public Builder(GetBackupCompliancePolicyPolicyItemMonthlyArgs defaults) { - $ = new GetBackupCompliancePolicyPolicyItemMonthlyArgs(Objects.requireNonNull(defaults)); - } - - /** - * @param frequencyInterval Desired frequency of the new backup policy item specified by `frequency_type` (monthly in this case). The supported values for weekly policies are - * - * @return builder - * - */ - public Builder frequencyInterval(Output frequencyInterval) { - $.frequencyInterval = frequencyInterval; - return this; - } - - /** - * @param frequencyInterval Desired frequency of the new backup policy item specified by `frequency_type` (monthly in this case). The supported values for weekly policies are - * - * @return builder - * - */ - public Builder frequencyInterval(Integer frequencyInterval) { - return frequencyInterval(Output.of(frequencyInterval)); - } - - /** - * @param frequencyType Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - * - * @return builder - * - */ - public Builder frequencyType(Output frequencyType) { - $.frequencyType = frequencyType; - return this; - } - - /** - * @param frequencyType Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - * - * @return builder - * - */ - public Builder frequencyType(String frequencyType) { - return frequencyType(Output.of(frequencyType)); - } - - /** - * @param id Unique identifier of the backup policy item. - * - * @return builder - * - */ - public Builder id(Output id) { - $.id = id; - return this; - } - - /** - * @param id Unique identifier of the backup policy item. - * - * @return builder - * - */ - public Builder id(String id) { - return id(Output.of(id)); - } - - /** - * @param retentionUnit Scope of the backup policy item: `days`, `weeks`, or `months`. - * - * @return builder - * - */ - public Builder retentionUnit(Output retentionUnit) { - $.retentionUnit = retentionUnit; - return this; - } - - /** - * @param retentionUnit Scope of the backup policy item: `days`, `weeks`, or `months`. - * - * @return builder - * - */ - public Builder retentionUnit(String retentionUnit) { - return retentionUnit(Output.of(retentionUnit)); - } - - /** - * @param retentionValue Value to associate with `retention_unit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - * - * @return builder - * - */ - public Builder retentionValue(Output retentionValue) { - $.retentionValue = retentionValue; - return this; - } - - /** - * @param retentionValue Value to associate with `retention_unit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - * - * @return builder - * - */ - public Builder retentionValue(Integer retentionValue) { - return retentionValue(Output.of(retentionValue)); - } - - public GetBackupCompliancePolicyPolicyItemMonthlyArgs build() { - if ($.frequencyInterval == null) { - throw new MissingRequiredPropertyException("GetBackupCompliancePolicyPolicyItemMonthlyArgs", "frequencyInterval"); - } - if ($.frequencyType == null) { - throw new MissingRequiredPropertyException("GetBackupCompliancePolicyPolicyItemMonthlyArgs", "frequencyType"); - } - if ($.id == null) { - throw new MissingRequiredPropertyException("GetBackupCompliancePolicyPolicyItemMonthlyArgs", "id"); - } - if ($.retentionUnit == null) { - throw new MissingRequiredPropertyException("GetBackupCompliancePolicyPolicyItemMonthlyArgs", "retentionUnit"); - } - if ($.retentionValue == null) { - throw new MissingRequiredPropertyException("GetBackupCompliancePolicyPolicyItemMonthlyArgs", "retentionValue"); - } - return $; - } - } - -} diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetBackupCompliancePolicyPolicyItemWeekly.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetBackupCompliancePolicyPolicyItemWeekly.java deleted file mode 100644 index bfdf102f..00000000 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetBackupCompliancePolicyPolicyItemWeekly.java +++ /dev/null @@ -1,195 +0,0 @@ -// *** WARNING: this file was generated by pulumi-java-gen. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -package com.pulumi.mongodbatlas.inputs; - -import com.pulumi.core.annotations.Import; -import com.pulumi.exceptions.MissingRequiredPropertyException; -import java.lang.Integer; -import java.lang.String; -import java.util.Objects; - - -public final class GetBackupCompliancePolicyPolicyItemWeekly extends com.pulumi.resources.InvokeArgs { - - public static final GetBackupCompliancePolicyPolicyItemWeekly Empty = new GetBackupCompliancePolicyPolicyItemWeekly(); - - /** - * Desired frequency of the new backup policy item specified by `frequency_type` (monthly in this case). The supported values for weekly policies are - * - */ - @Import(name="frequencyInterval", required=true) - private Integer frequencyInterval; - - /** - * @return Desired frequency of the new backup policy item specified by `frequency_type` (monthly in this case). The supported values for weekly policies are - * - */ - public Integer frequencyInterval() { - return this.frequencyInterval; - } - - /** - * Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - * - */ - @Import(name="frequencyType", required=true) - private String frequencyType; - - /** - * @return Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - * - */ - public String frequencyType() { - return this.frequencyType; - } - - /** - * Unique identifier of the backup policy item. - * - */ - @Import(name="id", required=true) - private String id; - - /** - * @return Unique identifier of the backup policy item. - * - */ - public String id() { - return this.id; - } - - /** - * Scope of the backup policy item: `days`, `weeks`, or `months`. - * - */ - @Import(name="retentionUnit", required=true) - private String retentionUnit; - - /** - * @return Scope of the backup policy item: `days`, `weeks`, or `months`. - * - */ - public String retentionUnit() { - return this.retentionUnit; - } - - /** - * Value to associate with `retention_unit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - * - */ - @Import(name="retentionValue", required=true) - private Integer retentionValue; - - /** - * @return Value to associate with `retention_unit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - * - */ - public Integer retentionValue() { - return this.retentionValue; - } - - private GetBackupCompliancePolicyPolicyItemWeekly() {} - - private GetBackupCompliancePolicyPolicyItemWeekly(GetBackupCompliancePolicyPolicyItemWeekly $) { - this.frequencyInterval = $.frequencyInterval; - this.frequencyType = $.frequencyType; - this.id = $.id; - this.retentionUnit = $.retentionUnit; - this.retentionValue = $.retentionValue; - } - - public static Builder builder() { - return new Builder(); - } - public static Builder builder(GetBackupCompliancePolicyPolicyItemWeekly defaults) { - return new Builder(defaults); - } - - public static final class Builder { - private GetBackupCompliancePolicyPolicyItemWeekly $; - - public Builder() { - $ = new GetBackupCompliancePolicyPolicyItemWeekly(); - } - - public Builder(GetBackupCompliancePolicyPolicyItemWeekly defaults) { - $ = new GetBackupCompliancePolicyPolicyItemWeekly(Objects.requireNonNull(defaults)); - } - - /** - * @param frequencyInterval Desired frequency of the new backup policy item specified by `frequency_type` (monthly in this case). The supported values for weekly policies are - * - * @return builder - * - */ - public Builder frequencyInterval(Integer frequencyInterval) { - $.frequencyInterval = frequencyInterval; - return this; - } - - /** - * @param frequencyType Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - * - * @return builder - * - */ - public Builder frequencyType(String frequencyType) { - $.frequencyType = frequencyType; - return this; - } - - /** - * @param id Unique identifier of the backup policy item. - * - * @return builder - * - */ - public Builder id(String id) { - $.id = id; - return this; - } - - /** - * @param retentionUnit Scope of the backup policy item: `days`, `weeks`, or `months`. - * - * @return builder - * - */ - public Builder retentionUnit(String retentionUnit) { - $.retentionUnit = retentionUnit; - return this; - } - - /** - * @param retentionValue Value to associate with `retention_unit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - * - * @return builder - * - */ - public Builder retentionValue(Integer retentionValue) { - $.retentionValue = retentionValue; - return this; - } - - public GetBackupCompliancePolicyPolicyItemWeekly build() { - if ($.frequencyInterval == null) { - throw new MissingRequiredPropertyException("GetBackupCompliancePolicyPolicyItemWeekly", "frequencyInterval"); - } - if ($.frequencyType == null) { - throw new MissingRequiredPropertyException("GetBackupCompliancePolicyPolicyItemWeekly", "frequencyType"); - } - if ($.id == null) { - throw new MissingRequiredPropertyException("GetBackupCompliancePolicyPolicyItemWeekly", "id"); - } - if ($.retentionUnit == null) { - throw new MissingRequiredPropertyException("GetBackupCompliancePolicyPolicyItemWeekly", "retentionUnit"); - } - if ($.retentionValue == null) { - throw new MissingRequiredPropertyException("GetBackupCompliancePolicyPolicyItemWeekly", "retentionValue"); - } - return $; - } - } - -} diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetBackupCompliancePolicyPolicyItemWeeklyArgs.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetBackupCompliancePolicyPolicyItemWeeklyArgs.java deleted file mode 100644 index 3d729f55..00000000 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetBackupCompliancePolicyPolicyItemWeeklyArgs.java +++ /dev/null @@ -1,246 +0,0 @@ -// *** WARNING: this file was generated by pulumi-java-gen. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -package com.pulumi.mongodbatlas.inputs; - -import com.pulumi.core.Output; -import com.pulumi.core.annotations.Import; -import com.pulumi.exceptions.MissingRequiredPropertyException; -import java.lang.Integer; -import java.lang.String; -import java.util.Objects; - - -public final class GetBackupCompliancePolicyPolicyItemWeeklyArgs extends com.pulumi.resources.ResourceArgs { - - public static final GetBackupCompliancePolicyPolicyItemWeeklyArgs Empty = new GetBackupCompliancePolicyPolicyItemWeeklyArgs(); - - /** - * Desired frequency of the new backup policy item specified by `frequency_type` (monthly in this case). The supported values for weekly policies are - * - */ - @Import(name="frequencyInterval", required=true) - private Output frequencyInterval; - - /** - * @return Desired frequency of the new backup policy item specified by `frequency_type` (monthly in this case). The supported values for weekly policies are - * - */ - public Output frequencyInterval() { - return this.frequencyInterval; - } - - /** - * Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - * - */ - @Import(name="frequencyType", required=true) - private Output frequencyType; - - /** - * @return Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - * - */ - public Output frequencyType() { - return this.frequencyType; - } - - /** - * Unique identifier of the backup policy item. - * - */ - @Import(name="id", required=true) - private Output id; - - /** - * @return Unique identifier of the backup policy item. - * - */ - public Output id() { - return this.id; - } - - /** - * Scope of the backup policy item: `days`, `weeks`, or `months`. - * - */ - @Import(name="retentionUnit", required=true) - private Output retentionUnit; - - /** - * @return Scope of the backup policy item: `days`, `weeks`, or `months`. - * - */ - public Output retentionUnit() { - return this.retentionUnit; - } - - /** - * Value to associate with `retention_unit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - * - */ - @Import(name="retentionValue", required=true) - private Output retentionValue; - - /** - * @return Value to associate with `retention_unit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - * - */ - public Output retentionValue() { - return this.retentionValue; - } - - private GetBackupCompliancePolicyPolicyItemWeeklyArgs() {} - - private GetBackupCompliancePolicyPolicyItemWeeklyArgs(GetBackupCompliancePolicyPolicyItemWeeklyArgs $) { - this.frequencyInterval = $.frequencyInterval; - this.frequencyType = $.frequencyType; - this.id = $.id; - this.retentionUnit = $.retentionUnit; - this.retentionValue = $.retentionValue; - } - - public static Builder builder() { - return new Builder(); - } - public static Builder builder(GetBackupCompliancePolicyPolicyItemWeeklyArgs defaults) { - return new Builder(defaults); - } - - public static final class Builder { - private GetBackupCompliancePolicyPolicyItemWeeklyArgs $; - - public Builder() { - $ = new GetBackupCompliancePolicyPolicyItemWeeklyArgs(); - } - - public Builder(GetBackupCompliancePolicyPolicyItemWeeklyArgs defaults) { - $ = new GetBackupCompliancePolicyPolicyItemWeeklyArgs(Objects.requireNonNull(defaults)); - } - - /** - * @param frequencyInterval Desired frequency of the new backup policy item specified by `frequency_type` (monthly in this case). The supported values for weekly policies are - * - * @return builder - * - */ - public Builder frequencyInterval(Output frequencyInterval) { - $.frequencyInterval = frequencyInterval; - return this; - } - - /** - * @param frequencyInterval Desired frequency of the new backup policy item specified by `frequency_type` (monthly in this case). The supported values for weekly policies are - * - * @return builder - * - */ - public Builder frequencyInterval(Integer frequencyInterval) { - return frequencyInterval(Output.of(frequencyInterval)); - } - - /** - * @param frequencyType Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - * - * @return builder - * - */ - public Builder frequencyType(Output frequencyType) { - $.frequencyType = frequencyType; - return this; - } - - /** - * @param frequencyType Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - * - * @return builder - * - */ - public Builder frequencyType(String frequencyType) { - return frequencyType(Output.of(frequencyType)); - } - - /** - * @param id Unique identifier of the backup policy item. - * - * @return builder - * - */ - public Builder id(Output id) { - $.id = id; - return this; - } - - /** - * @param id Unique identifier of the backup policy item. - * - * @return builder - * - */ - public Builder id(String id) { - return id(Output.of(id)); - } - - /** - * @param retentionUnit Scope of the backup policy item: `days`, `weeks`, or `months`. - * - * @return builder - * - */ - public Builder retentionUnit(Output retentionUnit) { - $.retentionUnit = retentionUnit; - return this; - } - - /** - * @param retentionUnit Scope of the backup policy item: `days`, `weeks`, or `months`. - * - * @return builder - * - */ - public Builder retentionUnit(String retentionUnit) { - return retentionUnit(Output.of(retentionUnit)); - } - - /** - * @param retentionValue Value to associate with `retention_unit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - * - * @return builder - * - */ - public Builder retentionValue(Output retentionValue) { - $.retentionValue = retentionValue; - return this; - } - - /** - * @param retentionValue Value to associate with `retention_unit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - * - * @return builder - * - */ - public Builder retentionValue(Integer retentionValue) { - return retentionValue(Output.of(retentionValue)); - } - - public GetBackupCompliancePolicyPolicyItemWeeklyArgs build() { - if ($.frequencyInterval == null) { - throw new MissingRequiredPropertyException("GetBackupCompliancePolicyPolicyItemWeeklyArgs", "frequencyInterval"); - } - if ($.frequencyType == null) { - throw new MissingRequiredPropertyException("GetBackupCompliancePolicyPolicyItemWeeklyArgs", "frequencyType"); - } - if ($.id == null) { - throw new MissingRequiredPropertyException("GetBackupCompliancePolicyPolicyItemWeeklyArgs", "id"); - } - if ($.retentionUnit == null) { - throw new MissingRequiredPropertyException("GetBackupCompliancePolicyPolicyItemWeeklyArgs", "retentionUnit"); - } - if ($.retentionValue == null) { - throw new MissingRequiredPropertyException("GetBackupCompliancePolicyPolicyItemWeeklyArgs", "retentionValue"); - } - return $; - } - } - -} diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetCloudProviderAccessArgs.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetCloudProviderAccessArgs.java deleted file mode 100644 index 627c662e..00000000 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetCloudProviderAccessArgs.java +++ /dev/null @@ -1,85 +0,0 @@ -// *** WARNING: this file was generated by pulumi-java-gen. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -package com.pulumi.mongodbatlas.inputs; - -import com.pulumi.core.Output; -import com.pulumi.core.annotations.Import; -import com.pulumi.exceptions.MissingRequiredPropertyException; -import java.lang.String; -import java.util.Objects; - - -public final class GetCloudProviderAccessArgs extends com.pulumi.resources.InvokeArgs { - - public static final GetCloudProviderAccessArgs Empty = new GetCloudProviderAccessArgs(); - - /** - * The unique ID for the project to get all Cloud Provider Access - * - */ - @Import(name="projectId", required=true) - private Output projectId; - - /** - * @return The unique ID for the project to get all Cloud Provider Access - * - */ - public Output projectId() { - return this.projectId; - } - - private GetCloudProviderAccessArgs() {} - - private GetCloudProviderAccessArgs(GetCloudProviderAccessArgs $) { - this.projectId = $.projectId; - } - - public static Builder builder() { - return new Builder(); - } - public static Builder builder(GetCloudProviderAccessArgs defaults) { - return new Builder(defaults); - } - - public static final class Builder { - private GetCloudProviderAccessArgs $; - - public Builder() { - $ = new GetCloudProviderAccessArgs(); - } - - public Builder(GetCloudProviderAccessArgs defaults) { - $ = new GetCloudProviderAccessArgs(Objects.requireNonNull(defaults)); - } - - /** - * @param projectId The unique ID for the project to get all Cloud Provider Access - * - * @return builder - * - */ - public Builder projectId(Output projectId) { - $.projectId = projectId; - return this; - } - - /** - * @param projectId The unique ID for the project to get all Cloud Provider Access - * - * @return builder - * - */ - public Builder projectId(String projectId) { - return projectId(Output.of(projectId)); - } - - public GetCloudProviderAccessArgs build() { - if ($.projectId == null) { - throw new MissingRequiredPropertyException("GetCloudProviderAccessArgs", "projectId"); - } - return $; - } - } - -} diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetCloudProviderAccessPlainArgs.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetCloudProviderAccessPlainArgs.java deleted file mode 100644 index 15175d20..00000000 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetCloudProviderAccessPlainArgs.java +++ /dev/null @@ -1,74 +0,0 @@ -// *** WARNING: this file was generated by pulumi-java-gen. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -package com.pulumi.mongodbatlas.inputs; - -import com.pulumi.core.annotations.Import; -import com.pulumi.exceptions.MissingRequiredPropertyException; -import java.lang.String; -import java.util.Objects; - - -public final class GetCloudProviderAccessPlainArgs extends com.pulumi.resources.InvokeArgs { - - public static final GetCloudProviderAccessPlainArgs Empty = new GetCloudProviderAccessPlainArgs(); - - /** - * The unique ID for the project to get all Cloud Provider Access - * - */ - @Import(name="projectId", required=true) - private String projectId; - - /** - * @return The unique ID for the project to get all Cloud Provider Access - * - */ - public String projectId() { - return this.projectId; - } - - private GetCloudProviderAccessPlainArgs() {} - - private GetCloudProviderAccessPlainArgs(GetCloudProviderAccessPlainArgs $) { - this.projectId = $.projectId; - } - - public static Builder builder() { - return new Builder(); - } - public static Builder builder(GetCloudProviderAccessPlainArgs defaults) { - return new Builder(defaults); - } - - public static final class Builder { - private GetCloudProviderAccessPlainArgs $; - - public Builder() { - $ = new GetCloudProviderAccessPlainArgs(); - } - - public Builder(GetCloudProviderAccessPlainArgs defaults) { - $ = new GetCloudProviderAccessPlainArgs(Objects.requireNonNull(defaults)); - } - - /** - * @param projectId The unique ID for the project to get all Cloud Provider Access - * - * @return builder - * - */ - public Builder projectId(String projectId) { - $.projectId = projectId; - return this; - } - - public GetCloudProviderAccessPlainArgs build() { - if ($.projectId == null) { - throw new MissingRequiredPropertyException("GetCloudProviderAccessPlainArgs", "projectId"); - } - return $; - } - } - -} diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetFederatedSettingsIdentityProviderArgs.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetFederatedSettingsIdentityProviderArgs.java index 417aa542..675767fb 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetFederatedSettingsIdentityProviderArgs.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetFederatedSettingsIdentityProviderArgs.java @@ -29,17 +29,9 @@ public Output federationSettingsId() { return this.federationSettingsId; } - /** - * Unique 20-hexadecimal digit string that identifies the IdP. - * - */ @Import(name="identityProviderId", required=true) private Output identityProviderId; - /** - * @return Unique 20-hexadecimal digit string that identifies the IdP. - * - */ public Output identityProviderId() { return this.identityProviderId; } @@ -90,23 +82,11 @@ public Builder federationSettingsId(String federationSettingsId) { return federationSettingsId(Output.of(federationSettingsId)); } - /** - * @param identityProviderId Unique 20-hexadecimal digit string that identifies the IdP. - * - * @return builder - * - */ public Builder identityProviderId(Output identityProviderId) { $.identityProviderId = identityProviderId; return this; } - /** - * @param identityProviderId Unique 20-hexadecimal digit string that identifies the IdP. - * - * @return builder - * - */ public Builder identityProviderId(String identityProviderId) { return identityProviderId(Output.of(identityProviderId)); } diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetFederatedSettingsIdentityProviderPlainArgs.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetFederatedSettingsIdentityProviderPlainArgs.java index 73573e8d..dbbd17d6 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetFederatedSettingsIdentityProviderPlainArgs.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetFederatedSettingsIdentityProviderPlainArgs.java @@ -28,17 +28,9 @@ public String federationSettingsId() { return this.federationSettingsId; } - /** - * Unique 20-hexadecimal digit string that identifies the IdP. - * - */ @Import(name="identityProviderId", required=true) private String identityProviderId; - /** - * @return Unique 20-hexadecimal digit string that identifies the IdP. - * - */ public String identityProviderId() { return this.identityProviderId; } @@ -79,12 +71,6 @@ public Builder federationSettingsId(String federationSettingsId) { return this; } - /** - * @param identityProviderId Unique 20-hexadecimal digit string that identifies the IdP. - * - * @return builder - * - */ public Builder identityProviderId(String identityProviderId) { $.identityProviderId = identityProviderId; return this; diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetOrganizationsArgs.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetOrganizationsArgs.java index 5d4070f7..570030b8 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetOrganizationsArgs.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetOrganizationsArgs.java @@ -17,9 +17,21 @@ public final class GetOrganizationsArgs extends com.pulumi.resources.InvokeArgs public static final GetOrganizationsArgs Empty = new GetOrganizationsArgs(); + /** + * @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="includeDeletedOrgs") private @Nullable Output includeDeletedOrgs; + /** + * @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> includeDeletedOrgs() { return Optional.ofNullable(this.includeDeletedOrgs); } @@ -96,11 +108,27 @@ public Builder(GetOrganizationsArgs defaults) { $ = new GetOrganizationsArgs(Objects.requireNonNull(defaults)); } + /** + * @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 includeDeletedOrgs(@Nullable Output includeDeletedOrgs) { $.includeDeletedOrgs = includeDeletedOrgs; return this; } + /** + * @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 includeDeletedOrgs(Boolean includeDeletedOrgs) { return includeDeletedOrgs(Output.of(includeDeletedOrgs)); } diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetOrganizationsPlainArgs.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetOrganizationsPlainArgs.java index cc183991..57d9e157 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetOrganizationsPlainArgs.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetOrganizationsPlainArgs.java @@ -16,9 +16,21 @@ public final class GetOrganizationsPlainArgs extends com.pulumi.resources.Invoke public static final GetOrganizationsPlainArgs Empty = new GetOrganizationsPlainArgs(); + /** + * @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="includeDeletedOrgs") private @Nullable Boolean includeDeletedOrgs; + /** + * @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 includeDeletedOrgs() { return Optional.ofNullable(this.includeDeletedOrgs); } @@ -95,6 +107,14 @@ public Builder(GetOrganizationsPlainArgs defaults) { $ = new GetOrganizationsPlainArgs(Objects.requireNonNull(defaults)); } + /** + * @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 includeDeletedOrgs(@Nullable Boolean includeDeletedOrgs) { $.includeDeletedOrgs = includeDeletedOrgs; return this; diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetSearchDeploymentArgs.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetSearchDeploymentArgs.java index a8e16d0f..bf2a87a0 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetSearchDeploymentArgs.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetSearchDeploymentArgs.java @@ -15,14 +15,14 @@ public final class GetSearchDeploymentArgs extends com.pulumi.resources.InvokeAr public static final GetSearchDeploymentArgs Empty = new GetSearchDeploymentArgs(); /** - * The name of the cluster containing a search node deployment. + * Label that identifies the cluster to return the search nodes for. * */ @Import(name="clusterName", required=true) private Output clusterName; /** - * @return The name of the cluster containing a search node deployment. + * @return Label that identifies the cluster to return the search nodes for. * */ public Output clusterName() { @@ -30,14 +30,14 @@ public Output clusterName() { } /** - * The unique identifier for the [project](https://docs.atlas.mongodb.com/organizations-projects/#std-label-projects) that contains the specified cluster. + * Unique 24-hexadecimal digit string that identifies your project. * */ @Import(name="projectId", required=true) private Output projectId; /** - * @return The unique identifier for the [project](https://docs.atlas.mongodb.com/organizations-projects/#std-label-projects) that contains the specified cluster. + * @return Unique 24-hexadecimal digit string that identifies your project. * */ public Output projectId() { @@ -70,7 +70,7 @@ public Builder(GetSearchDeploymentArgs defaults) { } /** - * @param clusterName The name of the cluster containing a search node deployment. + * @param clusterName Label that identifies the cluster to return the search nodes for. * * @return builder * @@ -81,7 +81,7 @@ public Builder clusterName(Output clusterName) { } /** - * @param clusterName The name of the cluster containing a search node deployment. + * @param clusterName Label that identifies the cluster to return the search nodes for. * * @return builder * @@ -91,7 +91,7 @@ public Builder clusterName(String clusterName) { } /** - * @param projectId The unique identifier for the [project](https://docs.atlas.mongodb.com/organizations-projects/#std-label-projects) that contains the specified cluster. + * @param projectId Unique 24-hexadecimal digit string that identifies your project. * * @return builder * @@ -102,7 +102,7 @@ public Builder projectId(Output projectId) { } /** - * @param projectId The unique identifier for the [project](https://docs.atlas.mongodb.com/organizations-projects/#std-label-projects) that contains the specified cluster. + * @param projectId Unique 24-hexadecimal digit string that identifies your project. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetSearchDeploymentPlainArgs.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetSearchDeploymentPlainArgs.java index 305124f8..0c5194eb 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetSearchDeploymentPlainArgs.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetSearchDeploymentPlainArgs.java @@ -14,14 +14,14 @@ public final class GetSearchDeploymentPlainArgs extends com.pulumi.resources.Inv public static final GetSearchDeploymentPlainArgs Empty = new GetSearchDeploymentPlainArgs(); /** - * The name of the cluster containing a search node deployment. + * Label that identifies the cluster to return the search nodes for. * */ @Import(name="clusterName", required=true) private String clusterName; /** - * @return The name of the cluster containing a search node deployment. + * @return Label that identifies the cluster to return the search nodes for. * */ public String clusterName() { @@ -29,14 +29,14 @@ public String clusterName() { } /** - * The unique identifier for the [project](https://docs.atlas.mongodb.com/organizations-projects/#std-label-projects) that contains the specified cluster. + * Unique 24-hexadecimal digit string that identifies your project. * */ @Import(name="projectId", required=true) private String projectId; /** - * @return The unique identifier for the [project](https://docs.atlas.mongodb.com/organizations-projects/#std-label-projects) that contains the specified cluster. + * @return Unique 24-hexadecimal digit string that identifies your project. * */ public String projectId() { @@ -69,7 +69,7 @@ public Builder(GetSearchDeploymentPlainArgs defaults) { } /** - * @param clusterName The name of the cluster containing a search node deployment. + * @param clusterName Label that identifies the cluster to return the search nodes for. * * @return builder * @@ -80,7 +80,7 @@ public Builder clusterName(String clusterName) { } /** - * @param projectId The unique identifier for the [project](https://docs.atlas.mongodb.com/organizations-projects/#std-label-projects) that contains the specified cluster. + * @param projectId Unique 24-hexadecimal digit string that identifies your project. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetSearchIndexArgs.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetSearchIndexArgs.java index a9a83ec4..8ffa21ce 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetSearchIndexArgs.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetSearchIndexArgs.java @@ -189,13 +189,6 @@ public Optional> searchAnalyzer() { return Optional.ofNullable(this.searchAnalyzer); } - @Import(name="status") - private @Nullable Output status; - - public Optional> status() { - return Optional.ofNullable(this.status); - } - @Import(name="type") private @Nullable Output type; @@ -218,7 +211,6 @@ private GetSearchIndexArgs(GetSearchIndexArgs $) { this.name = $.name; this.projectId = $.projectId; this.searchAnalyzer = $.searchAnalyzer; - this.status = $.status; this.type = $.type; } @@ -480,15 +472,6 @@ public Builder searchAnalyzer(String searchAnalyzer) { return searchAnalyzer(Output.of(searchAnalyzer)); } - public Builder status(@Nullable Output status) { - $.status = status; - return this; - } - - public Builder status(String status) { - return status(Output.of(status)); - } - public Builder type(@Nullable Output type) { $.type = type; return this; diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetSearchIndexPlainArgs.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetSearchIndexPlainArgs.java index 305b92fe..0d19f535 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetSearchIndexPlainArgs.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetSearchIndexPlainArgs.java @@ -188,13 +188,6 @@ public Optional searchAnalyzer() { return Optional.ofNullable(this.searchAnalyzer); } - @Import(name="status") - private @Nullable String status; - - public Optional status() { - return Optional.ofNullable(this.status); - } - @Import(name="type") private @Nullable String type; @@ -217,7 +210,6 @@ private GetSearchIndexPlainArgs(GetSearchIndexPlainArgs $) { this.name = $.name; this.projectId = $.projectId; this.searchAnalyzer = $.searchAnalyzer; - this.status = $.status; this.type = $.type; } @@ -365,11 +357,6 @@ public Builder searchAnalyzer(@Nullable String searchAnalyzer) { return this; } - public Builder status(@Nullable String status) { - $.status = status; - return this; - } - public Builder type(@Nullable String type) { $.type = type; return this; diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetSearchIndexesArgs.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetSearchIndexesArgs.java index 36c68f2d..75422c68 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetSearchIndexesArgs.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetSearchIndexesArgs.java @@ -6,11 +6,8 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import com.pulumi.exceptions.MissingRequiredPropertyException; -import java.lang.Integer; import java.lang.String; import java.util.Objects; -import java.util.Optional; -import javax.annotation.Nullable; public final class GetSearchIndexesArgs extends com.pulumi.resources.InvokeArgs { @@ -62,52 +59,6 @@ public Output database() { return this.database; } - /** - * Number of items that Atlas returns per page, up to a maximum of 500. **WARNING:** this parameter is deprecated and will be removed in version 1.15.0 - * - * @deprecated - * this parameter is deprecated and will be removed in version 1.15.0 - * - */ - @Deprecated /* this parameter is deprecated and will be removed in version 1.15.0 */ - @Import(name="itemsPerPage") - private @Nullable Output itemsPerPage; - - /** - * @return Number of items that Atlas returns per page, up to a maximum of 500. **WARNING:** this parameter is deprecated and will be removed in version 1.15.0 - * - * @deprecated - * this parameter is deprecated and will be removed in version 1.15.0 - * - */ - @Deprecated /* this parameter is deprecated and will be removed in version 1.15.0 */ - public Optional> itemsPerPage() { - return Optional.ofNullable(this.itemsPerPage); - } - - /** - * Page number, starting with one, that Atlas returns of the total number of objects. **WARNING:** this parameter is deprecated and will be removed in version 1.15.0 - * - * @deprecated - * this parameter is deprecated and will be removed in version 1.15.0 - * - */ - @Deprecated /* this parameter is deprecated and will be removed in version 1.15.0 */ - @Import(name="pageNum") - private @Nullable Output pageNum; - - /** - * @return Page number, starting with one, that Atlas returns of the total number of objects. **WARNING:** this parameter is deprecated and will be removed in version 1.15.0 - * - * @deprecated - * this parameter is deprecated and will be removed in version 1.15.0 - * - */ - @Deprecated /* this parameter is deprecated and will be removed in version 1.15.0 */ - public Optional> pageNum() { - return Optional.ofNullable(this.pageNum); - } - /** * Unique identifier for the [project](https://docs.atlas.mongodb.com/organizations-projects/#std-label-projects) that contains the specified cluster. * @@ -129,8 +80,6 @@ private GetSearchIndexesArgs(GetSearchIndexesArgs $) { this.clusterName = $.clusterName; this.collectionName = $.collectionName; this.database = $.database; - this.itemsPerPage = $.itemsPerPage; - this.pageNum = $.pageNum; this.projectId = $.projectId; } @@ -215,64 +164,6 @@ public Builder database(String database) { return database(Output.of(database)); } - /** - * @param itemsPerPage Number of items that Atlas returns per page, up to a maximum of 500. **WARNING:** this parameter is deprecated and will be removed in version 1.15.0 - * - * @return builder - * - * @deprecated - * this parameter is deprecated and will be removed in version 1.15.0 - * - */ - @Deprecated /* this parameter is deprecated and will be removed in version 1.15.0 */ - public Builder itemsPerPage(@Nullable Output itemsPerPage) { - $.itemsPerPage = itemsPerPage; - return this; - } - - /** - * @param itemsPerPage Number of items that Atlas returns per page, up to a maximum of 500. **WARNING:** this parameter is deprecated and will be removed in version 1.15.0 - * - * @return builder - * - * @deprecated - * this parameter is deprecated and will be removed in version 1.15.0 - * - */ - @Deprecated /* this parameter is deprecated and will be removed in version 1.15.0 */ - public Builder itemsPerPage(Integer itemsPerPage) { - return itemsPerPage(Output.of(itemsPerPage)); - } - - /** - * @param pageNum Page number, starting with one, that Atlas returns of the total number of objects. **WARNING:** this parameter is deprecated and will be removed in version 1.15.0 - * - * @return builder - * - * @deprecated - * this parameter is deprecated and will be removed in version 1.15.0 - * - */ - @Deprecated /* this parameter is deprecated and will be removed in version 1.15.0 */ - public Builder pageNum(@Nullable Output pageNum) { - $.pageNum = pageNum; - return this; - } - - /** - * @param pageNum Page number, starting with one, that Atlas returns of the total number of objects. **WARNING:** this parameter is deprecated and will be removed in version 1.15.0 - * - * @return builder - * - * @deprecated - * this parameter is deprecated and will be removed in version 1.15.0 - * - */ - @Deprecated /* this parameter is deprecated and will be removed in version 1.15.0 */ - public Builder pageNum(Integer pageNum) { - return pageNum(Output.of(pageNum)); - } - /** * @param projectId Unique identifier for the [project](https://docs.atlas.mongodb.com/organizations-projects/#std-label-projects) that contains the specified cluster. * diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetSearchIndexesPlainArgs.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetSearchIndexesPlainArgs.java index dccb09a8..545c363c 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetSearchIndexesPlainArgs.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/GetSearchIndexesPlainArgs.java @@ -5,11 +5,8 @@ import com.pulumi.core.annotations.Import; import com.pulumi.exceptions.MissingRequiredPropertyException; -import java.lang.Integer; import java.lang.String; import java.util.Objects; -import java.util.Optional; -import javax.annotation.Nullable; public final class GetSearchIndexesPlainArgs extends com.pulumi.resources.InvokeArgs { @@ -61,52 +58,6 @@ public String database() { return this.database; } - /** - * Number of items that Atlas returns per page, up to a maximum of 500. **WARNING:** this parameter is deprecated and will be removed in version 1.15.0 - * - * @deprecated - * this parameter is deprecated and will be removed in version 1.15.0 - * - */ - @Deprecated /* this parameter is deprecated and will be removed in version 1.15.0 */ - @Import(name="itemsPerPage") - private @Nullable Integer itemsPerPage; - - /** - * @return Number of items that Atlas returns per page, up to a maximum of 500. **WARNING:** this parameter is deprecated and will be removed in version 1.15.0 - * - * @deprecated - * this parameter is deprecated and will be removed in version 1.15.0 - * - */ - @Deprecated /* this parameter is deprecated and will be removed in version 1.15.0 */ - public Optional itemsPerPage() { - return Optional.ofNullable(this.itemsPerPage); - } - - /** - * Page number, starting with one, that Atlas returns of the total number of objects. **WARNING:** this parameter is deprecated and will be removed in version 1.15.0 - * - * @deprecated - * this parameter is deprecated and will be removed in version 1.15.0 - * - */ - @Deprecated /* this parameter is deprecated and will be removed in version 1.15.0 */ - @Import(name="pageNum") - private @Nullable Integer pageNum; - - /** - * @return Page number, starting with one, that Atlas returns of the total number of objects. **WARNING:** this parameter is deprecated and will be removed in version 1.15.0 - * - * @deprecated - * this parameter is deprecated and will be removed in version 1.15.0 - * - */ - @Deprecated /* this parameter is deprecated and will be removed in version 1.15.0 */ - public Optional pageNum() { - return Optional.ofNullable(this.pageNum); - } - /** * Unique identifier for the [project](https://docs.atlas.mongodb.com/organizations-projects/#std-label-projects) that contains the specified cluster. * @@ -128,8 +79,6 @@ private GetSearchIndexesPlainArgs(GetSearchIndexesPlainArgs $) { this.clusterName = $.clusterName; this.collectionName = $.collectionName; this.database = $.database; - this.itemsPerPage = $.itemsPerPage; - this.pageNum = $.pageNum; this.projectId = $.projectId; } @@ -184,36 +133,6 @@ public Builder database(String database) { return this; } - /** - * @param itemsPerPage Number of items that Atlas returns per page, up to a maximum of 500. **WARNING:** this parameter is deprecated and will be removed in version 1.15.0 - * - * @return builder - * - * @deprecated - * this parameter is deprecated and will be removed in version 1.15.0 - * - */ - @Deprecated /* this parameter is deprecated and will be removed in version 1.15.0 */ - public Builder itemsPerPage(@Nullable Integer itemsPerPage) { - $.itemsPerPage = itemsPerPage; - return this; - } - - /** - * @param pageNum Page number, starting with one, that Atlas returns of the total number of objects. **WARNING:** this parameter is deprecated and will be removed in version 1.15.0 - * - * @return builder - * - * @deprecated - * this parameter is deprecated and will be removed in version 1.15.0 - * - */ - @Deprecated /* this parameter is deprecated and will be removed in version 1.15.0 */ - public Builder pageNum(@Nullable Integer pageNum) { - $.pageNum = pageNum; - return this; - } - /** * @param projectId Unique identifier for the [project](https://docs.atlas.mongodb.com/organizations-projects/#std-label-projects) that contains the specified cluster. * diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/OrganizationState.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/OrganizationState.java index 5a2f36ce..8b33a2c1 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/OrganizationState.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/OrganizationState.java @@ -5,6 +5,7 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; +import java.lang.Boolean; import java.lang.String; import java.util.List; import java.util.Objects; @@ -16,6 +17,21 @@ public final class OrganizationState extends com.pulumi.resources.ResourceArgs { public static final OrganizationState Empty = new OrganizationState(); + /** + * Flag that indicates whether to require API operations to originate from an IP Address added to the API access list for the specified organization. + * + */ + @Import(name="apiAccessListRequired") + private @Nullable Output apiAccessListRequired; + + /** + * @return Flag that indicates whether to require API operations to originate from an IP Address added to the API access list for the specified organization. + * + */ + public Optional> apiAccessListRequired() { + return Optional.ofNullable(this.apiAccessListRequired); + } + @Import(name="description") private @Nullable Output description; @@ -24,20 +40,35 @@ public Optional> description() { } /** - * (Optional) Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation. + * Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation. * */ @Import(name="federationSettingsId") private @Nullable Output federationSettingsId; /** - * @return (Optional) Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation. + * @return Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation. * */ public Optional> federationSettingsId() { return Optional.ofNullable(this.federationSettingsId); } + /** + * Flag that indicates whether to require users to set up Multi-Factor Authentication (MFA) before accessing the specified organization. To learn more, see: https://www.mongodb.com/docs/atlas/security-multi-factor-authentication/. + * + */ + @Import(name="multiFactorAuthRequired") + private @Nullable Output multiFactorAuthRequired; + + /** + * @return Flag that indicates whether to require users to set up Multi-Factor Authentication (MFA) before accessing the specified organization. To learn more, see: https://www.mongodb.com/docs/atlas/security-multi-factor-authentication/. + * + */ + public Optional> multiFactorAuthRequired() { + return Optional.ofNullable(this.multiFactorAuthRequired); + } + /** * The name of the organization you want to create. (Cannot be changed via this Provider after creation.) * @@ -105,6 +136,21 @@ public Optional> publicKey() { return Optional.ofNullable(this.publicKey); } + /** + * Flag that indicates whether to block MongoDB Support from accessing Atlas infrastructure for any deployment in the specified organization without explicit permission. Once this setting is turned on, you can grant MongoDB Support a 24-hour bypass access to the Atlas deployment to resolve support issues. To learn more, see: https://www.mongodb.com/docs/atlas/security-restrict-support-access/. + * + */ + @Import(name="restrictEmployeeAccess") + private @Nullable Output restrictEmployeeAccess; + + /** + * @return Flag that indicates whether to block MongoDB Support from accessing Atlas infrastructure for any deployment in the specified organization without explicit permission. Once this setting is turned on, you can grant MongoDB Support a 24-hour bypass access to the Atlas deployment to resolve support issues. To learn more, see: https://www.mongodb.com/docs/atlas/security-restrict-support-access/. + * + */ + public Optional> restrictEmployeeAccess() { + return Optional.ofNullable(this.restrictEmployeeAccess); + } + /** * List of Organization roles that the Programmatic API key needs to have. Ensure that you provide at least one role and ensure all roles are valid for the Organization. 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/#organization-roles) describes the roles that you can assign to a Programmatic API key. * @@ -123,13 +169,16 @@ public Optional>> roleNames() { private OrganizationState() {} private OrganizationState(OrganizationState $) { + this.apiAccessListRequired = $.apiAccessListRequired; this.description = $.description; this.federationSettingsId = $.federationSettingsId; + this.multiFactorAuthRequired = $.multiFactorAuthRequired; this.name = $.name; this.orgId = $.orgId; this.orgOwnerId = $.orgOwnerId; this.privateKey = $.privateKey; this.publicKey = $.publicKey; + this.restrictEmployeeAccess = $.restrictEmployeeAccess; this.roleNames = $.roleNames; } @@ -151,6 +200,27 @@ public Builder(OrganizationState defaults) { $ = new OrganizationState(Objects.requireNonNull(defaults)); } + /** + * @param apiAccessListRequired Flag that indicates whether to require API operations to originate from an IP Address added to the API access list for the specified organization. + * + * @return builder + * + */ + public Builder apiAccessListRequired(@Nullable Output apiAccessListRequired) { + $.apiAccessListRequired = apiAccessListRequired; + return this; + } + + /** + * @param apiAccessListRequired Flag that indicates whether to require API operations to originate from an IP Address added to the API access list for the specified organization. + * + * @return builder + * + */ + public Builder apiAccessListRequired(Boolean apiAccessListRequired) { + return apiAccessListRequired(Output.of(apiAccessListRequired)); + } + public Builder description(@Nullable Output description) { $.description = description; return this; @@ -161,7 +231,7 @@ public Builder description(String description) { } /** - * @param federationSettingsId (Optional) Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation. + * @param federationSettingsId Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation. * * @return builder * @@ -172,7 +242,7 @@ public Builder federationSettingsId(@Nullable Output federationSettingsI } /** - * @param federationSettingsId (Optional) Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation. + * @param federationSettingsId Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation. * * @return builder * @@ -181,6 +251,27 @@ public Builder federationSettingsId(String federationSettingsId) { return federationSettingsId(Output.of(federationSettingsId)); } + /** + * @param multiFactorAuthRequired Flag that indicates whether to require users to set up Multi-Factor Authentication (MFA) before accessing the specified organization. To learn more, see: https://www.mongodb.com/docs/atlas/security-multi-factor-authentication/. + * + * @return builder + * + */ + public Builder multiFactorAuthRequired(@Nullable Output multiFactorAuthRequired) { + $.multiFactorAuthRequired = multiFactorAuthRequired; + return this; + } + + /** + * @param multiFactorAuthRequired Flag that indicates whether to require users to set up Multi-Factor Authentication (MFA) before accessing the specified organization. To learn more, see: https://www.mongodb.com/docs/atlas/security-multi-factor-authentication/. + * + * @return builder + * + */ + public Builder multiFactorAuthRequired(Boolean multiFactorAuthRequired) { + return multiFactorAuthRequired(Output.of(multiFactorAuthRequired)); + } + /** * @param name The name of the organization you want to create. (Cannot be changed via this Provider after creation.) * @@ -274,6 +365,27 @@ public Builder publicKey(String publicKey) { return publicKey(Output.of(publicKey)); } + /** + * @param restrictEmployeeAccess Flag that indicates whether to block MongoDB Support from accessing Atlas infrastructure for any deployment in the specified organization without explicit permission. Once this setting is turned on, you can grant MongoDB Support a 24-hour bypass access to the Atlas deployment to resolve support issues. To learn more, see: https://www.mongodb.com/docs/atlas/security-restrict-support-access/. + * + * @return builder + * + */ + public Builder restrictEmployeeAccess(@Nullable Output restrictEmployeeAccess) { + $.restrictEmployeeAccess = restrictEmployeeAccess; + return this; + } + + /** + * @param restrictEmployeeAccess Flag that indicates whether to block MongoDB Support from accessing Atlas infrastructure for any deployment in the specified organization without explicit permission. Once this setting is turned on, you can grant MongoDB Support a 24-hour bypass access to the Atlas deployment to resolve support issues. To learn more, see: https://www.mongodb.com/docs/atlas/security-restrict-support-access/. + * + * @return builder + * + */ + public Builder restrictEmployeeAccess(Boolean restrictEmployeeAccess) { + return restrictEmployeeAccess(Output.of(restrictEmployeeAccess)); + } + /** * @param roleNames List of Organization roles that the Programmatic API key needs to have. Ensure that you provide at least one role and ensure all roles are valid for the Organization. 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/#organization-roles) describes the roles that you can assign to a Programmatic API key. * diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/ProjectIpAddressesArgs.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/ProjectIpAddressesArgs.java new file mode 100644 index 00000000..f2bc37d9 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/ProjectIpAddressesArgs.java @@ -0,0 +1,63 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.mongodbatlas.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.mongodbatlas.inputs.ProjectIpAddressesServicesArgs; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ProjectIpAddressesArgs extends com.pulumi.resources.ResourceArgs { + + public static final ProjectIpAddressesArgs Empty = new ProjectIpAddressesArgs(); + + @Import(name="services") + private @Nullable Output services; + + public Optional> services() { + return Optional.ofNullable(this.services); + } + + private ProjectIpAddressesArgs() {} + + private ProjectIpAddressesArgs(ProjectIpAddressesArgs $) { + this.services = $.services; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ProjectIpAddressesArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ProjectIpAddressesArgs $; + + public Builder() { + $ = new ProjectIpAddressesArgs(); + } + + public Builder(ProjectIpAddressesArgs defaults) { + $ = new ProjectIpAddressesArgs(Objects.requireNonNull(defaults)); + } + + public Builder services(@Nullable Output services) { + $.services = services; + return this; + } + + public Builder services(ProjectIpAddressesServicesArgs services) { + return services(Output.of(services)); + } + + public ProjectIpAddressesArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/ProjectIpAddressesServicesArgs.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/ProjectIpAddressesServicesArgs.java new file mode 100644 index 00000000..d0414f16 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/ProjectIpAddressesServicesArgs.java @@ -0,0 +1,68 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.mongodbatlas.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.mongodbatlas.inputs.ProjectIpAddressesServicesClusterArgs; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ProjectIpAddressesServicesArgs extends com.pulumi.resources.ResourceArgs { + + public static final ProjectIpAddressesServicesArgs Empty = new ProjectIpAddressesServicesArgs(); + + @Import(name="clusters") + private @Nullable Output> clusters; + + public Optional>> clusters() { + return Optional.ofNullable(this.clusters); + } + + private ProjectIpAddressesServicesArgs() {} + + private ProjectIpAddressesServicesArgs(ProjectIpAddressesServicesArgs $) { + this.clusters = $.clusters; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ProjectIpAddressesServicesArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ProjectIpAddressesServicesArgs $; + + public Builder() { + $ = new ProjectIpAddressesServicesArgs(); + } + + public Builder(ProjectIpAddressesServicesArgs defaults) { + $ = new ProjectIpAddressesServicesArgs(Objects.requireNonNull(defaults)); + } + + public Builder clusters(@Nullable Output> clusters) { + $.clusters = clusters; + return this; + } + + public Builder clusters(List clusters) { + return clusters(Output.of(clusters)); + } + + public Builder clusters(ProjectIpAddressesServicesClusterArgs... clusters) { + return clusters(List.of(clusters)); + } + + public ProjectIpAddressesServicesArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/ProjectIpAddressesServicesClusterArgs.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/ProjectIpAddressesServicesClusterArgs.java new file mode 100644 index 00000000..517ddef9 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/ProjectIpAddressesServicesClusterArgs.java @@ -0,0 +1,106 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.mongodbatlas.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ProjectIpAddressesServicesClusterArgs extends com.pulumi.resources.ResourceArgs { + + public static final ProjectIpAddressesServicesClusterArgs Empty = new ProjectIpAddressesServicesClusterArgs(); + + @Import(name="clusterName") + private @Nullable Output clusterName; + + public Optional> clusterName() { + return Optional.ofNullable(this.clusterName); + } + + @Import(name="inbounds") + private @Nullable Output> inbounds; + + public Optional>> inbounds() { + return Optional.ofNullable(this.inbounds); + } + + @Import(name="outbounds") + private @Nullable Output> outbounds; + + public Optional>> outbounds() { + return Optional.ofNullable(this.outbounds); + } + + private ProjectIpAddressesServicesClusterArgs() {} + + private ProjectIpAddressesServicesClusterArgs(ProjectIpAddressesServicesClusterArgs $) { + this.clusterName = $.clusterName; + this.inbounds = $.inbounds; + this.outbounds = $.outbounds; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ProjectIpAddressesServicesClusterArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ProjectIpAddressesServicesClusterArgs $; + + public Builder() { + $ = new ProjectIpAddressesServicesClusterArgs(); + } + + public Builder(ProjectIpAddressesServicesClusterArgs defaults) { + $ = new ProjectIpAddressesServicesClusterArgs(Objects.requireNonNull(defaults)); + } + + public Builder clusterName(@Nullable Output clusterName) { + $.clusterName = clusterName; + return this; + } + + public Builder clusterName(String clusterName) { + return clusterName(Output.of(clusterName)); + } + + public Builder inbounds(@Nullable Output> inbounds) { + $.inbounds = inbounds; + return this; + } + + public Builder inbounds(List inbounds) { + return inbounds(Output.of(inbounds)); + } + + public Builder inbounds(String... inbounds) { + return inbounds(List.of(inbounds)); + } + + public Builder outbounds(@Nullable Output> outbounds) { + $.outbounds = outbounds; + return this; + } + + public Builder outbounds(List outbounds) { + return outbounds(Output.of(outbounds)); + } + + public Builder outbounds(String... outbounds) { + return outbounds(List.of(outbounds)); + } + + public ProjectIpAddressesServicesClusterArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/ProjectState.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/ProjectState.java index 918c53ee..efcc224a 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/ProjectState.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/ProjectState.java @@ -5,6 +5,7 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; +import com.pulumi.mongodbatlas.inputs.ProjectIpAddressesArgs; import com.pulumi.mongodbatlas.inputs.ProjectLimitArgs; import com.pulumi.mongodbatlas.inputs.ProjectTeamArgs; import java.lang.Boolean; @@ -21,14 +22,14 @@ public final class ProjectState extends com.pulumi.resources.ResourceArgs { public static final ProjectState Empty = new ProjectState(); /** - * The number of Atlas clusters deployed in the project.. + * The number of Atlas clusters deployed in the project. * */ @Import(name="clusterCount") private @Nullable Output clusterCount; /** - * @return The number of Atlas clusters deployed in the project.. + * @return The number of Atlas clusters deployed in the project. * */ public Optional> clusterCount() { @@ -36,20 +37,35 @@ public Optional> clusterCount() { } /** - * The ISO-8601-formatted timestamp of when Atlas created the project.. + * The ISO-8601-formatted timestamp of when Atlas created the project. * */ @Import(name="created") private @Nullable Output created; /** - * @return The ISO-8601-formatted timestamp of when Atlas created the project.. + * @return The ISO-8601-formatted timestamp of when Atlas created the project. * */ public Optional> created() { return Optional.ofNullable(this.created); } + /** + * IP addresses in a project categorized by services. See IP Addresses. + * + */ + @Import(name="ipAddresses") + private @Nullable Output ipAddresses; + + /** + * @return IP addresses in a project categorized by services. See IP Addresses. + * + */ + public Optional> ipAddresses() { + return Optional.ofNullable(this.ipAddresses); + } + /** * Flag that indicates whether to enable statistics in [cluster metrics](https://www.mongodb.com/docs/atlas/monitor-cluster-metrics/) collection for the project. By default, this flag is set to true. * @@ -234,6 +250,7 @@ private ProjectState() {} private ProjectState(ProjectState $) { this.clusterCount = $.clusterCount; this.created = $.created; + this.ipAddresses = $.ipAddresses; this.isCollectDatabaseSpecificsStatisticsEnabled = $.isCollectDatabaseSpecificsStatisticsEnabled; this.isDataExplorerEnabled = $.isDataExplorerEnabled; this.isExtendedStorageSizesEnabled = $.isExtendedStorageSizesEnabled; @@ -268,7 +285,7 @@ public Builder(ProjectState defaults) { } /** - * @param clusterCount The number of Atlas clusters deployed in the project.. + * @param clusterCount The number of Atlas clusters deployed in the project. * * @return builder * @@ -279,7 +296,7 @@ public Builder clusterCount(@Nullable Output clusterCount) { } /** - * @param clusterCount The number of Atlas clusters deployed in the project.. + * @param clusterCount The number of Atlas clusters deployed in the project. * * @return builder * @@ -289,7 +306,7 @@ public Builder clusterCount(Integer clusterCount) { } /** - * @param created The ISO-8601-formatted timestamp of when Atlas created the project.. + * @param created The ISO-8601-formatted timestamp of when Atlas created the project. * * @return builder * @@ -300,7 +317,7 @@ public Builder created(@Nullable Output created) { } /** - * @param created The ISO-8601-formatted timestamp of when Atlas created the project.. + * @param created The ISO-8601-formatted timestamp of when Atlas created the project. * * @return builder * @@ -309,6 +326,27 @@ public Builder created(String created) { return created(Output.of(created)); } + /** + * @param ipAddresses IP addresses in a project categorized by services. See IP Addresses. + * + * @return builder + * + */ + public Builder ipAddresses(@Nullable Output ipAddresses) { + $.ipAddresses = ipAddresses; + return this; + } + + /** + * @param ipAddresses IP addresses in a project categorized by services. See IP Addresses. + * + * @return builder + * + */ + public Builder ipAddresses(ProjectIpAddressesArgs ipAddresses) { + return ipAddresses(Output.of(ipAddresses)); + } + /** * @param isCollectDatabaseSpecificsStatisticsEnabled Flag that indicates whether to enable statistics in [cluster metrics](https://www.mongodb.com/docs/atlas/monitor-cluster-metrics/) collection for the project. By default, this flag is set to true. * diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/SearchDeploymentState.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/SearchDeploymentState.java index 295a5642..15b35751 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/SearchDeploymentState.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/SearchDeploymentState.java @@ -19,14 +19,14 @@ public final class SearchDeploymentState extends com.pulumi.resources.ResourceAr public static final SearchDeploymentState Empty = new SearchDeploymentState(); /** - * Label that identifies the cluster to create search nodes for. + * Label that identifies the cluster to return the search nodes for. * */ @Import(name="clusterName") private @Nullable Output clusterName; /** - * @return Label that identifies the cluster to create search nodes for. + * @return Label that identifies the cluster to return the search nodes for. * */ public Optional> clusterName() { @@ -34,14 +34,14 @@ public Optional> clusterName() { } /** - * Unique 24-hexadecimal digit string that identifies your project. + * Unique 24-hexadecimal character string that identifies the project. * */ @Import(name="projectId") private @Nullable Output projectId; /** - * @return Unique 24-hexadecimal digit string that identifies your project. + * @return Unique 24-hexadecimal character string that identifies the project. * */ public Optional> projectId() { @@ -49,14 +49,14 @@ public Optional> projectId() { } /** - * List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. See specs. + * List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. * */ @Import(name="specs") private @Nullable Output> specs; /** - * @return List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. See specs. + * @return List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. * */ public Optional>> specs() { @@ -64,31 +64,23 @@ public Optional>> specs() { } /** - * Human-readable label that indicates the current operating condition of this search node deployment. + * Human-readable label that indicates the current operating condition of this search deployment. * */ @Import(name="stateName") private @Nullable Output stateName; /** - * @return Human-readable label that indicates the current operating condition of this search node deployment. + * @return Human-readable label that indicates the current operating condition of this search deployment. * */ public Optional> stateName() { return Optional.ofNullable(this.stateName); } - /** - * The time to wait for search nodes to be created, updated, or deleted. The timeout value is defined by a signed sequence of decimal numbers with a time unit suffix such as: `1h45m`, `300s`, `10m`, .... The valid time units are: `ns`, `us` (or `µs`), `ms`, `s`, `m`, `h`. The attribute must be defined with nested attributes. - * - */ @Import(name="timeouts") private @Nullable Output timeouts; - /** - * @return The time to wait for search nodes to be created, updated, or deleted. The timeout value is defined by a signed sequence of decimal numbers with a time unit suffix such as: `1h45m`, `300s`, `10m`, .... The valid time units are: `ns`, `us` (or `µs`), `ms`, `s`, `m`, `h`. The attribute must be defined with nested attributes. - * - */ public Optional> timeouts() { return Optional.ofNullable(this.timeouts); } @@ -122,7 +114,7 @@ public Builder(SearchDeploymentState defaults) { } /** - * @param clusterName Label that identifies the cluster to create search nodes for. + * @param clusterName Label that identifies the cluster to return the search nodes for. * * @return builder * @@ -133,7 +125,7 @@ public Builder clusterName(@Nullable Output clusterName) { } /** - * @param clusterName Label that identifies the cluster to create search nodes for. + * @param clusterName Label that identifies the cluster to return the search nodes for. * * @return builder * @@ -143,7 +135,7 @@ public Builder clusterName(String clusterName) { } /** - * @param projectId Unique 24-hexadecimal digit string that identifies your project. + * @param projectId Unique 24-hexadecimal character string that identifies the project. * * @return builder * @@ -154,7 +146,7 @@ public Builder projectId(@Nullable Output projectId) { } /** - * @param projectId Unique 24-hexadecimal digit string that identifies your project. + * @param projectId Unique 24-hexadecimal character string that identifies the project. * * @return builder * @@ -164,7 +156,7 @@ public Builder projectId(String projectId) { } /** - * @param specs List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. See specs. + * @param specs List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. * * @return builder * @@ -175,7 +167,7 @@ public Builder specs(@Nullable Output> specs) { } /** - * @param specs List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. See specs. + * @param specs List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. * * @return builder * @@ -185,7 +177,7 @@ public Builder specs(List specs) { } /** - * @param specs List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. See specs. + * @param specs List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. * * @return builder * @@ -195,7 +187,7 @@ public Builder specs(SearchDeploymentSpecArgs... specs) { } /** - * @param stateName Human-readable label that indicates the current operating condition of this search node deployment. + * @param stateName Human-readable label that indicates the current operating condition of this search deployment. * * @return builder * @@ -206,7 +198,7 @@ public Builder stateName(@Nullable Output stateName) { } /** - * @param stateName Human-readable label that indicates the current operating condition of this search node deployment. + * @param stateName Human-readable label that indicates the current operating condition of this search deployment. * * @return builder * @@ -215,23 +207,11 @@ public Builder stateName(String stateName) { return stateName(Output.of(stateName)); } - /** - * @param timeouts The time to wait for search nodes to be created, updated, or deleted. The timeout value is defined by a signed sequence of decimal numbers with a time unit suffix such as: `1h45m`, `300s`, `10m`, .... The valid time units are: `ns`, `us` (or `µs`), `ms`, `s`, `m`, `h`. The attribute must be defined with nested attributes. - * - * @return builder - * - */ public Builder timeouts(@Nullable Output timeouts) { $.timeouts = timeouts; return this; } - /** - * @param timeouts The time to wait for search nodes to be created, updated, or deleted. The timeout value is defined by a signed sequence of decimal numbers with a time unit suffix such as: `1h45m`, `300s`, `10m`, .... The valid time units are: `ns`, `us` (or `µs`), `ms`, `s`, `m`, `h`. The attribute must be defined with nested attributes. - * - * @return builder - * - */ public Builder timeouts(SearchDeploymentTimeoutsArgs timeouts) { return timeouts(Output.of(timeouts)); } diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/SearchIndexState.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/SearchIndexState.java index 4398d627..50e40b4f 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/SearchIndexState.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/SearchIndexState.java @@ -190,9 +190,17 @@ public Optional> searchAnalyzer() { return Optional.ofNullable(this.searchAnalyzer); } + /** + * Current status of the index. + * + */ @Import(name="status") private @Nullable Output status; + /** + * @return Current status of the index. + * + */ public Optional> status() { return Optional.ofNullable(this.status); } @@ -513,11 +521,23 @@ public Builder searchAnalyzer(String searchAnalyzer) { return searchAnalyzer(Output.of(searchAnalyzer)); } + /** + * @param status Current status of the index. + * + * @return builder + * + */ public Builder status(@Nullable Output status) { $.status = status; return this; } + /** + * @param status Current status of the index. + * + * @return builder + * + */ public Builder status(String status) { return status(Output.of(status)); } diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/SearchIndexSynonymArgs.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/SearchIndexSynonymArgs.java index f611024a..df383b4d 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/SearchIndexSynonymArgs.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/inputs/SearchIndexSynonymArgs.java @@ -45,14 +45,14 @@ public Output name() { } /** - * Name of the source MongoDB collection for the synonyms. Documents in this collection must be in the format described in the [Synonyms Source Collection Documents](https://docs.atlas.mongodb.com/reference/atlas-search/synonyms/#std-label-synonyms-coll-spec). + * (Required) Name of the source MongoDB collection for the synonyms. Documents in this collection must be in the format described in the [Synonyms Source Collection Documents](https://docs.atlas.mongodb.com/reference/atlas-search/synonyms/#std-label-synonyms-coll-spec). * */ @Import(name="sourceCollection", required=true) private Output sourceCollection; /** - * @return Name of the source MongoDB collection for the synonyms. Documents in this collection must be in the format described in the [Synonyms Source Collection Documents](https://docs.atlas.mongodb.com/reference/atlas-search/synonyms/#std-label-synonyms-coll-spec). + * @return (Required) Name of the source MongoDB collection for the synonyms. Documents in this collection must be in the format described in the [Synonyms Source Collection Documents](https://docs.atlas.mongodb.com/reference/atlas-search/synonyms/#std-label-synonyms-coll-spec). * */ public Output sourceCollection() { @@ -128,7 +128,7 @@ public Builder name(String name) { } /** - * @param sourceCollection Name of the source MongoDB collection for the synonyms. Documents in this collection must be in the format described in the [Synonyms Source Collection Documents](https://docs.atlas.mongodb.com/reference/atlas-search/synonyms/#std-label-synonyms-coll-spec). + * @param sourceCollection (Required) Name of the source MongoDB collection for the synonyms. Documents in this collection must be in the format described in the [Synonyms Source Collection Documents](https://docs.atlas.mongodb.com/reference/atlas-search/synonyms/#std-label-synonyms-coll-spec). * * @return builder * @@ -139,7 +139,7 @@ public Builder sourceCollection(Output sourceCollection) { } /** - * @param sourceCollection Name of the source MongoDB collection for the synonyms. Documents in this collection must be in the format described in the [Synonyms Source Collection Documents](https://docs.atlas.mongodb.com/reference/atlas-search/synonyms/#std-label-synonyms-coll-spec). + * @param sourceCollection (Required) Name of the source MongoDB collection for the synonyms. Documents in this collection must be in the format described in the [Synonyms Source Collection Documents](https://docs.atlas.mongodb.com/reference/atlas-search/synonyms/#std-label-synonyms-coll-spec). * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/AlertConfigurationNotification.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/AlertConfigurationNotification.java index ef9c3182..fcbb6b71 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/AlertConfigurationNotification.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/AlertConfigurationNotification.java @@ -31,7 +31,7 @@ public final class AlertConfigurationNotification { */ private @Nullable String datadogApiKey; /** - * @return Region that indicates which API URL to use. Accepted regions are: `US`, `EU`. The default Datadog region is US. + * @return Region that indicates which API URL to use. See the `datadogRegion` field in the `notifications` request parameter of [MongoDB API Alert Configuration documentation](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/v2/#tag/Alert-Configurations/operation/createAlertConfiguration) for more details. The default Datadog region is US. * */ private @Nullable String datadogRegion; @@ -171,7 +171,7 @@ public Optional datadogApiKey() { return Optional.ofNullable(this.datadogApiKey); } /** - * @return Region that indicates which API URL to use. Accepted regions are: `US`, `EU`. The default Datadog region is US. + * @return Region that indicates which API URL to use. See the `datadogRegion` field in the `notifications` request parameter of [MongoDB API Alert Configuration documentation](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/v2/#tag/Alert-Configurations/operation/createAlertConfiguration) for more details. The default Datadog region is US. * */ public Optional datadogRegion() { diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/CloudProviderAccessFeatureUsage.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/CloudProviderAccessFeatureUsage.java deleted file mode 100644 index 3a5ecf24..00000000 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/CloudProviderAccessFeatureUsage.java +++ /dev/null @@ -1,64 +0,0 @@ -// *** WARNING: this file was generated by pulumi-java-gen. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -package com.pulumi.mongodbatlas.outputs; - -import com.pulumi.core.annotations.CustomType; -import java.lang.Object; -import java.lang.String; -import java.util.Map; -import java.util.Objects; -import java.util.Optional; -import javax.annotation.Nullable; - -@CustomType -public final class CloudProviderAccessFeatureUsage { - private @Nullable Map featureId; - private @Nullable String featureType; - - private CloudProviderAccessFeatureUsage() {} - public Map featureId() { - return this.featureId == null ? Map.of() : this.featureId; - } - public Optional featureType() { - return Optional.ofNullable(this.featureType); - } - - public static Builder builder() { - return new Builder(); - } - - public static Builder builder(CloudProviderAccessFeatureUsage defaults) { - return new Builder(defaults); - } - @CustomType.Builder - public static final class Builder { - private @Nullable Map featureId; - private @Nullable String featureType; - public Builder() {} - public Builder(CloudProviderAccessFeatureUsage defaults) { - Objects.requireNonNull(defaults); - this.featureId = defaults.featureId; - this.featureType = defaults.featureType; - } - - @CustomType.Setter - public Builder featureId(@Nullable Map featureId) { - - this.featureId = featureId; - return this; - } - @CustomType.Setter - public Builder featureType(@Nullable String featureType) { - - this.featureType = featureType; - return this; - } - public CloudProviderAccessFeatureUsage build() { - final var _resultValue = new CloudProviderAccessFeatureUsage(); - _resultValue.featureId = featureId; - _resultValue.featureType = featureType; - return _resultValue; - } - } -} diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/DatabaseUserRole.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/DatabaseUserRole.java index 40e81ce1..a2b86f00 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/DatabaseUserRole.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/DatabaseUserRole.java @@ -18,7 +18,7 @@ public final class DatabaseUserRole { */ private @Nullable String collectionName; /** - * @return Database on which the user has the specified role. A role on the `admin` database can include privileges that apply to the other databases. + * @return Database on which the user has the specified role. A role on the `admin` database can include privileges that apply to the other databases. This field should be set to `admin` for a custom MongoDB role. * */ private String databaseName; @@ -37,7 +37,7 @@ public Optional collectionName() { return Optional.ofNullable(this.collectionName); } /** - * @return Database on which the user has the specified role. A role on the `admin` database can include privileges that apply to the other databases. + * @return Database on which the user has the specified role. A role on the `admin` database can include privileges that apply to the other databases. This field should be set to `admin` for a custom MongoDB role. * */ public String databaseName() { diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/EncryptionAtRestAwsKmsConfig.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/EncryptionAtRestAwsKmsConfig.java index d2c9fbe2..7a94ca72 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/EncryptionAtRestAwsKmsConfig.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/EncryptionAtRestAwsKmsConfig.java @@ -29,7 +29,7 @@ public final class EncryptionAtRestAwsKmsConfig { */ private @Nullable String region; /** - * @return ID of an AWS IAM role authorized to manage an AWS customer master key. To find the ID for an existing IAM role check the `role_id` attribute of the `mongodbatlas.CloudProviderAccess` resource. + * @return ID of an AWS IAM role authorized to manage an AWS customer master key. To find the ID for an existing IAM role check the `role_id` attribute of the `mongodbatlas_cloud_provider_access` resource. * */ private @Nullable String roleId; @@ -61,7 +61,7 @@ public Optional region() { return Optional.ofNullable(this.region); } /** - * @return ID of an AWS IAM role authorized to manage an AWS customer master key. To find the ID for an existing IAM role check the `role_id` attribute of the `mongodbatlas.CloudProviderAccess` resource. + * @return ID of an AWS IAM role authorized to manage an AWS customer master key. To find the ID for an existing IAM role check the `role_id` attribute of the `mongodbatlas_cloud_provider_access` resource. * */ public Optional roleId() { diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetAlertConfigurationNotification.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetAlertConfigurationNotification.java index 990db2ff..d6da2440 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetAlertConfigurationNotification.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetAlertConfigurationNotification.java @@ -29,7 +29,7 @@ public final class GetAlertConfigurationNotification { */ private String datadogApiKey; /** - * @return Region that indicates which API URL to use. Accepted regions are: `US`, `EU`. The default Datadog region is US. + * @return Region that indicates which API URL to use. See the `datadogRegion` field in the `notifications` request parameter of [MongoDB API Alert Configuration documentation](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/v2/#tag/Alert-Configurations/operation/createAlertConfiguration) for more details. The default Datadog region is US. * */ private String datadogRegion; @@ -158,7 +158,7 @@ public String datadogApiKey() { return this.datadogApiKey; } /** - * @return Region that indicates which API URL to use. Accepted regions are: `US`, `EU`. The default Datadog region is US. + * @return Region that indicates which API URL to use. See the `datadogRegion` field in the `notifications` request parameter of [MongoDB API Alert Configuration documentation](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/v2/#tag/Alert-Configurations/operation/createAlertConfiguration) for more details. The default Datadog region is US. * */ public String datadogRegion() { diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetAlertConfigurationsResultNotification.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetAlertConfigurationsResultNotification.java index c18381ca..ce63d1d4 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetAlertConfigurationsResultNotification.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetAlertConfigurationsResultNotification.java @@ -29,7 +29,7 @@ public final class GetAlertConfigurationsResultNotification { */ private String datadogApiKey; /** - * @return Region that indicates which API URL to use. Accepted regions are: `US`, `EU`. The default Datadog region is US. + * @return Region that indicates which API URL to use. See the `datadogRegion` field in the `notifications` request parameter of [MongoDB API Alert Configuration documentation](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/v2/#tag/Alert-Configurations/operation/createAlertConfiguration) for more details. The default Datadog region is US. * */ private String datadogRegion; @@ -158,7 +158,7 @@ public String datadogApiKey() { return this.datadogApiKey; } /** - * @return Region that indicates which API URL to use. Accepted regions are: `US`, `EU`. The default Datadog region is US. + * @return Region that indicates which API URL to use. See the `datadogRegion` field in the `notifications` request parameter of [MongoDB API Alert Configuration documentation](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/v2/#tag/Alert-Configurations/operation/createAlertConfiguration) for more details. The default Datadog region is US. * */ public String datadogRegion() { diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetApiKeyResult.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetApiKeyResult.java index 857c42a4..2c745a93 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetApiKeyResult.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetApiKeyResult.java @@ -22,10 +22,6 @@ public final class GetApiKeyResult { * */ private String id; - /** - * @return Unique identifier for the organization whose API keys you want to retrieve. Use the /orgs endpoint to retrieve all organizations to which the authenticated user has access. - * - */ private String orgId; /** * @return Public key for this Organization API key. @@ -57,10 +53,6 @@ public String description() { public String id() { return this.id; } - /** - * @return Unique identifier for the organization whose API keys you want to retrieve. Use the /orgs endpoint to retrieve all organizations to which the authenticated user has access. - * - */ public String orgId() { return this.orgId; } 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 b786aafe..6be3c323 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 @@ -15,8 +15,6 @@ import java.lang.String; import java.util.List; import java.util.Objects; -import java.util.Optional; -import javax.annotation.Nullable; @CustomType public final class GetBackupCompliancePolicyResult { @@ -50,16 +48,16 @@ public final class GetBackupCompliancePolicyResult { * */ private String id; - private @Nullable GetBackupCompliancePolicyOnDemandPolicyItem onDemandPolicyItem; + private GetBackupCompliancePolicyOnDemandPolicyItem onDemandPolicyItem; /** * @return Flag that indicates whether the cluster uses Continuous Cloud Backups with a Backup Compliance Policy. If unspecified, this value defaults to false. * */ private Boolean pitEnabled; - private @Nullable GetBackupCompliancePolicyPolicyItemDaily policyItemDaily; - private @Nullable GetBackupCompliancePolicyPolicyItemHourly policyItemHourly; - private @Nullable List policyItemMonthlies; - private @Nullable List policyItemWeeklies; + private GetBackupCompliancePolicyPolicyItemDaily policyItemDaily; + private GetBackupCompliancePolicyPolicyItemHourly policyItemHourly; + private List policyItemMonthlies; + private List policyItemWeeklies; private String projectId; /** * @return 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. @@ -125,8 +123,8 @@ public Boolean encryptionAtRestEnabled() { public String id() { return this.id; } - public Optional onDemandPolicyItem() { - return Optional.ofNullable(this.onDemandPolicyItem); + public GetBackupCompliancePolicyOnDemandPolicyItem onDemandPolicyItem() { + return this.onDemandPolicyItem; } /** * @return Flag that indicates whether the cluster uses Continuous Cloud Backups with a Backup Compliance Policy. If unspecified, this value defaults to false. @@ -135,17 +133,17 @@ public Optional onDemandPolicyItem( public Boolean pitEnabled() { return this.pitEnabled; } - public Optional policyItemDaily() { - return Optional.ofNullable(this.policyItemDaily); + public GetBackupCompliancePolicyPolicyItemDaily policyItemDaily() { + return this.policyItemDaily; } - public Optional policyItemHourly() { - return Optional.ofNullable(this.policyItemHourly); + public GetBackupCompliancePolicyPolicyItemHourly policyItemHourly() { + return this.policyItemHourly; } public List policyItemMonthlies() { - return this.policyItemMonthlies == null ? List.of() : this.policyItemMonthlies; + return this.policyItemMonthlies; } public List policyItemWeeklies() { - return this.policyItemWeeklies == null ? List.of() : this.policyItemWeeklies; + return this.policyItemWeeklies; } public String projectId() { return this.projectId; @@ -194,12 +192,12 @@ public static final class Builder { private Boolean copyProtectionEnabled; private Boolean encryptionAtRestEnabled; private String id; - private @Nullable GetBackupCompliancePolicyOnDemandPolicyItem onDemandPolicyItem; + private GetBackupCompliancePolicyOnDemandPolicyItem onDemandPolicyItem; private Boolean pitEnabled; - private @Nullable GetBackupCompliancePolicyPolicyItemDaily policyItemDaily; - private @Nullable GetBackupCompliancePolicyPolicyItemHourly policyItemHourly; - private @Nullable List policyItemMonthlies; - private @Nullable List policyItemWeeklies; + private GetBackupCompliancePolicyPolicyItemDaily policyItemDaily; + private GetBackupCompliancePolicyPolicyItemHourly policyItemHourly; + private List policyItemMonthlies; + private List policyItemWeeklies; private String projectId; private Integer restoreWindowDays; private String state; @@ -276,8 +274,10 @@ public Builder id(String id) { return this; } @CustomType.Setter - public Builder onDemandPolicyItem(@Nullable GetBackupCompliancePolicyOnDemandPolicyItem onDemandPolicyItem) { - + public Builder onDemandPolicyItem(GetBackupCompliancePolicyOnDemandPolicyItem onDemandPolicyItem) { + if (onDemandPolicyItem == null) { + throw new MissingRequiredPropertyException("GetBackupCompliancePolicyResult", "onDemandPolicyItem"); + } this.onDemandPolicyItem = onDemandPolicyItem; return this; } @@ -290,20 +290,26 @@ public Builder pitEnabled(Boolean pitEnabled) { return this; } @CustomType.Setter - public Builder policyItemDaily(@Nullable GetBackupCompliancePolicyPolicyItemDaily policyItemDaily) { - + public Builder policyItemDaily(GetBackupCompliancePolicyPolicyItemDaily policyItemDaily) { + if (policyItemDaily == null) { + throw new MissingRequiredPropertyException("GetBackupCompliancePolicyResult", "policyItemDaily"); + } this.policyItemDaily = policyItemDaily; return this; } @CustomType.Setter - public Builder policyItemHourly(@Nullable GetBackupCompliancePolicyPolicyItemHourly policyItemHourly) { - + public Builder policyItemHourly(GetBackupCompliancePolicyPolicyItemHourly policyItemHourly) { + if (policyItemHourly == null) { + throw new MissingRequiredPropertyException("GetBackupCompliancePolicyResult", "policyItemHourly"); + } this.policyItemHourly = policyItemHourly; return this; } @CustomType.Setter - public Builder policyItemMonthlies(@Nullable List policyItemMonthlies) { - + public Builder policyItemMonthlies(List policyItemMonthlies) { + if (policyItemMonthlies == null) { + throw new MissingRequiredPropertyException("GetBackupCompliancePolicyResult", "policyItemMonthlies"); + } this.policyItemMonthlies = policyItemMonthlies; return this; } @@ -311,8 +317,10 @@ public Builder policyItemMonthlies(GetBackupCompliancePolicyPolicyItemMonthly... return policyItemMonthlies(List.of(policyItemMonthlies)); } @CustomType.Setter - public Builder policyItemWeeklies(@Nullable List policyItemWeeklies) { - + public Builder policyItemWeeklies(List policyItemWeeklies) { + if (policyItemWeeklies == null) { + throw new MissingRequiredPropertyException("GetBackupCompliancePolicyResult", "policyItemWeeklies"); + } this.policyItemWeeklies = policyItemWeeklies; return this; } diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetCloudProviderAccessAwsIamRole.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetCloudProviderAccessAwsIamRole.java deleted file mode 100644 index 1e3d09e6..00000000 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetCloudProviderAccessAwsIamRole.java +++ /dev/null @@ -1,224 +0,0 @@ -// *** WARNING: this file was generated by pulumi-java-gen. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -package com.pulumi.mongodbatlas.outputs; - -import com.pulumi.core.annotations.CustomType; -import com.pulumi.exceptions.MissingRequiredPropertyException; -import com.pulumi.mongodbatlas.outputs.GetCloudProviderAccessAwsIamRoleFeatureUsage; -import java.lang.String; -import java.util.List; -import java.util.Objects; - -@CustomType -public final class GetCloudProviderAccessAwsIamRole { - /** - * @return Unique external ID Atlas uses when assuming the IAM role in your AWS account. - * - */ - private String atlasAssumedRoleExternalId; - /** - * @return ARN associated with the Atlas AWS account used to assume IAM roles in your AWS account. - * - */ - private String atlasAwsAccountArn; - /** - * @return Date on which this role was authorized. - * - */ - private String authorizedDate; - /** - * @return Date on which this role was created. - * - */ - private String createdDate; - /** - * @return Atlas features this AWS IAM role is linked to. - * - */ - private List featureUsages; - /** - * @return ARN of the IAM Role that Atlas assumes when accessing resources in your AWS account. - * - */ - private String iamAssumedRoleArn; - /** - * @return Name of the cloud provider. Currently limited to AWS. - * - */ - private String providerName; - /** - * @return Unique ID of this role. - * - */ - private String roleId; - - private GetCloudProviderAccessAwsIamRole() {} - /** - * @return Unique external ID Atlas uses when assuming the IAM role in your AWS account. - * - */ - public String atlasAssumedRoleExternalId() { - return this.atlasAssumedRoleExternalId; - } - /** - * @return ARN associated with the Atlas AWS account used to assume IAM roles in your AWS account. - * - */ - public String atlasAwsAccountArn() { - return this.atlasAwsAccountArn; - } - /** - * @return Date on which this role was authorized. - * - */ - public String authorizedDate() { - return this.authorizedDate; - } - /** - * @return Date on which this role was created. - * - */ - public String createdDate() { - return this.createdDate; - } - /** - * @return Atlas features this AWS IAM role is linked to. - * - */ - public List featureUsages() { - return this.featureUsages; - } - /** - * @return ARN of the IAM Role that Atlas assumes when accessing resources in your AWS account. - * - */ - public String iamAssumedRoleArn() { - return this.iamAssumedRoleArn; - } - /** - * @return Name of the cloud provider. Currently limited to AWS. - * - */ - public String providerName() { - return this.providerName; - } - /** - * @return Unique ID of this role. - * - */ - public String roleId() { - return this.roleId; - } - - public static Builder builder() { - return new Builder(); - } - - public static Builder builder(GetCloudProviderAccessAwsIamRole defaults) { - return new Builder(defaults); - } - @CustomType.Builder - public static final class Builder { - private String atlasAssumedRoleExternalId; - private String atlasAwsAccountArn; - private String authorizedDate; - private String createdDate; - private List featureUsages; - private String iamAssumedRoleArn; - private String providerName; - private String roleId; - public Builder() {} - public Builder(GetCloudProviderAccessAwsIamRole defaults) { - Objects.requireNonNull(defaults); - this.atlasAssumedRoleExternalId = defaults.atlasAssumedRoleExternalId; - this.atlasAwsAccountArn = defaults.atlasAwsAccountArn; - this.authorizedDate = defaults.authorizedDate; - this.createdDate = defaults.createdDate; - this.featureUsages = defaults.featureUsages; - this.iamAssumedRoleArn = defaults.iamAssumedRoleArn; - this.providerName = defaults.providerName; - this.roleId = defaults.roleId; - } - - @CustomType.Setter - public Builder atlasAssumedRoleExternalId(String atlasAssumedRoleExternalId) { - if (atlasAssumedRoleExternalId == null) { - throw new MissingRequiredPropertyException("GetCloudProviderAccessAwsIamRole", "atlasAssumedRoleExternalId"); - } - this.atlasAssumedRoleExternalId = atlasAssumedRoleExternalId; - return this; - } - @CustomType.Setter - public Builder atlasAwsAccountArn(String atlasAwsAccountArn) { - if (atlasAwsAccountArn == null) { - throw new MissingRequiredPropertyException("GetCloudProviderAccessAwsIamRole", "atlasAwsAccountArn"); - } - this.atlasAwsAccountArn = atlasAwsAccountArn; - return this; - } - @CustomType.Setter - public Builder authorizedDate(String authorizedDate) { - if (authorizedDate == null) { - throw new MissingRequiredPropertyException("GetCloudProviderAccessAwsIamRole", "authorizedDate"); - } - this.authorizedDate = authorizedDate; - return this; - } - @CustomType.Setter - public Builder createdDate(String createdDate) { - if (createdDate == null) { - throw new MissingRequiredPropertyException("GetCloudProviderAccessAwsIamRole", "createdDate"); - } - this.createdDate = createdDate; - return this; - } - @CustomType.Setter - public Builder featureUsages(List featureUsages) { - if (featureUsages == null) { - throw new MissingRequiredPropertyException("GetCloudProviderAccessAwsIamRole", "featureUsages"); - } - this.featureUsages = featureUsages; - return this; - } - public Builder featureUsages(GetCloudProviderAccessAwsIamRoleFeatureUsage... featureUsages) { - return featureUsages(List.of(featureUsages)); - } - @CustomType.Setter - public Builder iamAssumedRoleArn(String iamAssumedRoleArn) { - if (iamAssumedRoleArn == null) { - throw new MissingRequiredPropertyException("GetCloudProviderAccessAwsIamRole", "iamAssumedRoleArn"); - } - this.iamAssumedRoleArn = iamAssumedRoleArn; - return this; - } - @CustomType.Setter - public Builder providerName(String providerName) { - if (providerName == null) { - throw new MissingRequiredPropertyException("GetCloudProviderAccessAwsIamRole", "providerName"); - } - this.providerName = providerName; - return this; - } - @CustomType.Setter - public Builder roleId(String roleId) { - if (roleId == null) { - throw new MissingRequiredPropertyException("GetCloudProviderAccessAwsIamRole", "roleId"); - } - this.roleId = roleId; - return this; - } - public GetCloudProviderAccessAwsIamRole build() { - final var _resultValue = new GetCloudProviderAccessAwsIamRole(); - _resultValue.atlasAssumedRoleExternalId = atlasAssumedRoleExternalId; - _resultValue.atlasAwsAccountArn = atlasAwsAccountArn; - _resultValue.authorizedDate = authorizedDate; - _resultValue.createdDate = createdDate; - _resultValue.featureUsages = featureUsages; - _resultValue.iamAssumedRoleArn = iamAssumedRoleArn; - _resultValue.providerName = providerName; - _resultValue.roleId = roleId; - return _resultValue; - } - } -} diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetCloudProviderAccessAwsIamRoleFeatureUsage.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetCloudProviderAccessAwsIamRoleFeatureUsage.java deleted file mode 100644 index 2e84371a..00000000 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetCloudProviderAccessAwsIamRoleFeatureUsage.java +++ /dev/null @@ -1,67 +0,0 @@ -// *** WARNING: this file was generated by pulumi-java-gen. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -package com.pulumi.mongodbatlas.outputs; - -import com.pulumi.core.annotations.CustomType; -import com.pulumi.exceptions.MissingRequiredPropertyException; -import java.lang.Object; -import java.lang.String; -import java.util.Map; -import java.util.Objects; - -@CustomType -public final class GetCloudProviderAccessAwsIamRoleFeatureUsage { - private Map featureId; - private String featureType; - - private GetCloudProviderAccessAwsIamRoleFeatureUsage() {} - public Map featureId() { - return this.featureId; - } - public String featureType() { - return this.featureType; - } - - public static Builder builder() { - return new Builder(); - } - - public static Builder builder(GetCloudProviderAccessAwsIamRoleFeatureUsage defaults) { - return new Builder(defaults); - } - @CustomType.Builder - public static final class Builder { - private Map featureId; - private String featureType; - public Builder() {} - public Builder(GetCloudProviderAccessAwsIamRoleFeatureUsage defaults) { - Objects.requireNonNull(defaults); - this.featureId = defaults.featureId; - this.featureType = defaults.featureType; - } - - @CustomType.Setter - public Builder featureId(Map featureId) { - if (featureId == null) { - throw new MissingRequiredPropertyException("GetCloudProviderAccessAwsIamRoleFeatureUsage", "featureId"); - } - this.featureId = featureId; - return this; - } - @CustomType.Setter - public Builder featureType(String featureType) { - if (featureType == null) { - throw new MissingRequiredPropertyException("GetCloudProviderAccessAwsIamRoleFeatureUsage", "featureType"); - } - this.featureType = featureType; - return this; - } - public GetCloudProviderAccessAwsIamRoleFeatureUsage build() { - final var _resultValue = new GetCloudProviderAccessAwsIamRoleFeatureUsage(); - _resultValue.featureId = featureId; - _resultValue.featureType = featureType; - return _resultValue; - } - } -} diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetCloudProviderAccessResult.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetCloudProviderAccessResult.java deleted file mode 100644 index 4b5f90d2..00000000 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetCloudProviderAccessResult.java +++ /dev/null @@ -1,101 +0,0 @@ -// *** WARNING: this file was generated by pulumi-java-gen. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -package com.pulumi.mongodbatlas.outputs; - -import com.pulumi.core.annotations.CustomType; -import com.pulumi.exceptions.MissingRequiredPropertyException; -import com.pulumi.mongodbatlas.outputs.GetCloudProviderAccessAwsIamRole; -import java.lang.String; -import java.util.List; -import java.util.Objects; - -@CustomType -public final class GetCloudProviderAccessResult { - /** - * @return A list where each represents a Cloud Provider Access Role. - * - */ - private List awsIamRoles; - /** - * @return The provider-assigned unique ID for this managed resource. - * - */ - private String id; - private String projectId; - - private GetCloudProviderAccessResult() {} - /** - * @return A list where each represents a Cloud Provider Access Role. - * - */ - public List awsIamRoles() { - return this.awsIamRoles; - } - /** - * @return The provider-assigned unique ID for this managed resource. - * - */ - public String id() { - return this.id; - } - public String projectId() { - return this.projectId; - } - - public static Builder builder() { - return new Builder(); - } - - public static Builder builder(GetCloudProviderAccessResult defaults) { - return new Builder(defaults); - } - @CustomType.Builder - public static final class Builder { - private List awsIamRoles; - private String id; - private String projectId; - public Builder() {} - public Builder(GetCloudProviderAccessResult defaults) { - Objects.requireNonNull(defaults); - this.awsIamRoles = defaults.awsIamRoles; - this.id = defaults.id; - this.projectId = defaults.projectId; - } - - @CustomType.Setter - public Builder awsIamRoles(List awsIamRoles) { - if (awsIamRoles == null) { - throw new MissingRequiredPropertyException("GetCloudProviderAccessResult", "awsIamRoles"); - } - this.awsIamRoles = awsIamRoles; - return this; - } - public Builder awsIamRoles(GetCloudProviderAccessAwsIamRole... awsIamRoles) { - return awsIamRoles(List.of(awsIamRoles)); - } - @CustomType.Setter - public Builder id(String id) { - if (id == null) { - throw new MissingRequiredPropertyException("GetCloudProviderAccessResult", "id"); - } - this.id = id; - return this; - } - @CustomType.Setter - public Builder projectId(String projectId) { - if (projectId == null) { - throw new MissingRequiredPropertyException("GetCloudProviderAccessResult", "projectId"); - } - this.projectId = projectId; - return this; - } - public GetCloudProviderAccessResult build() { - final var _resultValue = new GetCloudProviderAccessResult(); - _resultValue.awsIamRoles = awsIamRoles; - _resultValue.id = id; - _resultValue.projectId = projectId; - return _resultValue; - } - } -} diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetDatabaseUserResult.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetDatabaseUserResult.java index 31491e6e..9841e1fd 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetDatabaseUserResult.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetDatabaseUserResult.java @@ -36,6 +36,12 @@ public final class GetDatabaseUserResult { * */ private String oidcAuthType; + /** + * @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 */ private String password; private String projectId; /** @@ -90,6 +96,12 @@ public String ldapAuthType() { public String oidcAuthType() { return this.oidcAuthType; } + /** + * @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 String password() { return this.password; } diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetDatabaseUsersResult.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetDatabaseUsersResult.java index 255083ef..23e0a21e 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetDatabaseUsersResult.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetDatabaseUsersResult.java @@ -41,6 +41,12 @@ public final class GetDatabaseUsersResult { * */ private String oidcAuthType; + /** + * @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 */ private String password; /** * @return The unique ID for the project to get all database users. @@ -108,6 +114,12 @@ public String ldapAuthType() { public String oidcAuthType() { return this.oidcAuthType; } + /** + * @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 String password() { return this.password; } diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetFederatedSettingsIdentityProviderAssociatedOrg.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetFederatedSettingsIdentityProviderAssociatedOrg.java index aee64a6c..6cb048b7 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetFederatedSettingsIdentityProviderAssociatedOrg.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetFederatedSettingsIdentityProviderAssociatedOrg.java @@ -24,10 +24,6 @@ public final class GetFederatedSettingsIdentityProviderAssociatedOrg { * */ private Boolean domainRestrictionEnabled; - /** - * @return Unique 20-hexadecimal digit string that identifies the IdP. - * - */ private String identityProviderId; /** * @return Unique 24-hexadecimal digit string that identifies the organization that contains your projects. @@ -57,10 +53,6 @@ public List domainAllowLists() { public Boolean domainRestrictionEnabled() { return this.domainRestrictionEnabled; } - /** - * @return Unique 20-hexadecimal digit string that identifies the IdP. - * - */ public String identityProviderId() { return this.identityProviderId; } diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetFederatedSettingsIdentityProviderResult.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetFederatedSettingsIdentityProviderResult.java index 976ad957..ab7d40f8 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetFederatedSettingsIdentityProviderResult.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetFederatedSettingsIdentityProviderResult.java @@ -29,11 +29,21 @@ public final class GetFederatedSettingsIdentityProviderResult { * */ private List associatedOrgs; + /** + * @return Identifier of the intended recipient of the token. + * + */ + private List audienceClaims; /** * @return Identifier for the intended audience of the SAML Assertion. * */ private String audienceUri; + /** + * @return Client identifier that is assigned to an application by the Identity Provider. + * + */ + private String clientId; /** * @return Human-readable label that identifies the IdP. * @@ -44,12 +54,22 @@ public final class GetFederatedSettingsIdentityProviderResult { * */ private String federationSettingsId; + /** + * @return Identifier of the claim which contains IdP Group IDs in the token. + * + */ + private String groupsClaim; /** * @return The provider-assigned unique ID for this managed resource. * */ private String id; private String identityProviderId; + /** + * @return Unique 24-hexadecimal digit string that identifies the IdP + * + */ + private String idpId; /** * @return Identifier for the issuer of the SAML Assertion. * @@ -61,6 +81,11 @@ public final class GetFederatedSettingsIdentityProviderResult { */ private String oktaIdpId; private List pemFileInfos; + /** + * @return The protocol of the identity provider. Either SAML or OIDC. + * + */ + private String protocol; /** * @return SAML Authentication Request Protocol binding used to send the AuthNRequest. Atlas supports the following binding values: * - HTTP POST @@ -68,6 +93,11 @@ public final class GetFederatedSettingsIdentityProviderResult { * */ private String requestBinding; + /** + * @return Scopes that MongoDB applications will request from the authorization endpoint. + * + */ + private List requestedScopes; /** * @return Algorithm used to encrypt the IdP signature. Atlas supports the following signature algorithm values: * - SHA-1 @@ -90,6 +120,11 @@ public final class GetFederatedSettingsIdentityProviderResult { * */ private String status; + /** + * @return Identifier of the claim which contains the user ID in the token. + * + */ + private String userClaim; private GetFederatedSettingsIdentityProviderResult() {} /** @@ -113,6 +148,13 @@ public List associatedDomains() { public List associatedOrgs() { return this.associatedOrgs; } + /** + * @return Identifier of the intended recipient of the token. + * + */ + public List audienceClaims() { + return this.audienceClaims; + } /** * @return Identifier for the intended audience of the SAML Assertion. * @@ -120,6 +162,13 @@ public List associatedOrgs() public String audienceUri() { return this.audienceUri; } + /** + * @return Client identifier that is assigned to an application by the Identity Provider. + * + */ + public String clientId() { + return this.clientId; + } /** * @return Human-readable label that identifies the IdP. * @@ -134,6 +183,13 @@ public String displayName() { public String federationSettingsId() { return this.federationSettingsId; } + /** + * @return Identifier of the claim which contains IdP Group IDs in the token. + * + */ + public String groupsClaim() { + return this.groupsClaim; + } /** * @return The provider-assigned unique ID for this managed resource. * @@ -144,6 +200,13 @@ public String id() { public String identityProviderId() { return this.identityProviderId; } + /** + * @return Unique 24-hexadecimal digit string that identifies the IdP + * + */ + public String idpId() { + return this.idpId; + } /** * @return Identifier for the issuer of the SAML Assertion. * @@ -161,6 +224,13 @@ public String oktaIdpId() { public List pemFileInfos() { return this.pemFileInfos; } + /** + * @return The protocol of the identity provider. Either SAML or OIDC. + * + */ + public String protocol() { + return this.protocol; + } /** * @return SAML Authentication Request Protocol binding used to send the AuthNRequest. Atlas supports the following binding values: * - HTTP POST @@ -170,6 +240,13 @@ public List pemFileInfos() { public String requestBinding() { return this.requestBinding; } + /** + * @return Scopes that MongoDB applications will request from the authorization endpoint. + * + */ + public List requestedScopes() { + return this.requestedScopes; + } /** * @return Algorithm used to encrypt the IdP signature. Atlas supports the following signature algorithm values: * - SHA-1 @@ -200,6 +277,13 @@ public String ssoUrl() { public String status() { return this.status; } + /** + * @return Identifier of the claim which contains the user ID in the token. + * + */ + public String userClaim() { + return this.userClaim; + } public static Builder builder() { return new Builder(); @@ -213,38 +297,52 @@ public static final class Builder { private String acsUrl; private List associatedDomains; private List associatedOrgs; + private List audienceClaims; private String audienceUri; + private String clientId; private String displayName; private String federationSettingsId; + private String groupsClaim; private String id; private String identityProviderId; + private String idpId; private String issuerUri; private String oktaIdpId; private List pemFileInfos; + private String protocol; private String requestBinding; + private List requestedScopes; private String responseSignatureAlgorithm; private Boolean ssoDebugEnabled; private String ssoUrl; private String status; + private String userClaim; public Builder() {} public Builder(GetFederatedSettingsIdentityProviderResult defaults) { Objects.requireNonNull(defaults); this.acsUrl = defaults.acsUrl; this.associatedDomains = defaults.associatedDomains; this.associatedOrgs = defaults.associatedOrgs; + this.audienceClaims = defaults.audienceClaims; this.audienceUri = defaults.audienceUri; + this.clientId = defaults.clientId; this.displayName = defaults.displayName; this.federationSettingsId = defaults.federationSettingsId; + this.groupsClaim = defaults.groupsClaim; this.id = defaults.id; this.identityProviderId = defaults.identityProviderId; + this.idpId = defaults.idpId; this.issuerUri = defaults.issuerUri; this.oktaIdpId = defaults.oktaIdpId; this.pemFileInfos = defaults.pemFileInfos; + this.protocol = defaults.protocol; this.requestBinding = defaults.requestBinding; + this.requestedScopes = defaults.requestedScopes; this.responseSignatureAlgorithm = defaults.responseSignatureAlgorithm; this.ssoDebugEnabled = defaults.ssoDebugEnabled; this.ssoUrl = defaults.ssoUrl; this.status = defaults.status; + this.userClaim = defaults.userClaim; } @CustomType.Setter @@ -278,6 +376,17 @@ public Builder associatedOrgs(GetFederatedSettingsIdentityProviderAssociatedOrg. return associatedOrgs(List.of(associatedOrgs)); } @CustomType.Setter + public Builder audienceClaims(List audienceClaims) { + if (audienceClaims == null) { + throw new MissingRequiredPropertyException("GetFederatedSettingsIdentityProviderResult", "audienceClaims"); + } + this.audienceClaims = audienceClaims; + return this; + } + public Builder audienceClaims(String... audienceClaims) { + return audienceClaims(List.of(audienceClaims)); + } + @CustomType.Setter public Builder audienceUri(String audienceUri) { if (audienceUri == null) { throw new MissingRequiredPropertyException("GetFederatedSettingsIdentityProviderResult", "audienceUri"); @@ -286,6 +395,14 @@ public Builder audienceUri(String audienceUri) { return this; } @CustomType.Setter + public Builder clientId(String clientId) { + if (clientId == null) { + throw new MissingRequiredPropertyException("GetFederatedSettingsIdentityProviderResult", "clientId"); + } + this.clientId = clientId; + return this; + } + @CustomType.Setter public Builder displayName(String displayName) { if (displayName == null) { throw new MissingRequiredPropertyException("GetFederatedSettingsIdentityProviderResult", "displayName"); @@ -302,6 +419,14 @@ public Builder federationSettingsId(String federationSettingsId) { return this; } @CustomType.Setter + public Builder groupsClaim(String groupsClaim) { + if (groupsClaim == null) { + throw new MissingRequiredPropertyException("GetFederatedSettingsIdentityProviderResult", "groupsClaim"); + } + this.groupsClaim = groupsClaim; + return this; + } + @CustomType.Setter public Builder id(String id) { if (id == null) { throw new MissingRequiredPropertyException("GetFederatedSettingsIdentityProviderResult", "id"); @@ -318,6 +443,14 @@ public Builder identityProviderId(String identityProviderId) { return this; } @CustomType.Setter + public Builder idpId(String idpId) { + if (idpId == null) { + throw new MissingRequiredPropertyException("GetFederatedSettingsIdentityProviderResult", "idpId"); + } + this.idpId = idpId; + return this; + } + @CustomType.Setter public Builder issuerUri(String issuerUri) { if (issuerUri == null) { throw new MissingRequiredPropertyException("GetFederatedSettingsIdentityProviderResult", "issuerUri"); @@ -345,6 +478,14 @@ public Builder pemFileInfos(GetFederatedSettingsIdentityProviderPemFileInfo... p return pemFileInfos(List.of(pemFileInfos)); } @CustomType.Setter + public Builder protocol(String protocol) { + if (protocol == null) { + throw new MissingRequiredPropertyException("GetFederatedSettingsIdentityProviderResult", "protocol"); + } + this.protocol = protocol; + return this; + } + @CustomType.Setter public Builder requestBinding(String requestBinding) { if (requestBinding == null) { throw new MissingRequiredPropertyException("GetFederatedSettingsIdentityProviderResult", "requestBinding"); @@ -353,6 +494,17 @@ public Builder requestBinding(String requestBinding) { return this; } @CustomType.Setter + public Builder requestedScopes(List requestedScopes) { + if (requestedScopes == null) { + throw new MissingRequiredPropertyException("GetFederatedSettingsIdentityProviderResult", "requestedScopes"); + } + this.requestedScopes = requestedScopes; + return this; + } + public Builder requestedScopes(String... requestedScopes) { + return requestedScopes(List.of(requestedScopes)); + } + @CustomType.Setter public Builder responseSignatureAlgorithm(String responseSignatureAlgorithm) { if (responseSignatureAlgorithm == null) { throw new MissingRequiredPropertyException("GetFederatedSettingsIdentityProviderResult", "responseSignatureAlgorithm"); @@ -384,24 +536,39 @@ public Builder status(String status) { this.status = status; return this; } + @CustomType.Setter + public Builder userClaim(String userClaim) { + if (userClaim == null) { + throw new MissingRequiredPropertyException("GetFederatedSettingsIdentityProviderResult", "userClaim"); + } + this.userClaim = userClaim; + return this; + } public GetFederatedSettingsIdentityProviderResult build() { final var _resultValue = new GetFederatedSettingsIdentityProviderResult(); _resultValue.acsUrl = acsUrl; _resultValue.associatedDomains = associatedDomains; _resultValue.associatedOrgs = associatedOrgs; + _resultValue.audienceClaims = audienceClaims; _resultValue.audienceUri = audienceUri; + _resultValue.clientId = clientId; _resultValue.displayName = displayName; _resultValue.federationSettingsId = federationSettingsId; + _resultValue.groupsClaim = groupsClaim; _resultValue.id = id; _resultValue.identityProviderId = identityProviderId; + _resultValue.idpId = idpId; _resultValue.issuerUri = issuerUri; _resultValue.oktaIdpId = oktaIdpId; _resultValue.pemFileInfos = pemFileInfos; + _resultValue.protocol = protocol; _resultValue.requestBinding = requestBinding; + _resultValue.requestedScopes = requestedScopes; _resultValue.responseSignatureAlgorithm = responseSignatureAlgorithm; _resultValue.ssoDebugEnabled = ssoDebugEnabled; _resultValue.ssoUrl = ssoUrl; _resultValue.status = status; + _resultValue.userClaim = userClaim; return _resultValue; } } diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetFederatedSettingsIdentityProvidersResult.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetFederatedSettingsIdentityProvidersResult.java index b6c02f6c..0abdc794 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetFederatedSettingsIdentityProvidersResult.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetFederatedSettingsIdentityProvidersResult.java @@ -29,16 +29,36 @@ public final class GetFederatedSettingsIdentityProvidersResult { * */ private List associatedOrgs; + /** + * @return Identifier of the intended recipient of the token. + * + */ + private List audienceClaims; /** * @return Identifier for the intended audience of the SAML Assertion. * */ private String audienceUri; + /** + * @return Client identifier that is assigned to an application by the Identity Provider. + * + */ + private String clientId; /** * @return Human-readable label that identifies the IdP. * */ private String displayName; + /** + * @return Identifier of the claim which contains IdP Group IDs in the token. + * + */ + private String groupsClaim; + /** + * @return Unique 20-hexadecimal digit string that identifies the IdP. + * + */ + private String idpId; /** * @return Identifier for the issuer of the SAML Assertion. * @@ -46,6 +66,11 @@ public final class GetFederatedSettingsIdentityProvidersResult { private String issuerUri; private String oktaIdpId; private List pemFileInfos; + /** + * @return The protocol of the identity provider + * + */ + private String protocol; /** * @return SAML Authentication Request Protocol binding used to send the AuthNRequest. Atlas supports the following binding values: * - HTTP POST @@ -53,6 +78,11 @@ public final class GetFederatedSettingsIdentityProvidersResult { * */ private String requestBinding; + /** + * @return Scopes that MongoDB applications will request from the authorization endpoint. + * + */ + private List requestedScopes; /** * @return Algorithm used to encrypt the IdP signature. Atlas supports the following signature algorithm values: * - SHA-1 @@ -75,6 +105,11 @@ public final class GetFederatedSettingsIdentityProvidersResult { * */ private String status; + /** + * @return Identifier of the claim which contains the user ID in the token. + * + */ + private String userClaim; private GetFederatedSettingsIdentityProvidersResult() {} /** @@ -98,6 +133,13 @@ public List associatedDomains() { public List associatedOrgs() { return this.associatedOrgs; } + /** + * @return Identifier of the intended recipient of the token. + * + */ + public List audienceClaims() { + return this.audienceClaims; + } /** * @return Identifier for the intended audience of the SAML Assertion. * @@ -105,6 +147,13 @@ public List associated public String audienceUri() { return this.audienceUri; } + /** + * @return Client identifier that is assigned to an application by the Identity Provider. + * + */ + public String clientId() { + return this.clientId; + } /** * @return Human-readable label that identifies the IdP. * @@ -112,6 +161,20 @@ public String audienceUri() { public String displayName() { return this.displayName; } + /** + * @return Identifier of the claim which contains IdP Group IDs in the token. + * + */ + public String groupsClaim() { + return this.groupsClaim; + } + /** + * @return Unique 20-hexadecimal digit string that identifies the IdP. + * + */ + public String idpId() { + return this.idpId; + } /** * @return Identifier for the issuer of the SAML Assertion. * @@ -125,6 +188,13 @@ public String oktaIdpId() { public List pemFileInfos() { return this.pemFileInfos; } + /** + * @return The protocol of the identity provider + * + */ + public String protocol() { + return this.protocol; + } /** * @return SAML Authentication Request Protocol binding used to send the AuthNRequest. Atlas supports the following binding values: * - HTTP POST @@ -134,6 +204,13 @@ public List pemFileInfos public String requestBinding() { return this.requestBinding; } + /** + * @return Scopes that MongoDB applications will request from the authorization endpoint. + * + */ + public List requestedScopes() { + return this.requestedScopes; + } /** * @return Algorithm used to encrypt the IdP signature. Atlas supports the following signature algorithm values: * - SHA-1 @@ -164,6 +241,13 @@ public String ssoUrl() { public String status() { return this.status; } + /** + * @return Identifier of the claim which contains the user ID in the token. + * + */ + public String userClaim() { + return this.userClaim; + } public static Builder builder() { return new Builder(); @@ -177,32 +261,46 @@ public static final class Builder { private String acsUrl; private List associatedDomains; private List associatedOrgs; + private List audienceClaims; private String audienceUri; + private String clientId; private String displayName; + private String groupsClaim; + private String idpId; private String issuerUri; private String oktaIdpId; private List pemFileInfos; + private String protocol; private String requestBinding; + private List requestedScopes; private String responseSignatureAlgorithm; private Boolean ssoDebugEnabled; private String ssoUrl; private String status; + private String userClaim; public Builder() {} public Builder(GetFederatedSettingsIdentityProvidersResult defaults) { Objects.requireNonNull(defaults); this.acsUrl = defaults.acsUrl; this.associatedDomains = defaults.associatedDomains; this.associatedOrgs = defaults.associatedOrgs; + this.audienceClaims = defaults.audienceClaims; this.audienceUri = defaults.audienceUri; + this.clientId = defaults.clientId; this.displayName = defaults.displayName; + this.groupsClaim = defaults.groupsClaim; + this.idpId = defaults.idpId; this.issuerUri = defaults.issuerUri; this.oktaIdpId = defaults.oktaIdpId; this.pemFileInfos = defaults.pemFileInfos; + this.protocol = defaults.protocol; this.requestBinding = defaults.requestBinding; + this.requestedScopes = defaults.requestedScopes; this.responseSignatureAlgorithm = defaults.responseSignatureAlgorithm; this.ssoDebugEnabled = defaults.ssoDebugEnabled; this.ssoUrl = defaults.ssoUrl; this.status = defaults.status; + this.userClaim = defaults.userClaim; } @CustomType.Setter @@ -236,6 +334,17 @@ public Builder associatedOrgs(GetFederatedSettingsIdentityProvidersResultAssocia return associatedOrgs(List.of(associatedOrgs)); } @CustomType.Setter + public Builder audienceClaims(List audienceClaims) { + if (audienceClaims == null) { + throw new MissingRequiredPropertyException("GetFederatedSettingsIdentityProvidersResult", "audienceClaims"); + } + this.audienceClaims = audienceClaims; + return this; + } + public Builder audienceClaims(String... audienceClaims) { + return audienceClaims(List.of(audienceClaims)); + } + @CustomType.Setter public Builder audienceUri(String audienceUri) { if (audienceUri == null) { throw new MissingRequiredPropertyException("GetFederatedSettingsIdentityProvidersResult", "audienceUri"); @@ -244,6 +353,14 @@ public Builder audienceUri(String audienceUri) { return this; } @CustomType.Setter + public Builder clientId(String clientId) { + if (clientId == null) { + throw new MissingRequiredPropertyException("GetFederatedSettingsIdentityProvidersResult", "clientId"); + } + this.clientId = clientId; + return this; + } + @CustomType.Setter public Builder displayName(String displayName) { if (displayName == null) { throw new MissingRequiredPropertyException("GetFederatedSettingsIdentityProvidersResult", "displayName"); @@ -252,6 +369,22 @@ public Builder displayName(String displayName) { return this; } @CustomType.Setter + public Builder groupsClaim(String groupsClaim) { + if (groupsClaim == null) { + throw new MissingRequiredPropertyException("GetFederatedSettingsIdentityProvidersResult", "groupsClaim"); + } + this.groupsClaim = groupsClaim; + return this; + } + @CustomType.Setter + public Builder idpId(String idpId) { + if (idpId == null) { + throw new MissingRequiredPropertyException("GetFederatedSettingsIdentityProvidersResult", "idpId"); + } + this.idpId = idpId; + return this; + } + @CustomType.Setter public Builder issuerUri(String issuerUri) { if (issuerUri == null) { throw new MissingRequiredPropertyException("GetFederatedSettingsIdentityProvidersResult", "issuerUri"); @@ -279,6 +412,14 @@ public Builder pemFileInfos(GetFederatedSettingsIdentityProvidersResultPemFileIn return pemFileInfos(List.of(pemFileInfos)); } @CustomType.Setter + public Builder protocol(String protocol) { + if (protocol == null) { + throw new MissingRequiredPropertyException("GetFederatedSettingsIdentityProvidersResult", "protocol"); + } + this.protocol = protocol; + return this; + } + @CustomType.Setter public Builder requestBinding(String requestBinding) { if (requestBinding == null) { throw new MissingRequiredPropertyException("GetFederatedSettingsIdentityProvidersResult", "requestBinding"); @@ -287,6 +428,17 @@ public Builder requestBinding(String requestBinding) { return this; } @CustomType.Setter + public Builder requestedScopes(List requestedScopes) { + if (requestedScopes == null) { + throw new MissingRequiredPropertyException("GetFederatedSettingsIdentityProvidersResult", "requestedScopes"); + } + this.requestedScopes = requestedScopes; + return this; + } + public Builder requestedScopes(String... requestedScopes) { + return requestedScopes(List.of(requestedScopes)); + } + @CustomType.Setter public Builder responseSignatureAlgorithm(String responseSignatureAlgorithm) { if (responseSignatureAlgorithm == null) { throw new MissingRequiredPropertyException("GetFederatedSettingsIdentityProvidersResult", "responseSignatureAlgorithm"); @@ -318,21 +470,36 @@ public Builder status(String status) { this.status = status; return this; } + @CustomType.Setter + public Builder userClaim(String userClaim) { + if (userClaim == null) { + throw new MissingRequiredPropertyException("GetFederatedSettingsIdentityProvidersResult", "userClaim"); + } + this.userClaim = userClaim; + return this; + } public GetFederatedSettingsIdentityProvidersResult build() { final var _resultValue = new GetFederatedSettingsIdentityProvidersResult(); _resultValue.acsUrl = acsUrl; _resultValue.associatedDomains = associatedDomains; _resultValue.associatedOrgs = associatedOrgs; + _resultValue.audienceClaims = audienceClaims; _resultValue.audienceUri = audienceUri; + _resultValue.clientId = clientId; _resultValue.displayName = displayName; + _resultValue.groupsClaim = groupsClaim; + _resultValue.idpId = idpId; _resultValue.issuerUri = issuerUri; _resultValue.oktaIdpId = oktaIdpId; _resultValue.pemFileInfos = pemFileInfos; + _resultValue.protocol = protocol; _resultValue.requestBinding = requestBinding; + _resultValue.requestedScopes = requestedScopes; _resultValue.responseSignatureAlgorithm = responseSignatureAlgorithm; _resultValue.ssoDebugEnabled = ssoDebugEnabled; _resultValue.ssoUrl = ssoUrl; _resultValue.status = status; + _resultValue.userClaim = userClaim; return _resultValue; } } diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetOrganizationResult.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetOrganizationResult.java index fe96691b..fafd462e 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetOrganizationResult.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetOrganizationResult.java @@ -13,6 +13,11 @@ @CustomType public final class GetOrganizationResult { + /** + * @return (Optional) Flag that indicates whether to require API operations to originate from an IP Address added to the API access list for the specified organization. + * + */ + private Boolean apiAccessListRequired; /** * @return The provider-assigned unique ID for this managed resource. * @@ -24,14 +29,31 @@ public final class GetOrganizationResult { */ private Boolean isDeleted; private List links; + /** + * @return (Optional) Flag that indicates whether to require users to set up Multi-Factor Authentication (MFA) before accessing the specified organization. To learn more, see: https://www.mongodb.com/docs/atlas/security-multi-factor-authentication/. + * + */ + private Boolean multiFactorAuthRequired; /** * @return Human-readable label that identifies the organization. * */ private String name; private String orgId; + /** + * @return (Optional) Flag that indicates whether to block MongoDB Support from accessing Atlas infrastructure for any deployment in the specified organization without explicit permission. Once this setting is turned on, you can grant MongoDB Support a 24-hour bypass access to the Atlas deployment to resolve support issues. To learn more, see: https://www.mongodb.com/docs/atlas/security-restrict-support-access/. + * + */ + private Boolean restrictEmployeeAccess; private GetOrganizationResult() {} + /** + * @return (Optional) Flag that indicates whether to require API operations to originate from an IP Address added to the API access list for the specified organization. + * + */ + public Boolean apiAccessListRequired() { + return this.apiAccessListRequired; + } /** * @return The provider-assigned unique ID for this managed resource. * @@ -49,6 +71,13 @@ public Boolean isDeleted() { public List links() { return this.links; } + /** + * @return (Optional) Flag that indicates whether to require users to set up Multi-Factor Authentication (MFA) before accessing the specified organization. To learn more, see: https://www.mongodb.com/docs/atlas/security-multi-factor-authentication/. + * + */ + public Boolean multiFactorAuthRequired() { + return this.multiFactorAuthRequired; + } /** * @return Human-readable label that identifies the organization. * @@ -59,6 +88,13 @@ public String name() { public String orgId() { return this.orgId; } + /** + * @return (Optional) Flag that indicates whether to block MongoDB Support from accessing Atlas infrastructure for any deployment in the specified organization without explicit permission. Once this setting is turned on, you can grant MongoDB Support a 24-hour bypass access to the Atlas deployment to resolve support issues. To learn more, see: https://www.mongodb.com/docs/atlas/security-restrict-support-access/. + * + */ + public Boolean restrictEmployeeAccess() { + return this.restrictEmployeeAccess; + } public static Builder builder() { return new Builder(); @@ -69,21 +105,35 @@ public static Builder builder(GetOrganizationResult defaults) { } @CustomType.Builder public static final class Builder { + private Boolean apiAccessListRequired; private String id; private Boolean isDeleted; private List links; + private Boolean multiFactorAuthRequired; private String name; private String orgId; + private Boolean restrictEmployeeAccess; public Builder() {} public Builder(GetOrganizationResult defaults) { Objects.requireNonNull(defaults); + this.apiAccessListRequired = defaults.apiAccessListRequired; this.id = defaults.id; this.isDeleted = defaults.isDeleted; this.links = defaults.links; + this.multiFactorAuthRequired = defaults.multiFactorAuthRequired; this.name = defaults.name; this.orgId = defaults.orgId; + this.restrictEmployeeAccess = defaults.restrictEmployeeAccess; } + @CustomType.Setter + public Builder apiAccessListRequired(Boolean apiAccessListRequired) { + if (apiAccessListRequired == null) { + throw new MissingRequiredPropertyException("GetOrganizationResult", "apiAccessListRequired"); + } + this.apiAccessListRequired = apiAccessListRequired; + return this; + } @CustomType.Setter public Builder id(String id) { if (id == null) { @@ -112,6 +162,14 @@ public Builder links(GetOrganizationLink... links) { return links(List.of(links)); } @CustomType.Setter + public Builder multiFactorAuthRequired(Boolean multiFactorAuthRequired) { + if (multiFactorAuthRequired == null) { + throw new MissingRequiredPropertyException("GetOrganizationResult", "multiFactorAuthRequired"); + } + this.multiFactorAuthRequired = multiFactorAuthRequired; + return this; + } + @CustomType.Setter public Builder name(String name) { if (name == null) { throw new MissingRequiredPropertyException("GetOrganizationResult", "name"); @@ -127,13 +185,24 @@ public Builder orgId(String orgId) { this.orgId = orgId; return this; } + @CustomType.Setter + public Builder restrictEmployeeAccess(Boolean restrictEmployeeAccess) { + if (restrictEmployeeAccess == null) { + throw new MissingRequiredPropertyException("GetOrganizationResult", "restrictEmployeeAccess"); + } + this.restrictEmployeeAccess = restrictEmployeeAccess; + return this; + } public GetOrganizationResult build() { final var _resultValue = new GetOrganizationResult(); + _resultValue.apiAccessListRequired = apiAccessListRequired; _resultValue.id = id; _resultValue.isDeleted = isDeleted; _resultValue.links = links; + _resultValue.multiFactorAuthRequired = multiFactorAuthRequired; _resultValue.name = name; _resultValue.orgId = orgId; + _resultValue.restrictEmployeeAccess = restrictEmployeeAccess; return _resultValue; } } diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetOrganizationsInvokeResult.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetOrganizationsInvokeResult.java index 062bb25d..1cd960f3 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetOrganizationsInvokeResult.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetOrganizationsInvokeResult.java @@ -21,6 +21,12 @@ public final class GetOrganizationsInvokeResult { * */ private String id; + /** + * @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 */ private @Nullable Boolean includeDeletedOrgs; private @Nullable Integer itemsPerPage; private @Nullable String name; @@ -36,6 +42,12 @@ private GetOrganizationsInvokeResult() {} public String id() { return this.id; } + /** + * @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 includeDeletedOrgs() { return Optional.ofNullable(this.includeDeletedOrgs); } diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetOrganizationsResult.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetOrganizationsResult.java index 0f7fc49f..6572f6d4 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetOrganizationsResult.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetOrganizationsResult.java @@ -13,6 +13,11 @@ @CustomType public final class GetOrganizationsResult { + /** + * @return Flag that indicates whether to require API operations to originate from an IP Address added to the API access list for the specified organization. + * + */ + private Boolean apiAccessListRequired; /** * @return Autogenerated Unique ID for this data source. * @@ -21,18 +26,35 @@ public final class GetOrganizationsResult { /** * @return Flag that indicates whether this organization has been deleted. * - * See [MongoDB Atlas API - Organizations](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Organizations/operation/listOrganizations) Documentation for more information. - * */ private Boolean isDeleted; private List links; + /** + * @return Flag that indicates whether to require users to set up Multi-Factor Authentication (MFA) before accessing the specified organization. To learn more, see: https://www.mongodb.com/docs/atlas/security-multi-factor-authentication/. + * + */ + private Boolean multiFactorAuthRequired; /** * @return Human-readable label that identifies the organization. * */ private String name; + /** + * @return Flag that indicates whether to block MongoDB Support from accessing Atlas infrastructure for any deployment in the specified organization without explicit permission. Once this setting is turned on, you can grant MongoDB Support a 24-hour bypass access to the Atlas deployment to resolve support issues. To learn more, see: https://www.mongodb.com/docs/atlas/security-restrict-support-access/. + * + * See [MongoDB Atlas API - Organizations](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Organizations/operation/listOrganizations) Documentation for more information. + * + */ + private Boolean restrictEmployeeAccess; private GetOrganizationsResult() {} + /** + * @return Flag that indicates whether to require API operations to originate from an IP Address added to the API access list for the specified organization. + * + */ + public Boolean apiAccessListRequired() { + return this.apiAccessListRequired; + } /** * @return Autogenerated Unique ID for this data source. * @@ -43,8 +65,6 @@ public String id() { /** * @return Flag that indicates whether this organization has been deleted. * - * See [MongoDB Atlas API - Organizations](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Organizations/operation/listOrganizations) Documentation for more information. - * */ public Boolean isDeleted() { return this.isDeleted; @@ -52,6 +72,13 @@ public Boolean isDeleted() { public List links() { return this.links; } + /** + * @return Flag that indicates whether to require users to set up Multi-Factor Authentication (MFA) before accessing the specified organization. To learn more, see: https://www.mongodb.com/docs/atlas/security-multi-factor-authentication/. + * + */ + public Boolean multiFactorAuthRequired() { + return this.multiFactorAuthRequired; + } /** * @return Human-readable label that identifies the organization. * @@ -59,6 +86,15 @@ public List links() { public String name() { return this.name; } + /** + * @return Flag that indicates whether to block MongoDB Support from accessing Atlas infrastructure for any deployment in the specified organization without explicit permission. Once this setting is turned on, you can grant MongoDB Support a 24-hour bypass access to the Atlas deployment to resolve support issues. To learn more, see: https://www.mongodb.com/docs/atlas/security-restrict-support-access/. + * + * See [MongoDB Atlas API - Organizations](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Organizations/operation/listOrganizations) Documentation for more information. + * + */ + public Boolean restrictEmployeeAccess() { + return this.restrictEmployeeAccess; + } public static Builder builder() { return new Builder(); @@ -69,19 +105,33 @@ public static Builder builder(GetOrganizationsResult defaults) { } @CustomType.Builder public static final class Builder { + private Boolean apiAccessListRequired; private String id; private Boolean isDeleted; private List links; + private Boolean multiFactorAuthRequired; private String name; + private Boolean restrictEmployeeAccess; public Builder() {} public Builder(GetOrganizationsResult defaults) { Objects.requireNonNull(defaults); + this.apiAccessListRequired = defaults.apiAccessListRequired; this.id = defaults.id; this.isDeleted = defaults.isDeleted; this.links = defaults.links; + this.multiFactorAuthRequired = defaults.multiFactorAuthRequired; this.name = defaults.name; + this.restrictEmployeeAccess = defaults.restrictEmployeeAccess; } + @CustomType.Setter + public Builder apiAccessListRequired(Boolean apiAccessListRequired) { + if (apiAccessListRequired == null) { + throw new MissingRequiredPropertyException("GetOrganizationsResult", "apiAccessListRequired"); + } + this.apiAccessListRequired = apiAccessListRequired; + return this; + } @CustomType.Setter public Builder id(String id) { if (id == null) { @@ -110,6 +160,14 @@ public Builder links(GetOrganizationsResultLink... links) { return links(List.of(links)); } @CustomType.Setter + public Builder multiFactorAuthRequired(Boolean multiFactorAuthRequired) { + if (multiFactorAuthRequired == null) { + throw new MissingRequiredPropertyException("GetOrganizationsResult", "multiFactorAuthRequired"); + } + this.multiFactorAuthRequired = multiFactorAuthRequired; + return this; + } + @CustomType.Setter public Builder name(String name) { if (name == null) { throw new MissingRequiredPropertyException("GetOrganizationsResult", "name"); @@ -117,12 +175,23 @@ public Builder name(String name) { this.name = name; return this; } + @CustomType.Setter + public Builder restrictEmployeeAccess(Boolean restrictEmployeeAccess) { + if (restrictEmployeeAccess == null) { + throw new MissingRequiredPropertyException("GetOrganizationsResult", "restrictEmployeeAccess"); + } + this.restrictEmployeeAccess = restrictEmployeeAccess; + return this; + } public GetOrganizationsResult build() { final var _resultValue = new GetOrganizationsResult(); + _resultValue.apiAccessListRequired = apiAccessListRequired; _resultValue.id = id; _resultValue.isDeleted = isDeleted; _resultValue.links = links; + _resultValue.multiFactorAuthRequired = multiFactorAuthRequired; _resultValue.name = name; + _resultValue.restrictEmployeeAccess = restrictEmployeeAccess; return _resultValue; } } diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetProjectIpAddresses.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetProjectIpAddresses.java new file mode 100644 index 00000000..966ec5d3 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetProjectIpAddresses.java @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.mongodbatlas.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import com.pulumi.mongodbatlas.outputs.GetProjectIpAddressesServices; +import java.util.Objects; + +@CustomType +public final class GetProjectIpAddresses { + private GetProjectIpAddressesServices services; + + private GetProjectIpAddresses() {} + public GetProjectIpAddressesServices services() { + return this.services; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetProjectIpAddresses defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private GetProjectIpAddressesServices services; + public Builder() {} + public Builder(GetProjectIpAddresses defaults) { + Objects.requireNonNull(defaults); + this.services = defaults.services; + } + + @CustomType.Setter + public Builder services(GetProjectIpAddressesServices services) { + if (services == null) { + throw new MissingRequiredPropertyException("GetProjectIpAddresses", "services"); + } + this.services = services; + return this; + } + public GetProjectIpAddresses build() { + final var _resultValue = new GetProjectIpAddresses(); + _resultValue.services = services; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetProjectIpAddressesServices.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetProjectIpAddressesServices.java new file mode 100644 index 00000000..43d3faad --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetProjectIpAddressesServices.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.mongodbatlas.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import com.pulumi.mongodbatlas.outputs.GetProjectIpAddressesServicesCluster; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetProjectIpAddressesServices { + private List clusters; + + private GetProjectIpAddressesServices() {} + public List clusters() { + return this.clusters; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetProjectIpAddressesServices defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List clusters; + public Builder() {} + public Builder(GetProjectIpAddressesServices defaults) { + Objects.requireNonNull(defaults); + this.clusters = defaults.clusters; + } + + @CustomType.Setter + public Builder clusters(List clusters) { + if (clusters == null) { + throw new MissingRequiredPropertyException("GetProjectIpAddressesServices", "clusters"); + } + this.clusters = clusters; + return this; + } + public Builder clusters(GetProjectIpAddressesServicesCluster... clusters) { + return clusters(List.of(clusters)); + } + public GetProjectIpAddressesServices build() { + final var _resultValue = new GetProjectIpAddressesServices(); + _resultValue.clusters = clusters; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetProjectIpAddressesServicesCluster.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetProjectIpAddressesServicesCluster.java new file mode 100644 index 00000000..ac858c8f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetProjectIpAddressesServicesCluster.java @@ -0,0 +1,87 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.mongodbatlas.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetProjectIpAddressesServicesCluster { + private String clusterName; + private List inbounds; + private List outbounds; + + private GetProjectIpAddressesServicesCluster() {} + public String clusterName() { + return this.clusterName; + } + public List inbounds() { + return this.inbounds; + } + public List outbounds() { + return this.outbounds; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetProjectIpAddressesServicesCluster defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String clusterName; + private List inbounds; + private List outbounds; + public Builder() {} + public Builder(GetProjectIpAddressesServicesCluster defaults) { + Objects.requireNonNull(defaults); + this.clusterName = defaults.clusterName; + this.inbounds = defaults.inbounds; + this.outbounds = defaults.outbounds; + } + + @CustomType.Setter + public Builder clusterName(String clusterName) { + if (clusterName == null) { + throw new MissingRequiredPropertyException("GetProjectIpAddressesServicesCluster", "clusterName"); + } + this.clusterName = clusterName; + return this; + } + @CustomType.Setter + public Builder inbounds(List inbounds) { + if (inbounds == null) { + throw new MissingRequiredPropertyException("GetProjectIpAddressesServicesCluster", "inbounds"); + } + this.inbounds = inbounds; + return this; + } + public Builder inbounds(String... inbounds) { + return inbounds(List.of(inbounds)); + } + @CustomType.Setter + public Builder outbounds(List outbounds) { + if (outbounds == null) { + throw new MissingRequiredPropertyException("GetProjectIpAddressesServicesCluster", "outbounds"); + } + this.outbounds = outbounds; + return this; + } + public Builder outbounds(String... outbounds) { + return outbounds(List.of(outbounds)); + } + public GetProjectIpAddressesServicesCluster build() { + final var _resultValue = new GetProjectIpAddressesServicesCluster(); + _resultValue.clusterName = clusterName; + _resultValue.inbounds = inbounds; + _resultValue.outbounds = outbounds; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetProjectLimit.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetProjectLimit.java index c45cf241..adb2ad85 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetProjectLimit.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetProjectLimit.java @@ -11,8 +11,20 @@ @CustomType public final class GetProjectLimit { + /** + * @return Amount that indicates the current usage of the limit. + * + */ private Integer currentUsage; + /** + * @return Default value of the limit. + * + */ private Integer defaultLimit; + /** + * @return Maximum value of the limit. + * + */ private Integer maximumLimit; /** * @return The unique ID for the project. @@ -21,15 +33,31 @@ public final class GetProjectLimit { * */ private String name; + /** + * @return Amount the limit is set to. + * + */ private Integer value; private GetProjectLimit() {} + /** + * @return Amount that indicates the current usage of the limit. + * + */ public Integer currentUsage() { return this.currentUsage; } + /** + * @return Default value of the limit. + * + */ public Integer defaultLimit() { return this.defaultLimit; } + /** + * @return Maximum value of the limit. + * + */ public Integer maximumLimit() { return this.maximumLimit; } @@ -42,6 +70,10 @@ public Integer maximumLimit() { public String name() { return this.name; } + /** + * @return Amount the limit is set to. + * + */ public Integer value() { return this.value; } diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetProjectResult.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetProjectResult.java index a4bbcc1c..bfdc5a72 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetProjectResult.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetProjectResult.java @@ -5,6 +5,7 @@ import com.pulumi.core.annotations.CustomType; import com.pulumi.exceptions.MissingRequiredPropertyException; +import com.pulumi.mongodbatlas.outputs.GetProjectIpAddresses; import com.pulumi.mongodbatlas.outputs.GetProjectLimit; import com.pulumi.mongodbatlas.outputs.GetProjectTeam; import java.lang.Boolean; @@ -24,17 +25,15 @@ public final class GetProjectResult { private Integer clusterCount; /** * @return The ISO-8601-formatted timestamp of when Atlas created the project. - * * `teams.#.team_id` - The unique identifier of the team you want to associate with the project. The team and project must share the same parent organization. - * * `teams.#.role_names` - Each string in the array represents a project role assigned to the team. Every user associated with the team inherits these roles. The [MongoDB Documentation](https://www.mongodb.com/docs/atlas/reference/user-roles/#organization-roles) describes the roles a user can have. - * * `limits.#.name` - Human-readable label that identifies this project limit. - * * `limits.#.value` - Amount the limit is set to. - * * `limits.#.current_usage` - Amount that indicates the current usage of the limit. - * * `limits.#.default_limit` - Default value of the limit. - * * `limits.#.maximum_limit` - Maximum value of the limit. * */ private String created; private String id; + /** + * @return IP addresses in a project categorized by services. See IP Addresses. + * + */ + private GetProjectIpAddresses ipAddresses; /** * @return Flag that indicates whether to enable statistics in [cluster metrics](https://www.mongodb.com/docs/atlas/monitor-cluster-metrics/) collection for the project. * @@ -65,9 +64,13 @@ public final class GetProjectResult { * */ private Boolean isSchemaAdvisorEnabled; + /** + * @return The limits for the specified project. See Limits. + * + */ private List limits; /** - * @return The name of the project you want to create. + * @return Human-readable label that identifies this project limit. * */ private @Nullable String name; @@ -82,6 +85,10 @@ public final class GetProjectResult { * */ private String regionUsageRestrictions; + /** + * @return Returns all teams to which the authenticated user has access in the project. See Teams. + * + */ private List teams; private GetProjectResult() {} @@ -94,13 +101,6 @@ public Integer clusterCount() { } /** * @return The ISO-8601-formatted timestamp of when Atlas created the project. - * * `teams.#.team_id` - The unique identifier of the team you want to associate with the project. The team and project must share the same parent organization. - * * `teams.#.role_names` - Each string in the array represents a project role assigned to the team. Every user associated with the team inherits these roles. The [MongoDB Documentation](https://www.mongodb.com/docs/atlas/reference/user-roles/#organization-roles) describes the roles a user can have. - * * `limits.#.name` - Human-readable label that identifies this project limit. - * * `limits.#.value` - Amount the limit is set to. - * * `limits.#.current_usage` - Amount that indicates the current usage of the limit. - * * `limits.#.default_limit` - Default value of the limit. - * * `limits.#.maximum_limit` - Maximum value of the limit. * */ public String created() { @@ -109,6 +109,13 @@ public String created() { public String id() { return this.id; } + /** + * @return IP addresses in a project categorized by services. See IP Addresses. + * + */ + public GetProjectIpAddresses ipAddresses() { + return this.ipAddresses; + } /** * @return Flag that indicates whether to enable statistics in [cluster metrics](https://www.mongodb.com/docs/atlas/monitor-cluster-metrics/) collection for the project. * @@ -151,11 +158,15 @@ public Boolean isRealtimePerformancePanelEnabled() { public Boolean isSchemaAdvisorEnabled() { return this.isSchemaAdvisorEnabled; } + /** + * @return The limits for the specified project. See Limits. + * + */ public List limits() { return this.limits; } /** - * @return The name of the project you want to create. + * @return Human-readable label that identifies this project limit. * */ public Optional name() { @@ -178,6 +189,10 @@ public Optional projectId() { public String regionUsageRestrictions() { return this.regionUsageRestrictions; } + /** + * @return Returns all teams to which the authenticated user has access in the project. See Teams. + * + */ public List teams() { return this.teams; } @@ -194,6 +209,7 @@ public static final class Builder { private Integer clusterCount; private String created; private String id; + private GetProjectIpAddresses ipAddresses; private Boolean isCollectDatabaseSpecificsStatisticsEnabled; private Boolean isDataExplorerEnabled; private Boolean isExtendedStorageSizesEnabled; @@ -212,6 +228,7 @@ public Builder(GetProjectResult defaults) { this.clusterCount = defaults.clusterCount; this.created = defaults.created; this.id = defaults.id; + this.ipAddresses = defaults.ipAddresses; this.isCollectDatabaseSpecificsStatisticsEnabled = defaults.isCollectDatabaseSpecificsStatisticsEnabled; this.isDataExplorerEnabled = defaults.isDataExplorerEnabled; this.isExtendedStorageSizesEnabled = defaults.isExtendedStorageSizesEnabled; @@ -251,6 +268,14 @@ public Builder id(String id) { return this; } @CustomType.Setter + public Builder ipAddresses(GetProjectIpAddresses ipAddresses) { + if (ipAddresses == null) { + throw new MissingRequiredPropertyException("GetProjectResult", "ipAddresses"); + } + this.ipAddresses = ipAddresses; + return this; + } + @CustomType.Setter public Builder isCollectDatabaseSpecificsStatisticsEnabled(Boolean isCollectDatabaseSpecificsStatisticsEnabled) { if (isCollectDatabaseSpecificsStatisticsEnabled == null) { throw new MissingRequiredPropertyException("GetProjectResult", "isCollectDatabaseSpecificsStatisticsEnabled"); @@ -353,6 +378,7 @@ public GetProjectResult build() { _resultValue.clusterCount = clusterCount; _resultValue.created = created; _resultValue.id = id; + _resultValue.ipAddresses = ipAddresses; _resultValue.isCollectDatabaseSpecificsStatisticsEnabled = isCollectDatabaseSpecificsStatisticsEnabled; _resultValue.isDataExplorerEnabled = isDataExplorerEnabled; _resultValue.isExtendedStorageSizesEnabled = isExtendedStorageSizesEnabled; diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetProjectTeam.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetProjectTeam.java index 84e68850..560a043c 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetProjectTeam.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetProjectTeam.java @@ -11,13 +11,29 @@ @CustomType public final class GetProjectTeam { + /** + * @return Each string in the array represents a project role assigned to the team. Every user associated with the team inherits these roles. The [MongoDB Documentation](https://www.mongodb.com/docs/atlas/reference/user-roles/#organization-roles) describes the roles a user can have. + * + */ private List roleNames; + /** + * @return The unique identifier of the team you want to associate with the project. The team and project must share the same parent organization. + * + */ private String teamId; private GetProjectTeam() {} + /** + * @return Each string in the array represents a project role assigned to the team. Every user associated with the team inherits these roles. The [MongoDB Documentation](https://www.mongodb.com/docs/atlas/reference/user-roles/#organization-roles) describes the roles a user can have. + * + */ public List roleNames() { return this.roleNames; } + /** + * @return The unique identifier of the team you want to associate with the project. The team and project must share the same parent organization. + * + */ public String teamId() { return this.teamId; } diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetProjectsResult.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetProjectsResult.java index 3aa0fda4..5b5756c9 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetProjectsResult.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetProjectsResult.java @@ -5,6 +5,7 @@ import com.pulumi.core.annotations.CustomType; import com.pulumi.exceptions.MissingRequiredPropertyException; +import com.pulumi.mongodbatlas.outputs.GetProjectsResultIpAddresses; import com.pulumi.mongodbatlas.outputs.GetProjectsResultLimit; import com.pulumi.mongodbatlas.outputs.GetProjectsResultTeam; import java.lang.Boolean; @@ -22,13 +23,6 @@ public final class GetProjectsResult { private Integer clusterCount; /** * @return The ISO-8601-formatted timestamp of when Atlas created the project. - * * `teams.#.team_id` - The unique identifier of the team you want to associate with the project. The team and project must share the same parent organization. - * * `teams.#.role_names` - Each string in the array represents a project role assigned to the team. Every user associated with the team inherits these roles. The [MongoDB Documentation](https://www.mongodb.com/docs/atlas/reference/user-roles/#organization-roles) describes the roles a user can have. - * * `limits.#.name` - Human-readable label that identifies this project limit. - * * `limits.#.value` - Amount the limit is set to. - * * `limits.#.current_usage` - Amount that indicates the current usage of the limit. - * * `limits.#.default_limit` - Default value of the limit. - * * `limits.#.maximum_limit` - Maximum value of the limit. * */ private String created; @@ -37,6 +31,11 @@ public final class GetProjectsResult { * */ private String id; + /** + * @return IP addresses in a project categorized by services. See IP Addresses. + * + */ + private GetProjectsResultIpAddresses ipAddresses; /** * @return Flag that indicates whether to enable statistics in [cluster metrics](https://www.mongodb.com/docs/atlas/monitor-cluster-metrics/) collection for the project. * @@ -67,9 +66,13 @@ public final class GetProjectsResult { * */ private Boolean isSchemaAdvisorEnabled; + /** + * @return The limits for the specified project. See Limits. + * + */ private List limits; /** - * @return The name of the project you want to create. + * @return Human-readable label that identifies this project limit. * */ private String name; @@ -82,10 +85,12 @@ public final class GetProjectsResult { /** * @return If GOV_REGIONS_ONLY the project can be used for government regions only, otherwise defaults to standard regions. For more information see [MongoDB Atlas for Government](https://www.mongodb.com/docs/atlas/government/api/#creating-a-project). * - * See [MongoDB Atlas API - Projects](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Projects) - [and MongoDB Atlas API - Teams](https://docs.atlas.mongodb.com/reference/api/project-get-teams/) Documentation for more information. - * */ private String regionUsageRestrictions; + /** + * @return Returns all teams to which the authenticated user has access in the project. See Teams. + * + */ private List teams; private GetProjectsResult() {} @@ -98,13 +103,6 @@ public Integer clusterCount() { } /** * @return The ISO-8601-formatted timestamp of when Atlas created the project. - * * `teams.#.team_id` - The unique identifier of the team you want to associate with the project. The team and project must share the same parent organization. - * * `teams.#.role_names` - Each string in the array represents a project role assigned to the team. Every user associated with the team inherits these roles. The [MongoDB Documentation](https://www.mongodb.com/docs/atlas/reference/user-roles/#organization-roles) describes the roles a user can have. - * * `limits.#.name` - Human-readable label that identifies this project limit. - * * `limits.#.value` - Amount the limit is set to. - * * `limits.#.current_usage` - Amount that indicates the current usage of the limit. - * * `limits.#.default_limit` - Default value of the limit. - * * `limits.#.maximum_limit` - Maximum value of the limit. * */ public String created() { @@ -117,6 +115,13 @@ public String created() { public String id() { return this.id; } + /** + * @return IP addresses in a project categorized by services. See IP Addresses. + * + */ + public GetProjectsResultIpAddresses ipAddresses() { + return this.ipAddresses; + } /** * @return Flag that indicates whether to enable statistics in [cluster metrics](https://www.mongodb.com/docs/atlas/monitor-cluster-metrics/) collection for the project. * @@ -159,11 +164,15 @@ public Boolean isRealtimePerformancePanelEnabled() { public Boolean isSchemaAdvisorEnabled() { return this.isSchemaAdvisorEnabled; } + /** + * @return The limits for the specified project. See Limits. + * + */ public List limits() { return this.limits; } /** - * @return The name of the project you want to create. + * @return Human-readable label that identifies this project limit. * */ public String name() { @@ -182,12 +191,14 @@ public String projectId() { /** * @return If GOV_REGIONS_ONLY the project can be used for government regions only, otherwise defaults to standard regions. For more information see [MongoDB Atlas for Government](https://www.mongodb.com/docs/atlas/government/api/#creating-a-project). * - * See [MongoDB Atlas API - Projects](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Projects) - [and MongoDB Atlas API - Teams](https://docs.atlas.mongodb.com/reference/api/project-get-teams/) Documentation for more information. - * */ public String regionUsageRestrictions() { return this.regionUsageRestrictions; } + /** + * @return Returns all teams to which the authenticated user has access in the project. See Teams. + * + */ public List teams() { return this.teams; } @@ -204,6 +215,7 @@ public static final class Builder { private Integer clusterCount; private String created; private String id; + private GetProjectsResultIpAddresses ipAddresses; private Boolean isCollectDatabaseSpecificsStatisticsEnabled; private Boolean isDataExplorerEnabled; private Boolean isExtendedStorageSizesEnabled; @@ -222,6 +234,7 @@ public Builder(GetProjectsResult defaults) { this.clusterCount = defaults.clusterCount; this.created = defaults.created; this.id = defaults.id; + this.ipAddresses = defaults.ipAddresses; this.isCollectDatabaseSpecificsStatisticsEnabled = defaults.isCollectDatabaseSpecificsStatisticsEnabled; this.isDataExplorerEnabled = defaults.isDataExplorerEnabled; this.isExtendedStorageSizesEnabled = defaults.isExtendedStorageSizesEnabled; @@ -261,6 +274,14 @@ public Builder id(String id) { return this; } @CustomType.Setter + public Builder ipAddresses(GetProjectsResultIpAddresses ipAddresses) { + if (ipAddresses == null) { + throw new MissingRequiredPropertyException("GetProjectsResult", "ipAddresses"); + } + this.ipAddresses = ipAddresses; + return this; + } + @CustomType.Setter public Builder isCollectDatabaseSpecificsStatisticsEnabled(Boolean isCollectDatabaseSpecificsStatisticsEnabled) { if (isCollectDatabaseSpecificsStatisticsEnabled == null) { throw new MissingRequiredPropertyException("GetProjectsResult", "isCollectDatabaseSpecificsStatisticsEnabled"); @@ -367,6 +388,7 @@ public GetProjectsResult build() { _resultValue.clusterCount = clusterCount; _resultValue.created = created; _resultValue.id = id; + _resultValue.ipAddresses = ipAddresses; _resultValue.isCollectDatabaseSpecificsStatisticsEnabled = isCollectDatabaseSpecificsStatisticsEnabled; _resultValue.isDataExplorerEnabled = isDataExplorerEnabled; _resultValue.isExtendedStorageSizesEnabled = isExtendedStorageSizesEnabled; diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetProjectsResultIpAddresses.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetProjectsResultIpAddresses.java new file mode 100644 index 00000000..55a0972b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetProjectsResultIpAddresses.java @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.mongodbatlas.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import com.pulumi.mongodbatlas.outputs.GetProjectsResultIpAddressesServices; +import java.util.Objects; + +@CustomType +public final class GetProjectsResultIpAddresses { + private GetProjectsResultIpAddressesServices services; + + private GetProjectsResultIpAddresses() {} + public GetProjectsResultIpAddressesServices services() { + return this.services; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetProjectsResultIpAddresses defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private GetProjectsResultIpAddressesServices services; + public Builder() {} + public Builder(GetProjectsResultIpAddresses defaults) { + Objects.requireNonNull(defaults); + this.services = defaults.services; + } + + @CustomType.Setter + public Builder services(GetProjectsResultIpAddressesServices services) { + if (services == null) { + throw new MissingRequiredPropertyException("GetProjectsResultIpAddresses", "services"); + } + this.services = services; + return this; + } + public GetProjectsResultIpAddresses build() { + final var _resultValue = new GetProjectsResultIpAddresses(); + _resultValue.services = services; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetProjectsResultIpAddressesServices.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetProjectsResultIpAddressesServices.java new file mode 100644 index 00000000..e23757d9 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetProjectsResultIpAddressesServices.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.mongodbatlas.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import com.pulumi.mongodbatlas.outputs.GetProjectsResultIpAddressesServicesCluster; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetProjectsResultIpAddressesServices { + private List clusters; + + private GetProjectsResultIpAddressesServices() {} + public List clusters() { + return this.clusters; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetProjectsResultIpAddressesServices defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List clusters; + public Builder() {} + public Builder(GetProjectsResultIpAddressesServices defaults) { + Objects.requireNonNull(defaults); + this.clusters = defaults.clusters; + } + + @CustomType.Setter + public Builder clusters(List clusters) { + if (clusters == null) { + throw new MissingRequiredPropertyException("GetProjectsResultIpAddressesServices", "clusters"); + } + this.clusters = clusters; + return this; + } + public Builder clusters(GetProjectsResultIpAddressesServicesCluster... clusters) { + return clusters(List.of(clusters)); + } + public GetProjectsResultIpAddressesServices build() { + final var _resultValue = new GetProjectsResultIpAddressesServices(); + _resultValue.clusters = clusters; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetProjectsResultIpAddressesServicesCluster.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetProjectsResultIpAddressesServicesCluster.java new file mode 100644 index 00000000..b9bc3153 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetProjectsResultIpAddressesServicesCluster.java @@ -0,0 +1,87 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.mongodbatlas.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetProjectsResultIpAddressesServicesCluster { + private String clusterName; + private List inbounds; + private List outbounds; + + private GetProjectsResultIpAddressesServicesCluster() {} + public String clusterName() { + return this.clusterName; + } + public List inbounds() { + return this.inbounds; + } + public List outbounds() { + return this.outbounds; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetProjectsResultIpAddressesServicesCluster defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String clusterName; + private List inbounds; + private List outbounds; + public Builder() {} + public Builder(GetProjectsResultIpAddressesServicesCluster defaults) { + Objects.requireNonNull(defaults); + this.clusterName = defaults.clusterName; + this.inbounds = defaults.inbounds; + this.outbounds = defaults.outbounds; + } + + @CustomType.Setter + public Builder clusterName(String clusterName) { + if (clusterName == null) { + throw new MissingRequiredPropertyException("GetProjectsResultIpAddressesServicesCluster", "clusterName"); + } + this.clusterName = clusterName; + return this; + } + @CustomType.Setter + public Builder inbounds(List inbounds) { + if (inbounds == null) { + throw new MissingRequiredPropertyException("GetProjectsResultIpAddressesServicesCluster", "inbounds"); + } + this.inbounds = inbounds; + return this; + } + public Builder inbounds(String... inbounds) { + return inbounds(List.of(inbounds)); + } + @CustomType.Setter + public Builder outbounds(List outbounds) { + if (outbounds == null) { + throw new MissingRequiredPropertyException("GetProjectsResultIpAddressesServicesCluster", "outbounds"); + } + this.outbounds = outbounds; + return this; + } + public Builder outbounds(String... outbounds) { + return outbounds(List.of(outbounds)); + } + public GetProjectsResultIpAddressesServicesCluster build() { + final var _resultValue = new GetProjectsResultIpAddressesServicesCluster(); + _resultValue.clusterName = clusterName; + _resultValue.inbounds = inbounds; + _resultValue.outbounds = outbounds; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetProjectsResultLimit.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetProjectsResultLimit.java index 0ed4562d..f2402fd0 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetProjectsResultLimit.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetProjectsResultLimit.java @@ -11,33 +11,65 @@ @CustomType public final class GetProjectsResultLimit { + /** + * @return Amount that indicates the current usage of the limit. + * + */ private Integer currentUsage; + /** + * @return Default value of the limit. + * + */ private Integer defaultLimit; + /** + * @return Maximum value of the limit. + * + */ private Integer maximumLimit; /** - * @return The name of the project you want to create. + * @return Human-readable label that identifies this project limit. * */ private String name; + /** + * @return Amount the limit is set to. + * + */ private Integer value; private GetProjectsResultLimit() {} + /** + * @return Amount that indicates the current usage of the limit. + * + */ public Integer currentUsage() { return this.currentUsage; } + /** + * @return Default value of the limit. + * + */ public Integer defaultLimit() { return this.defaultLimit; } + /** + * @return Maximum value of the limit. + * + */ public Integer maximumLimit() { return this.maximumLimit; } /** - * @return The name of the project you want to create. + * @return Human-readable label that identifies this project limit. * */ public String name() { return this.name; } + /** + * @return Amount the limit is set to. + * + */ public Integer value() { return this.value; } diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetProjectsResultTeam.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetProjectsResultTeam.java index ee3d688f..a21faa16 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetProjectsResultTeam.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetProjectsResultTeam.java @@ -11,13 +11,29 @@ @CustomType public final class GetProjectsResultTeam { + /** + * @return Each string in the array represents a project role assigned to the team. Every user associated with the team inherits these roles. The [MongoDB Documentation](https://www.mongodb.com/docs/atlas/reference/user-roles/#organization-roles) describes the roles a user can have. + * + */ private List roleNames; + /** + * @return The unique identifier of the team you want to associate with the project. The team and project must share the same parent organization. + * + */ private String teamId; private GetProjectsResultTeam() {} + /** + * @return Each string in the array represents a project role assigned to the team. Every user associated with the team inherits these roles. The [MongoDB Documentation](https://www.mongodb.com/docs/atlas/reference/user-roles/#organization-roles) describes the roles a user can have. + * + */ public List roleNames() { return this.roleNames; } + /** + * @return The unique identifier of the team you want to associate with the project. The team and project must share the same parent organization. + * + */ public String teamId() { return this.teamId; } diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetSearchDeploymentResult.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetSearchDeploymentResult.java index 30e8323c..8d7e60eb 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetSearchDeploymentResult.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetSearchDeploymentResult.java @@ -12,39 +12,63 @@ @CustomType public final class GetSearchDeploymentResult { + /** + * @return Label that identifies the cluster to return the search nodes for. + * + */ private String clusterName; + /** + * @return Unique 24-hexadecimal digit string that identifies the search deployment. + * + */ private String id; + /** + * @return Unique 24-hexadecimal digit string that identifies your project. + * + */ private String projectId; /** - * @return List of settings that configure the search nodes for your cluster. See specs. + * @return List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. * */ private List specs; /** - * @return Human-readable label that indicates the current operating condition of this search node deployment. + * @return Human-readable label that indicates the current operating condition of this search deployment. * */ private String stateName; private GetSearchDeploymentResult() {} + /** + * @return Label that identifies the cluster to return the search nodes for. + * + */ public String clusterName() { return this.clusterName; } + /** + * @return Unique 24-hexadecimal digit string that identifies the search deployment. + * + */ public String id() { return this.id; } + /** + * @return Unique 24-hexadecimal digit string that identifies your project. + * + */ public String projectId() { return this.projectId; } /** - * @return List of settings that configure the search nodes for your cluster. See specs. + * @return List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. * */ public List specs() { return this.specs; } /** - * @return Human-readable label that indicates the current operating condition of this search node deployment. + * @return Human-readable label that indicates the current operating condition of this search deployment. * */ public String stateName() { diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetSearchDeploymentSpec.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetSearchDeploymentSpec.java index 2fb0cf9e..728dfe7c 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetSearchDeploymentSpec.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetSearchDeploymentSpec.java @@ -12,26 +12,26 @@ @CustomType public final class GetSearchDeploymentSpec { /** - * @return (Required) Hardware specification for the search node instance sizes. The [MongoDB Atlas API](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Atlas-Search/operation/createAtlasSearchDeployment) describes the valid values. More details can also be found in the [Search Node Documentation](https://www.mongodb.com/docs/atlas/cluster-config/multi-cloud-distribution/#search-tier). + * @return Hardware specification for the search node instance sizes. The [MongoDB Atlas API](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Atlas-Search/operation/createAtlasSearchDeployment) describes the valid values. More details can also be found in the [Search Node Documentation](https://www.mongodb.com/docs/atlas/cluster-config/multi-cloud-distribution/#search-tier). * */ private String instanceSize; /** - * @return (Required) Number of search nodes in the cluster. + * @return Number of search nodes in the cluster. * */ private Integer nodeCount; private GetSearchDeploymentSpec() {} /** - * @return (Required) Hardware specification for the search node instance sizes. The [MongoDB Atlas API](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Atlas-Search/operation/createAtlasSearchDeployment) describes the valid values. More details can also be found in the [Search Node Documentation](https://www.mongodb.com/docs/atlas/cluster-config/multi-cloud-distribution/#search-tier). + * @return Hardware specification for the search node instance sizes. The [MongoDB Atlas API](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Atlas-Search/operation/createAtlasSearchDeployment) describes the valid values. More details can also be found in the [Search Node Documentation](https://www.mongodb.com/docs/atlas/cluster-config/multi-cloud-distribution/#search-tier). * */ public String instanceSize() { return this.instanceSize; } /** - * @return (Required) Number of search nodes in the cluster. + * @return Number of search nodes in the cluster. * */ public Integer nodeCount() { diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetSearchIndexResult.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetSearchIndexResult.java index c860164f..cf46a113 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetSearchIndexResult.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetSearchIndexResult.java @@ -64,6 +64,10 @@ public final class GetSearchIndexResult { * */ private @Nullable String searchAnalyzer; + /** + * @return Current status of the index. + * + */ private String status; /** * @return Synonyms mapping definition to use in this index. @@ -151,6 +155,10 @@ public String projectId() { public Optional searchAnalyzer() { return Optional.ofNullable(this.searchAnalyzer); } + /** + * @return Current status of the index. + * + */ public String status() { return this.status; } diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetSearchIndexesInvokeResult.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetSearchIndexesInvokeResult.java index affa109b..77b4412b 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetSearchIndexesInvokeResult.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetSearchIndexesInvokeResult.java @@ -10,8 +10,6 @@ import java.lang.String; import java.util.List; import java.util.Objects; -import java.util.Optional; -import javax.annotation.Nullable; @CustomType public final class GetSearchIndexesInvokeResult { @@ -31,20 +29,6 @@ public final class GetSearchIndexesInvokeResult { * */ private String id; - /** - * @deprecated - * this parameter is deprecated and will be removed in version 1.15.0 - * - */ - @Deprecated /* this parameter is deprecated and will be removed in version 1.15.0 */ - private @Nullable Integer itemsPerPage; - /** - * @deprecated - * this parameter is deprecated and will be removed in version 1.15.0 - * - */ - @Deprecated /* this parameter is deprecated and will be removed in version 1.15.0 */ - private @Nullable Integer pageNum; private String projectId; /** * @return A list where each represents a search index. @@ -82,24 +66,6 @@ public String database() { public String id() { return this.id; } - /** - * @deprecated - * this parameter is deprecated and will be removed in version 1.15.0 - * - */ - @Deprecated /* this parameter is deprecated and will be removed in version 1.15.0 */ - public Optional itemsPerPage() { - return Optional.ofNullable(this.itemsPerPage); - } - /** - * @deprecated - * this parameter is deprecated and will be removed in version 1.15.0 - * - */ - @Deprecated /* this parameter is deprecated and will be removed in version 1.15.0 */ - public Optional pageNum() { - return Optional.ofNullable(this.pageNum); - } public String projectId() { return this.projectId; } @@ -131,8 +97,6 @@ public static final class Builder { private String collectionName; private String database; private String id; - private @Nullable Integer itemsPerPage; - private @Nullable Integer pageNum; private String projectId; private List results; private Integer totalCount; @@ -143,8 +107,6 @@ public Builder(GetSearchIndexesInvokeResult defaults) { this.collectionName = defaults.collectionName; this.database = defaults.database; this.id = defaults.id; - this.itemsPerPage = defaults.itemsPerPage; - this.pageNum = defaults.pageNum; this.projectId = defaults.projectId; this.results = defaults.results; this.totalCount = defaults.totalCount; @@ -183,18 +145,6 @@ public Builder id(String id) { return this; } @CustomType.Setter - public Builder itemsPerPage(@Nullable Integer itemsPerPage) { - - this.itemsPerPage = itemsPerPage; - return this; - } - @CustomType.Setter - public Builder pageNum(@Nullable Integer pageNum) { - - this.pageNum = pageNum; - return this; - } - @CustomType.Setter public Builder projectId(String projectId) { if (projectId == null) { throw new MissingRequiredPropertyException("GetSearchIndexesInvokeResult", "projectId"); @@ -227,8 +177,6 @@ public GetSearchIndexesInvokeResult build() { _resultValue.collectionName = collectionName; _resultValue.database = database; _resultValue.id = id; - _resultValue.itemsPerPage = itemsPerPage; - _resultValue.pageNum = pageNum; _resultValue.projectId = projectId; _resultValue.results = results; _resultValue.totalCount = totalCount; diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetSearchIndexesResult.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetSearchIndexesResult.java index fc180d9a..3a4aae41 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetSearchIndexesResult.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/GetSearchIndexesResult.java @@ -67,6 +67,10 @@ public final class GetSearchIndexesResult { * */ private @Nullable String searchAnalyzer; + /** + * @return Current status of the index. + * + */ private String status; /** * @return Synonyms mapping definition to use in this index. @@ -156,6 +160,10 @@ public String projectId() { public Optional searchAnalyzer() { return Optional.ofNullable(this.searchAnalyzer); } + /** + * @return Current status of the index. + * + */ public String status() { return this.status; } diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/ProjectIpAddresses.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/ProjectIpAddresses.java new file mode 100644 index 00000000..0fbea3fb --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/ProjectIpAddresses.java @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.mongodbatlas.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.mongodbatlas.outputs.ProjectIpAddressesServices; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class ProjectIpAddresses { + private @Nullable ProjectIpAddressesServices services; + + private ProjectIpAddresses() {} + public Optional services() { + return Optional.ofNullable(this.services); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ProjectIpAddresses defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable ProjectIpAddressesServices services; + public Builder() {} + public Builder(ProjectIpAddresses defaults) { + Objects.requireNonNull(defaults); + this.services = defaults.services; + } + + @CustomType.Setter + public Builder services(@Nullable ProjectIpAddressesServices services) { + + this.services = services; + return this; + } + public ProjectIpAddresses build() { + final var _resultValue = new ProjectIpAddresses(); + _resultValue.services = services; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/ProjectIpAddressesServices.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/ProjectIpAddressesServices.java new file mode 100644 index 00000000..c7660498 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/ProjectIpAddressesServices.java @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.mongodbatlas.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.mongodbatlas.outputs.ProjectIpAddressesServicesCluster; +import java.util.List; +import java.util.Objects; +import javax.annotation.Nullable; + +@CustomType +public final class ProjectIpAddressesServices { + private @Nullable List clusters; + + private ProjectIpAddressesServices() {} + public List clusters() { + return this.clusters == null ? List.of() : this.clusters; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ProjectIpAddressesServices defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List clusters; + public Builder() {} + public Builder(ProjectIpAddressesServices defaults) { + Objects.requireNonNull(defaults); + this.clusters = defaults.clusters; + } + + @CustomType.Setter + public Builder clusters(@Nullable List clusters) { + + this.clusters = clusters; + return this; + } + public Builder clusters(ProjectIpAddressesServicesCluster... clusters) { + return clusters(List.of(clusters)); + } + public ProjectIpAddressesServices build() { + final var _resultValue = new ProjectIpAddressesServices(); + _resultValue.clusters = clusters; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/ProjectIpAddressesServicesCluster.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/ProjectIpAddressesServicesCluster.java new file mode 100644 index 00000000..37516f59 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/ProjectIpAddressesServicesCluster.java @@ -0,0 +1,82 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.mongodbatlas.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class ProjectIpAddressesServicesCluster { + private @Nullable String clusterName; + private @Nullable List inbounds; + private @Nullable List outbounds; + + private ProjectIpAddressesServicesCluster() {} + public Optional clusterName() { + return Optional.ofNullable(this.clusterName); + } + public List inbounds() { + return this.inbounds == null ? List.of() : this.inbounds; + } + public List outbounds() { + return this.outbounds == null ? List.of() : this.outbounds; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ProjectIpAddressesServicesCluster defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String clusterName; + private @Nullable List inbounds; + private @Nullable List outbounds; + public Builder() {} + public Builder(ProjectIpAddressesServicesCluster defaults) { + Objects.requireNonNull(defaults); + this.clusterName = defaults.clusterName; + this.inbounds = defaults.inbounds; + this.outbounds = defaults.outbounds; + } + + @CustomType.Setter + public Builder clusterName(@Nullable String clusterName) { + + this.clusterName = clusterName; + return this; + } + @CustomType.Setter + public Builder inbounds(@Nullable List inbounds) { + + this.inbounds = inbounds; + return this; + } + public Builder inbounds(String... inbounds) { + return inbounds(List.of(inbounds)); + } + @CustomType.Setter + public Builder outbounds(@Nullable List outbounds) { + + this.outbounds = outbounds; + return this; + } + public Builder outbounds(String... outbounds) { + return outbounds(List.of(outbounds)); + } + public ProjectIpAddressesServicesCluster build() { + final var _resultValue = new ProjectIpAddressesServicesCluster(); + _resultValue.clusterName = clusterName; + _resultValue.inbounds = inbounds; + _resultValue.outbounds = outbounds; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/SearchIndexSynonym.java b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/SearchIndexSynonym.java index b80d7b4a..0cdf8382 100644 --- a/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/SearchIndexSynonym.java +++ b/sdk/java/src/main/java/com/pulumi/mongodbatlas/outputs/SearchIndexSynonym.java @@ -21,7 +21,7 @@ public final class SearchIndexSynonym { */ private String name; /** - * @return Name of the source MongoDB collection for the synonyms. Documents in this collection must be in the format described in the [Synonyms Source Collection Documents](https://docs.atlas.mongodb.com/reference/atlas-search/synonyms/#std-label-synonyms-coll-spec). + * @return (Required) Name of the source MongoDB collection for the synonyms. Documents in this collection must be in the format described in the [Synonyms Source Collection Documents](https://docs.atlas.mongodb.com/reference/atlas-search/synonyms/#std-label-synonyms-coll-spec). * */ private String sourceCollection; @@ -42,7 +42,7 @@ public String name() { return this.name; } /** - * @return Name of the source MongoDB collection for the synonyms. Documents in this collection must be in the format described in the [Synonyms Source Collection Documents](https://docs.atlas.mongodb.com/reference/atlas-search/synonyms/#std-label-synonyms-coll-spec). + * @return (Required) Name of the source MongoDB collection for the synonyms. Documents in this collection must be in the format described in the [Synonyms Source Collection Documents](https://docs.atlas.mongodb.com/reference/atlas-search/synonyms/#std-label-synonyms-coll-spec). * */ public String sourceCollection() { diff --git a/sdk/nodejs/apiKey.ts b/sdk/nodejs/apiKey.ts index 77c8d4df..bf7ccbea 100644 --- a/sdk/nodejs/apiKey.ts +++ b/sdk/nodejs/apiKey.ts @@ -5,6 +5,19 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "./utilities"; /** + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as mongodbatlas from "@pulumi/mongodbatlas"; + * + * const test = new mongodbatlas.ApiKey("test", { + * description: "key-name", + * orgId: "", + * roleNames: ["ORG_READ_ONLY"], + * }); + * ``` + * * ## Import * * API Keys must be imported using org ID, API Key ID e.g. diff --git a/sdk/nodejs/backupCompliancePolicy.ts b/sdk/nodejs/backupCompliancePolicy.ts index 2288350f..97995b03 100644 --- a/sdk/nodejs/backupCompliancePolicy.ts +++ b/sdk/nodejs/backupCompliancePolicy.ts @@ -61,16 +61,16 @@ export class BackupCompliancePolicy extends pulumi.CustomResource { /** * Flag that indicates whether to enable additional backup copies for the cluster. If unspecified, this value defaults to false. */ - public readonly copyProtectionEnabled!: pulumi.Output; + public readonly copyProtectionEnabled!: pulumi.Output; /** * 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. */ - public readonly encryptionAtRestEnabled!: pulumi.Output; + public readonly encryptionAtRestEnabled!: pulumi.Output; public readonly onDemandPolicyItem!: pulumi.Output; /** * Flag that indicates whether the cluster uses Continuous Cloud Backups with a Backup Compliance Policy. If unspecified, this value defaults to false. */ - public readonly pitEnabled!: pulumi.Output; + public readonly pitEnabled!: pulumi.Output; public readonly policyItemDaily!: pulumi.Output; public readonly policyItemHourly!: pulumi.Output; public readonly policyItemMonthlies!: pulumi.Output; @@ -136,18 +136,9 @@ export class BackupCompliancePolicy extends pulumi.CustomResource { 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'"); - } - if ((!args || args.encryptionAtRestEnabled === undefined) && !opts.urn) { - throw new Error("Missing required property 'encryptionAtRestEnabled'"); - } if ((!args || args.onDemandPolicyItem === undefined) && !opts.urn) { throw new Error("Missing required property 'onDemandPolicyItem'"); } - if ((!args || args.pitEnabled === undefined) && !opts.urn) { - throw new Error("Missing required property 'pitEnabled'"); - } if ((!args || args.projectId === undefined) && !opts.urn) { throw new Error("Missing required property 'projectId'"); } @@ -247,16 +238,16 @@ export interface BackupCompliancePolicyArgs { /** * Flag that indicates whether to enable additional backup copies for the cluster. If unspecified, this value defaults to false. */ - copyProtectionEnabled: pulumi.Input; + copyProtectionEnabled?: pulumi.Input; /** * 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. */ - encryptionAtRestEnabled: pulumi.Input; + encryptionAtRestEnabled?: pulumi.Input; onDemandPolicyItem: pulumi.Input; /** * Flag that indicates whether the cluster uses Continuous Cloud Backups with a Backup Compliance Policy. If unspecified, this value defaults to false. */ - pitEnabled: pulumi.Input; + pitEnabled?: pulumi.Input; policyItemDaily?: pulumi.Input; policyItemHourly?: pulumi.Input; policyItemMonthlies?: pulumi.Input[]>; diff --git a/sdk/nodejs/cloudProviderAccess.ts b/sdk/nodejs/cloudProviderAccess.ts deleted file mode 100644 index 8c016018..00000000 --- a/sdk/nodejs/cloudProviderAccess.ts +++ /dev/null @@ -1,285 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -import * as pulumi from "@pulumi/pulumi"; -import * as inputs from "./types/input"; -import * as outputs from "./types/output"; -import * as utilities from "./utilities"; - -/** - * ## Example Usage - * - * ```typescript - * import * as pulumi from "@pulumi/pulumi"; - * import * as mongodbatlas from "@pulumi/mongodbatlas"; - * - * const testRole = new mongodbatlas.CloudProviderAccess("testRole", { - * projectId: "64259ee860c43338194b0f8e", - * providerName: "AWS", - * }); - * ``` - * ### With AWS - * - * ```typescript - * import * as pulumi from "@pulumi/pulumi"; - * import * as mongodbatlas from "@pulumi/mongodbatlas"; - * - * const testRole = new mongodbatlas.CloudProviderAccessSetup("testRole", { - * projectId: "64259ee860c43338194b0f8e", - * providerName: "AWS", - * }); - * ``` - * ### With Azure - * - * ```typescript - * import * as pulumi from "@pulumi/pulumi"; - * import * as mongodbatlas from "@pulumi/mongodbatlas"; - * - * const testRole = new mongodbatlas.CloudProviderAccessSetup("testRole", { - * azureConfigs: [{ - * atlasAzureAppId: "9f2deb0d-be22-4524-a403-df531868bac0", - * servicePrincipalId: "22f1d2a6-d0e9-482a-83a4-b8dd7dddc2c1", - * tenantId: "91402384-d71e-22f5-22dd-759e272cdc1c", - * }], - * projectId: "64259ee860c43338194b0f8e", - * providerName: "AZURE", - * }); - * ``` - * ### With AWS - * ```typescript - * import * as pulumi from "@pulumi/pulumi"; - * import * as mongodbatlas from "@pulumi/mongodbatlas"; - * - * const setupOnly = new mongodbatlas.CloudProviderAccessSetup("setupOnly", { - * projectId: "64259ee860c43338194b0f8e", - * providerName: "AWS", - * }); - * const authRole = new mongodbatlas.CloudProviderAccessAuthorization("authRole", { - * projectId: setupOnly.projectId, - * roleId: setupOnly.roleId, - * aws: { - * iamAssumedRoleArn: "arn:aws:iam::772401394250:role/test-user-role", - * }, - * }); - * ``` - * - * ```typescript - * import * as pulumi from "@pulumi/pulumi"; - * import * as mongodbatlas from "@pulumi/mongodbatlas"; - * - * const setupOnly = new mongodbatlas.CloudProviderAccessSetup("setupOnly", { - * projectId: "64259ee860c43338194b0f8e", - * providerName: "AZURE", - * azureConfigs: [{ - * atlasAzureAppId: "9f2deb0d-be22-4524-a403-df531868bac0", - * servicePrincipalId: "22f1d2a6-d0e9-482a-83a4-b8dd7dddc2c1", - * tenantId: "91402384-d71e-22f5-22dd-759e272cdc1c", - * }], - * }); - * const authRole = new mongodbatlas.CloudProviderAccessAuthorization("authRole", { - * projectId: setupOnly.projectId, - * roleId: setupOnly.roleId, - * azure: { - * atlasAzureAppId: "9f2deb0d-be22-4524-a403-df531868bac0", - * servicePrincipalId: "22f1d2a6-d0e9-482a-83a4-b8dd7dddc2c1", - * tenantId: "91402384-d71e-22f5-22dd-759e272cdc1c", - * }, - * }); - * ``` - * ## Authorize role - * - * Once the resource is created add the field `iamAssumedRoleArn` see [Set Up Unified AWS Access](https://docs.atlas.mongodb.com/security/set-up-unified-aws-access/#set-up-unified-aws-access) , and execute a new `pulumi up` this will create a PATCH request. - * - * ```typescript - * import * as pulumi from "@pulumi/pulumi"; - * import * as mongodbatlas from "@pulumi/mongodbatlas"; - * - * const testRole = new mongodbatlas.CloudProviderAccess("testRole", { - * iamAssumedRoleArn: "arn:aws:iam::772401394250:role/test-user-role", - * projectId: "", - * providerName: "AWS", - * }); - * ``` - * - * ## Import - * - * The Cloud Provider Access resource can be imported using project ID and the provider name and mongodbatlas role id, in the format `project_id`-`provider_name`-`role_id`, e.g. - * - * ```sh - * $ pulumi import mongodbatlas:index/cloudProviderAccess:CloudProviderAccess my_role 1112222b3bf99403840e8934-AWS-5fc17d476f7a33224f5b224e - * ``` - * See [MongoDB Atlas API](https://docs.atlas.mongodb.com/reference/api/cloud-provider-access-create-one-role/) Documentation for more information. - */ -export class CloudProviderAccess extends pulumi.CustomResource { - /** - * Get an existing CloudProviderAccess resource's state with the given name, ID, and optional extra - * properties used to qualify the lookup. - * - * @param name The _unique_ name of the resulting resource. - * @param id The _unique_ provider ID of the resource to lookup. - * @param state Any extra arguments used during the lookup. - * @param opts Optional settings to control the behavior of the CustomResource. - */ - public static get(name: string, id: pulumi.Input, state?: CloudProviderAccessState, opts?: pulumi.CustomResourceOptions): CloudProviderAccess { - return new CloudProviderAccess(name, state, { ...opts, id: id }); - } - - /** @internal */ - public static readonly __pulumiType = 'mongodbatlas:index/cloudProviderAccess:CloudProviderAccess'; - - /** - * Returns true if the given object is an instance of CloudProviderAccess. This is designed to work even - * when multiple copies of the Pulumi SDK have been loaded into the same process. - */ - public static isInstance(obj: any): obj is CloudProviderAccess { - if (obj === undefined || obj === null) { - return false; - } - return obj['__pulumiType'] === CloudProviderAccess.__pulumiType; - } - - /** - * Unique external ID Atlas uses when assuming the IAM role in your AWS account. - */ - public /*out*/ readonly atlasAssumedRoleExternalId!: pulumi.Output; - /** - * ARN associated with the Atlas AWS account used to assume IAM roles in your AWS account. - */ - public /*out*/ readonly atlasAwsAccountArn!: pulumi.Output; - /** - * Date on which this role was authorized. - */ - public /*out*/ readonly authorizedDate!: pulumi.Output; - /** - * Date on which this role was created. - */ - public /*out*/ readonly createdDate!: pulumi.Output; - /** - * Atlas features this AWS IAM role is linked to. - */ - public /*out*/ readonly featureUsages!: pulumi.Output; - /** - * 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; - /** - * The unique ID for the project - */ - public readonly projectId!: pulumi.Output; - /** - * The cloud provider for which to create a new role. Currently only AWS is supported. - */ - public readonly providerName!: pulumi.Output; - /** - * Unique ID of this role returned by mongodb atlas api - * - * Conditional - */ - public /*out*/ readonly roleId!: pulumi.Output; - - /** - * Create a CloudProviderAccess resource with the given unique name, arguments, and options. - * - * @param name The _unique_ name of the resource. - * @param args The arguments to use to populate this resource's properties. - * @param opts A bag of options that control this resource's behavior. - */ - constructor(name: string, args: CloudProviderAccessArgs, opts?: pulumi.CustomResourceOptions) - constructor(name: string, argsOrState?: CloudProviderAccessArgs | CloudProviderAccessState, opts?: pulumi.CustomResourceOptions) { - let resourceInputs: pulumi.Inputs = {}; - opts = opts || {}; - if (opts.id) { - const state = argsOrState as CloudProviderAccessState | undefined; - resourceInputs["atlasAssumedRoleExternalId"] = state ? state.atlasAssumedRoleExternalId : undefined; - resourceInputs["atlasAwsAccountArn"] = state ? state.atlasAwsAccountArn : undefined; - resourceInputs["authorizedDate"] = state ? state.authorizedDate : undefined; - resourceInputs["createdDate"] = state ? state.createdDate : undefined; - resourceInputs["featureUsages"] = state ? state.featureUsages : undefined; - resourceInputs["iamAssumedRoleArn"] = state ? state.iamAssumedRoleArn : undefined; - resourceInputs["projectId"] = state ? state.projectId : undefined; - resourceInputs["providerName"] = state ? state.providerName : undefined; - resourceInputs["roleId"] = state ? state.roleId : undefined; - } else { - const args = argsOrState as CloudProviderAccessArgs | undefined; - if ((!args || args.projectId === undefined) && !opts.urn) { - throw new Error("Missing required property 'projectId'"); - } - if ((!args || args.providerName === undefined) && !opts.urn) { - throw new Error("Missing required property 'providerName'"); - } - resourceInputs["iamAssumedRoleArn"] = args ? args.iamAssumedRoleArn : undefined; - resourceInputs["projectId"] = args ? args.projectId : undefined; - resourceInputs["providerName"] = args ? args.providerName : undefined; - resourceInputs["atlasAssumedRoleExternalId"] = undefined /*out*/; - resourceInputs["atlasAwsAccountArn"] = undefined /*out*/; - resourceInputs["authorizedDate"] = undefined /*out*/; - resourceInputs["createdDate"] = undefined /*out*/; - resourceInputs["featureUsages"] = undefined /*out*/; - resourceInputs["roleId"] = undefined /*out*/; - } - opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - super(CloudProviderAccess.__pulumiType, name, resourceInputs, opts); - } -} - -/** - * Input properties used for looking up and filtering CloudProviderAccess resources. - */ -export interface CloudProviderAccessState { - /** - * Unique external ID Atlas uses when assuming the IAM role in your AWS account. - */ - atlasAssumedRoleExternalId?: pulumi.Input; - /** - * ARN associated with the Atlas AWS account used to assume IAM roles in your AWS account. - */ - atlasAwsAccountArn?: pulumi.Input; - /** - * Date on which this role was authorized. - */ - authorizedDate?: pulumi.Input; - /** - * Date on which this role was created. - */ - createdDate?: pulumi.Input; - /** - * Atlas features this AWS IAM role is linked to. - */ - featureUsages?: pulumi.Input[]>; - /** - * 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.Input; - /** - * The unique ID for the project - */ - projectId?: pulumi.Input; - /** - * The cloud provider for which to create a new role. Currently only AWS is supported. - */ - providerName?: pulumi.Input; - /** - * Unique ID of this role returned by mongodb atlas api - * - * Conditional - */ - roleId?: pulumi.Input; -} - -/** - * The set of arguments for constructing a CloudProviderAccess resource. - */ -export interface CloudProviderAccessArgs { - /** - * 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.Input; - /** - * The unique ID for the project - */ - projectId: pulumi.Input; - /** - * The cloud provider for which to create a new role. Currently only AWS is supported. - */ - providerName: pulumi.Input; -} diff --git a/sdk/nodejs/federatedDatabaseInstance.ts b/sdk/nodejs/federatedDatabaseInstance.ts index a253455f..c45f105a 100644 --- a/sdk/nodejs/federatedDatabaseInstance.ts +++ b/sdk/nodejs/federatedDatabaseInstance.ts @@ -139,8 +139,8 @@ export class FederatedDatabaseInstance extends pulumi.CustomResource { return obj['__pulumiType'] === FederatedDatabaseInstance.__pulumiType; } - public readonly cloudProviderConfig!: pulumi.Output; - public readonly dataProcessRegion!: pulumi.Output; + public readonly cloudProviderConfig!: pulumi.Output; + public readonly dataProcessRegion!: pulumi.Output; /** * The list of hostnames assigned to the Federated Database Instance. Each string in the array is a hostname assigned to the Federated Database Instance. */ @@ -182,7 +182,7 @@ export class FederatedDatabaseInstance extends pulumi.CustomResource { * * `storage_databases.#.views.#.source` - Name of the source collection for the view. * * `storage_databases.#.views.#.pipeline`- Aggregation pipeline stage(s) to apply to the source collection. */ - public readonly storageDatabases!: pulumi.Output; + public readonly storageDatabases!: pulumi.Output; /** * Each object in the array represents a data store. Federated Database uses the storage.databases configuration details to map data in each data store to queryable databases and collections. For complete documentation on this object and its nested fields, see [stores](https://docs.mongodb.com/datalake/reference/format/data-lake-configuration#std-label-datalake-stores-reference). An empty object indicates that the Federated Database Instance has no configured data stores. * * `storage_stores.#.name` - Name of the data store. diff --git a/sdk/nodejs/federatedSettingsIdentityProvider.ts b/sdk/nodejs/federatedSettingsIdentityProvider.ts index 4623db87..afb9ee05 100644 --- a/sdk/nodejs/federatedSettingsIdentityProvider.ts +++ b/sdk/nodejs/federatedSettingsIdentityProvider.ts @@ -6,6 +6,8 @@ import * as utilities from "./utilities"; /** * `mongodbatlas.FederatedSettingsIdentityProvider` provides an Atlas federated settings identity provider resource provides a subset of settings to be maintained post import of the existing resource. + * + * > **NOTE:** OIDC Workforce IdP is currently in preview. To learn more about OIDC and existing limitations see the [OIDC Authentication Documentation](https://www.mongodb.com/docs/atlas/security-oidc/). * ## Example Usage * * > **IMPORTANT** You **MUST** import this resource before you can manage it with this provider. @@ -33,7 +35,9 @@ import * as utilities from "./utilities"; * ```sh * $ pulumi import mongodbatlas:index/federatedSettingsIdentityProvider:FederatedSettingsIdentityProvider identity_provider 6287a663c660f52b1c441c6c-0oad4fas87jL5Xnk1297 * ``` - * For more information see[MongoDB Atlas API Reference.](https://www.mongodb.com/docs/atlas/reference/api/federation-configuration/) + * __WARNING:__ Starting from terraform provider version 1.16.0, to import the resource a 24-hexadecimal digit string that identifies the IdP (`idp_id`) will have to be used instead of `okta_idp_id`. See more [here](../guides/1.15.0-upgrade-guide.html.markdown) + * + * For more information see[MongoDB Atlas API Reference.](https://www.mongodb.com/docs/atlas/reference/api/federation-configuration/) */ export class FederatedSettingsIdentityProvider extends pulumi.CustomResource { /** @@ -67,12 +71,28 @@ export class FederatedSettingsIdentityProvider extends pulumi.CustomResource { * List that contains the domains associated with the identity provider. */ public readonly associatedDomains!: pulumi.Output; + /** + * Identifier of the intended recipient of the token used in OIDC IdP. + */ + public readonly audienceClaims!: pulumi.Output; + /** + * Client identifier that is assigned to an application by the OIDC Identity Provider. + */ + public readonly clientId!: pulumi.Output; /** * Unique 24-hexadecimal digit string that identifies the federated authentication configuration. */ public readonly federationSettingsId!: pulumi.Output; /** - * Unique string that identifies the issuer of the SAML + * Identifier of the claim which contains OIDC IdP Group IDs in the token. + */ + public readonly groupsClaim!: pulumi.Output; + /** + * Unique 24-hexadecimal digit string that identifies the IdP. + */ + public /*out*/ readonly idpId!: pulumi.Output; + /** + * Unique string that identifies the issuer of the IdP. */ public readonly issuerUri!: pulumi.Output; /** @@ -84,27 +104,39 @@ export class FederatedSettingsIdentityProvider extends pulumi.CustomResource { */ public /*out*/ readonly oktaIdpId!: pulumi.Output; /** - * SAML Authentication Request Protocol HTTP method binding (POST or REDIRECT) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values: + * The protocol of the identity provider. Either `SAML` or `OIDC`. + */ + public readonly protocol!: pulumi.Output; + /** + * SAML Authentication Request Protocol HTTP method binding (`POST` or `REDIRECT`) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values: * - HTTP POST * - HTTP REDIRECT */ - public readonly requestBinding!: pulumi.Output; + public readonly requestBinding!: pulumi.Output; + /** + * Scopes that MongoDB applications will request from the authorization endpoint used for OIDC IdPs. + */ + public readonly requestedScopes!: pulumi.Output; /** - * Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include SHA-1 and SHA-256. + * Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include `SHA-1 `and `SHA-256`. */ - public readonly responseSignatureAlgorithm!: pulumi.Output; + public readonly responseSignatureAlgorithm!: pulumi.Output; /** * Flag that indicates whether the identity provider has SSO debug enabled. */ - public readonly ssoDebugEnabled!: pulumi.Output; + public readonly ssoDebugEnabled!: pulumi.Output; /** * Unique string that identifies the intended audience of the SAML assertion. */ - public readonly ssoUrl!: pulumi.Output; + public readonly ssoUrl!: pulumi.Output; /** * String enum that indicates whether the identity provider is active or not. Accepted values are ACTIVE or INACTIVE. */ - public readonly status!: pulumi.Output; + public readonly status!: pulumi.Output; + /** + * Identifier of the claim which contains the user ID in the token used for OIDC IdPs. + */ + public readonly userClaim!: pulumi.Output; /** * Create a FederatedSettingsIdentityProvider resource with the given unique name, arguments, and options. @@ -120,15 +152,22 @@ export class FederatedSettingsIdentityProvider extends pulumi.CustomResource { if (opts.id) { const state = argsOrState as FederatedSettingsIdentityProviderState | undefined; resourceInputs["associatedDomains"] = state ? state.associatedDomains : undefined; + resourceInputs["audienceClaims"] = state ? state.audienceClaims : undefined; + resourceInputs["clientId"] = state ? state.clientId : undefined; resourceInputs["federationSettingsId"] = state ? state.federationSettingsId : undefined; + resourceInputs["groupsClaim"] = state ? state.groupsClaim : undefined; + resourceInputs["idpId"] = state ? state.idpId : undefined; resourceInputs["issuerUri"] = state ? state.issuerUri : undefined; resourceInputs["name"] = state ? state.name : undefined; resourceInputs["oktaIdpId"] = state ? state.oktaIdpId : undefined; + resourceInputs["protocol"] = state ? state.protocol : undefined; resourceInputs["requestBinding"] = state ? state.requestBinding : undefined; + resourceInputs["requestedScopes"] = state ? state.requestedScopes : undefined; resourceInputs["responseSignatureAlgorithm"] = state ? state.responseSignatureAlgorithm : undefined; resourceInputs["ssoDebugEnabled"] = state ? state.ssoDebugEnabled : undefined; resourceInputs["ssoUrl"] = state ? state.ssoUrl : undefined; resourceInputs["status"] = state ? state.status : undefined; + resourceInputs["userClaim"] = state ? state.userClaim : undefined; } else { const args = argsOrState as FederatedSettingsIdentityProviderArgs | undefined; if ((!args || args.federationSettingsId === undefined) && !opts.urn) { @@ -137,30 +176,22 @@ export class FederatedSettingsIdentityProvider extends pulumi.CustomResource { if ((!args || args.issuerUri === undefined) && !opts.urn) { throw new Error("Missing required property 'issuerUri'"); } - if ((!args || args.requestBinding === undefined) && !opts.urn) { - throw new Error("Missing required property 'requestBinding'"); - } - if ((!args || args.responseSignatureAlgorithm === undefined) && !opts.urn) { - throw new Error("Missing required property 'responseSignatureAlgorithm'"); - } - if ((!args || args.ssoDebugEnabled === undefined) && !opts.urn) { - throw new Error("Missing required property 'ssoDebugEnabled'"); - } - if ((!args || args.ssoUrl === undefined) && !opts.urn) { - throw new Error("Missing required property 'ssoUrl'"); - } - if ((!args || args.status === undefined) && !opts.urn) { - throw new Error("Missing required property 'status'"); - } resourceInputs["associatedDomains"] = args ? args.associatedDomains : undefined; + resourceInputs["audienceClaims"] = args ? args.audienceClaims : undefined; + resourceInputs["clientId"] = args ? args.clientId : undefined; resourceInputs["federationSettingsId"] = args ? args.federationSettingsId : undefined; + resourceInputs["groupsClaim"] = args ? args.groupsClaim : undefined; resourceInputs["issuerUri"] = args ? args.issuerUri : undefined; resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["protocol"] = args ? args.protocol : undefined; resourceInputs["requestBinding"] = args ? args.requestBinding : undefined; + resourceInputs["requestedScopes"] = args ? args.requestedScopes : undefined; resourceInputs["responseSignatureAlgorithm"] = args ? args.responseSignatureAlgorithm : undefined; resourceInputs["ssoDebugEnabled"] = args ? args.ssoDebugEnabled : undefined; resourceInputs["ssoUrl"] = args ? args.ssoUrl : undefined; resourceInputs["status"] = args ? args.status : undefined; + resourceInputs["userClaim"] = args ? args.userClaim : undefined; + resourceInputs["idpId"] = undefined /*out*/; resourceInputs["oktaIdpId"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); @@ -176,12 +207,28 @@ export interface FederatedSettingsIdentityProviderState { * List that contains the domains associated with the identity provider. */ associatedDomains?: pulumi.Input[]>; + /** + * Identifier of the intended recipient of the token used in OIDC IdP. + */ + audienceClaims?: pulumi.Input[]>; + /** + * Client identifier that is assigned to an application by the OIDC Identity Provider. + */ + clientId?: pulumi.Input; /** * Unique 24-hexadecimal digit string that identifies the federated authentication configuration. */ federationSettingsId?: pulumi.Input; /** - * Unique string that identifies the issuer of the SAML + * Identifier of the claim which contains OIDC IdP Group IDs in the token. + */ + groupsClaim?: pulumi.Input; + /** + * Unique 24-hexadecimal digit string that identifies the IdP. + */ + idpId?: pulumi.Input; + /** + * Unique string that identifies the issuer of the IdP. */ issuerUri?: pulumi.Input; /** @@ -193,13 +240,21 @@ export interface FederatedSettingsIdentityProviderState { */ oktaIdpId?: pulumi.Input; /** - * SAML Authentication Request Protocol HTTP method binding (POST or REDIRECT) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values: + * The protocol of the identity provider. Either `SAML` or `OIDC`. + */ + protocol?: pulumi.Input; + /** + * SAML Authentication Request Protocol HTTP method binding (`POST` or `REDIRECT`) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values: * - HTTP POST * - HTTP REDIRECT */ requestBinding?: pulumi.Input; /** - * Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include SHA-1 and SHA-256. + * Scopes that MongoDB applications will request from the authorization endpoint used for OIDC IdPs. + */ + requestedScopes?: pulumi.Input[]>; + /** + * Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include `SHA-1 `and `SHA-256`. */ responseSignatureAlgorithm?: pulumi.Input; /** @@ -214,6 +269,10 @@ export interface FederatedSettingsIdentityProviderState { * String enum that indicates whether the identity provider is active or not. Accepted values are ACTIVE or INACTIVE. */ status?: pulumi.Input; + /** + * Identifier of the claim which contains the user ID in the token used for OIDC IdPs. + */ + userClaim?: pulumi.Input; } /** @@ -224,12 +283,24 @@ export interface FederatedSettingsIdentityProviderArgs { * List that contains the domains associated with the identity provider. */ associatedDomains?: pulumi.Input[]>; + /** + * Identifier of the intended recipient of the token used in OIDC IdP. + */ + audienceClaims?: pulumi.Input[]>; + /** + * Client identifier that is assigned to an application by the OIDC Identity Provider. + */ + clientId?: pulumi.Input; /** * Unique 24-hexadecimal digit string that identifies the federated authentication configuration. */ federationSettingsId: pulumi.Input; /** - * Unique string that identifies the issuer of the SAML + * Identifier of the claim which contains OIDC IdP Group IDs in the token. + */ + groupsClaim?: pulumi.Input; + /** + * Unique string that identifies the issuer of the IdP. */ issuerUri: pulumi.Input; /** @@ -237,25 +308,37 @@ export interface FederatedSettingsIdentityProviderArgs { */ name?: pulumi.Input; /** - * SAML Authentication Request Protocol HTTP method binding (POST or REDIRECT) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values: + * The protocol of the identity provider. Either `SAML` or `OIDC`. + */ + protocol?: pulumi.Input; + /** + * SAML Authentication Request Protocol HTTP method binding (`POST` or `REDIRECT`) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values: * - HTTP POST * - HTTP REDIRECT */ - requestBinding: pulumi.Input; + requestBinding?: pulumi.Input; /** - * Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include SHA-1 and SHA-256. + * Scopes that MongoDB applications will request from the authorization endpoint used for OIDC IdPs. */ - responseSignatureAlgorithm: pulumi.Input; + requestedScopes?: pulumi.Input[]>; + /** + * Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include `SHA-1 `and `SHA-256`. + */ + responseSignatureAlgorithm?: pulumi.Input; /** * Flag that indicates whether the identity provider has SSO debug enabled. */ - ssoDebugEnabled: pulumi.Input; + ssoDebugEnabled?: pulumi.Input; /** * Unique string that identifies the intended audience of the SAML assertion. */ - ssoUrl: pulumi.Input; + ssoUrl?: pulumi.Input; /** * String enum that indicates whether the identity provider is active or not. Accepted values are ACTIVE or INACTIVE. */ - status: pulumi.Input; + status?: pulumi.Input; + /** + * Identifier of the claim which contains the user ID in the token used for OIDC IdPs. + */ + userClaim?: pulumi.Input; } diff --git a/sdk/nodejs/getApiKey.ts b/sdk/nodejs/getApiKey.ts index a8ec33ac..6c9eba98 100644 --- a/sdk/nodejs/getApiKey.ts +++ b/sdk/nodejs/getApiKey.ts @@ -20,9 +20,12 @@ export function getApiKey(args: GetApiKeyArgs, opts?: pulumi.InvokeOptions): Pro * A collection of arguments for invoking getApiKey. */ export interface GetApiKeyArgs { + /** + * Unique identifier for the organization API key. + */ apiKeyId: string; /** - * The unique ID for the project. + * Unique identifier for the organization. */ orgId: string; } @@ -40,9 +43,6 @@ export interface GetApiKeyResult { * The provider-assigned unique ID for this managed resource. */ readonly id: string; - /** - * Unique identifier for the organization whose API keys you want to retrieve. Use the /orgs endpoint to retrieve all organizations to which the authenticated user has access. - */ readonly orgId: string; /** * Public key for this Organization API key. @@ -65,9 +65,12 @@ export function getApiKeyOutput(args: GetApiKeyOutputArgs, opts?: pulumi.InvokeO * A collection of arguments for invoking getApiKey. */ export interface GetApiKeyOutputArgs { + /** + * Unique identifier for the organization API key. + */ apiKeyId: pulumi.Input; /** - * The unique ID for the project. + * Unique identifier for the organization. */ orgId: pulumi.Input; } diff --git a/sdk/nodejs/getApiKeys.ts b/sdk/nodejs/getApiKeys.ts index 52c7e6d9..85d274d0 100644 --- a/sdk/nodejs/getApiKeys.ts +++ b/sdk/nodejs/getApiKeys.ts @@ -25,7 +25,7 @@ export interface GetApiKeysArgs { */ itemsPerPage?: number; /** - * Unique identifier for the organization whose API keys you want to retrieve. Use the /orgs endpoint to retrieve all organizations to which the authenticated user has access. + * Unique identifier for the organization whose API keys you want to retrieve. */ orgId: string; /** @@ -60,7 +60,7 @@ export interface GetApiKeysOutputArgs { */ itemsPerPage?: pulumi.Input; /** - * Unique identifier for the organization whose API keys you want to retrieve. Use the /orgs endpoint to retrieve all organizations to which the authenticated user has access. + * Unique identifier for the organization whose API keys you want to retrieve. */ orgId: pulumi.Input; /** diff --git a/sdk/nodejs/getBackupCompliancePolicy.ts b/sdk/nodejs/getBackupCompliancePolicy.ts index d9e367ef..fcab03c0 100644 --- a/sdk/nodejs/getBackupCompliancePolicy.ts +++ b/sdk/nodejs/getBackupCompliancePolicy.ts @@ -10,11 +10,6 @@ export function getBackupCompliancePolicy(args: GetBackupCompliancePolicyArgs, o opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invoke("mongodbatlas:index/getBackupCompliancePolicy:getBackupCompliancePolicy", { - "onDemandPolicyItem": args.onDemandPolicyItem, - "policyItemDaily": args.policyItemDaily, - "policyItemHourly": args.policyItemHourly, - "policyItemMonthlies": args.policyItemMonthlies, - "policyItemWeeklies": args.policyItemWeeklies, "projectId": args.projectId, }, opts); } @@ -23,11 +18,6 @@ export function getBackupCompliancePolicy(args: GetBackupCompliancePolicyArgs, o * A collection of arguments for invoking getBackupCompliancePolicy. */ export interface GetBackupCompliancePolicyArgs { - onDemandPolicyItem?: inputs.GetBackupCompliancePolicyOnDemandPolicyItem; - policyItemDaily?: inputs.GetBackupCompliancePolicyPolicyItemDaily; - policyItemHourly?: inputs.GetBackupCompliancePolicyPolicyItemHourly; - policyItemMonthlies?: inputs.GetBackupCompliancePolicyPolicyItemMonthly[]; - policyItemWeeklies?: inputs.GetBackupCompliancePolicyPolicyItemWeekly[]; /** * Unique 24-hexadecimal digit string that identifies your project */ @@ -62,15 +52,15 @@ export interface GetBackupCompliancePolicyResult { * The provider-assigned unique ID for this managed resource. */ readonly id: string; - readonly onDemandPolicyItem?: outputs.GetBackupCompliancePolicyOnDemandPolicyItem; + readonly onDemandPolicyItem: outputs.GetBackupCompliancePolicyOnDemandPolicyItem; /** * Flag that indicates whether the cluster uses Continuous Cloud Backups with a Backup Compliance Policy. If unspecified, this value defaults to false. */ readonly pitEnabled: boolean; - readonly policyItemDaily?: outputs.GetBackupCompliancePolicyPolicyItemDaily; - readonly policyItemHourly?: outputs.GetBackupCompliancePolicyPolicyItemHourly; - readonly policyItemMonthlies?: outputs.GetBackupCompliancePolicyPolicyItemMonthly[]; - readonly policyItemWeeklies?: outputs.GetBackupCompliancePolicyPolicyItemWeekly[]; + readonly policyItemDaily: outputs.GetBackupCompliancePolicyPolicyItemDaily; + readonly policyItemHourly: outputs.GetBackupCompliancePolicyPolicyItemHourly; + readonly policyItemMonthlies: outputs.GetBackupCompliancePolicyPolicyItemMonthly[]; + readonly policyItemWeeklies: outputs.GetBackupCompliancePolicyPolicyItemWeekly[]; readonly projectId: string; /** * 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. @@ -97,11 +87,6 @@ export function getBackupCompliancePolicyOutput(args: GetBackupCompliancePolicyO * A collection of arguments for invoking getBackupCompliancePolicy. */ export interface GetBackupCompliancePolicyOutputArgs { - onDemandPolicyItem?: pulumi.Input; - policyItemDaily?: pulumi.Input; - policyItemHourly?: pulumi.Input; - policyItemMonthlies?: pulumi.Input[]>; - policyItemWeeklies?: pulumi.Input[]>; /** * Unique 24-hexadecimal digit string that identifies your project */ diff --git a/sdk/nodejs/getCloudProviderAccess.ts b/sdk/nodejs/getCloudProviderAccess.ts deleted file mode 100644 index 83cef82c..00000000 --- a/sdk/nodejs/getCloudProviderAccess.ts +++ /dev/null @@ -1,97 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -import * as pulumi from "@pulumi/pulumi"; -import * as inputs from "./types/input"; -import * as outputs from "./types/output"; -import * as utilities from "./utilities"; - -/** - * **WARNING:** The data source `mongodbatlas.CloudProviderAccess` is deprecated and will be removed in version v1.14.0, use the data source `mongodbatlas.CloudProviderAccessSetup` instead. - * - * `mongodbatlas.CloudProviderAccess` allows you to get the list of cloud provider access roles, currently only AWS and Azure is supported. - * - * > **NOTE:** Groups and projects are synonymous terms. You may find `groupId` in the official documentation. - * - * ## Example Usage - * - * ```typescript - * import * as pulumi from "@pulumi/pulumi"; - * import * as mongodbatlas from "@pulumi/mongodbatlas"; - * - * const testRole = new mongodbatlas.CloudProviderAccess("testRole", { - * projectId: "64259ee860c43338194b0f8e", - * providerName: "AWS", - * }); - * const all = mongodbatlas.getCloudProviderAccessOutput({ - * projectId: testRole.projectId, - * }); - * ``` - */ -export function getCloudProviderAccess(args: GetCloudProviderAccessArgs, opts?: pulumi.InvokeOptions): Promise { - - opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); - return pulumi.runtime.invoke("mongodbatlas:index/getCloudProviderAccess:getCloudProviderAccess", { - "projectId": args.projectId, - }, opts); -} - -/** - * A collection of arguments for invoking getCloudProviderAccess. - */ -export interface GetCloudProviderAccessArgs { - /** - * The unique ID for the project to get all Cloud Provider Access - */ - projectId: string; -} - -/** - * A collection of values returned by getCloudProviderAccess. - */ -export interface GetCloudProviderAccessResult { - /** - * A list where each represents a Cloud Provider Access Role. - */ - readonly awsIamRoles: outputs.GetCloudProviderAccessAwsIamRole[]; - /** - * The provider-assigned unique ID for this managed resource. - */ - readonly id: string; - readonly projectId: string; -} -/** - * **WARNING:** The data source `mongodbatlas.CloudProviderAccess` is deprecated and will be removed in version v1.14.0, use the data source `mongodbatlas.CloudProviderAccessSetup` instead. - * - * `mongodbatlas.CloudProviderAccess` allows you to get the list of cloud provider access roles, currently only AWS and Azure is supported. - * - * > **NOTE:** Groups and projects are synonymous terms. You may find `groupId` in the official documentation. - * - * ## Example Usage - * - * ```typescript - * import * as pulumi from "@pulumi/pulumi"; - * import * as mongodbatlas from "@pulumi/mongodbatlas"; - * - * const testRole = new mongodbatlas.CloudProviderAccess("testRole", { - * projectId: "64259ee860c43338194b0f8e", - * providerName: "AWS", - * }); - * const all = mongodbatlas.getCloudProviderAccessOutput({ - * projectId: testRole.projectId, - * }); - * ``` - */ -export function getCloudProviderAccessOutput(args: GetCloudProviderAccessOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { - return pulumi.output(args).apply((a: any) => getCloudProviderAccess(a, opts)) -} - -/** - * A collection of arguments for invoking getCloudProviderAccess. - */ -export interface GetCloudProviderAccessOutputArgs { - /** - * The unique ID for the project to get all Cloud Provider Access - */ - projectId: pulumi.Input; -} diff --git a/sdk/nodejs/getCloudProviderAccessSetup.ts b/sdk/nodejs/getCloudProviderAccessSetup.ts index 528a14a2..c40ae063 100644 --- a/sdk/nodejs/getCloudProviderAccessSetup.ts +++ b/sdk/nodejs/getCloudProviderAccessSetup.ts @@ -7,7 +7,7 @@ import * as outputs from "./types/output"; import * as utilities from "./utilities"; /** - * `mongodbatlas.CloudProviderAccess` allows you to get a single role for a provider access role setup, currently only AWS and Azure are supported. + * `mongodbatlasCloudProviderAccess` allows you to get a single role for a provider access role setup, currently only AWS and Azure are supported. * * > **NOTE:** Groups and projects are synonymous terms. You may find `groupId` in the official documentation. * @@ -114,7 +114,7 @@ export interface GetCloudProviderAccessSetupResult { readonly roleId: string; } /** - * `mongodbatlas.CloudProviderAccess` allows you to get a single role for a provider access role setup, currently only AWS and Azure are supported. + * `mongodbatlasCloudProviderAccess` allows you to get a single role for a provider access role setup, currently only AWS and Azure are supported. * * > **NOTE:** Groups and projects are synonymous terms. You may find `groupId` in the official documentation. * diff --git a/sdk/nodejs/getDatabaseUser.ts b/sdk/nodejs/getDatabaseUser.ts index c169ac91..615f181e 100644 --- a/sdk/nodejs/getDatabaseUser.ts +++ b/sdk/nodejs/getDatabaseUser.ts @@ -63,6 +63,9 @@ export interface GetDatabaseUserResult { * (Optional) Human-readable label that indicates whether the new database user authenticates with OIDC (OpenID Connect) federated authentication. If no value is given, Atlas uses the default value of `NONE`. The accepted types are: */ readonly oidcAuthType: string; + /** + * @deprecated this parameter is deprecated and will be removed in version 1.16.0 + */ readonly password: string; readonly projectId: string; /** diff --git a/sdk/nodejs/getFederatedSettingsIdentityProvider.ts b/sdk/nodejs/getFederatedSettingsIdentityProvider.ts index 8d576b20..6fbd4299 100644 --- a/sdk/nodejs/getFederatedSettingsIdentityProvider.ts +++ b/sdk/nodejs/getFederatedSettingsIdentityProvider.ts @@ -9,6 +9,8 @@ import * as utilities from "./utilities"; /** * `mongodbatlas.FederatedSettingsIdentityProvider` provides a federated settings identity provider data source. Atlas federated settings identity provider provides federated settings outputs for the configured identity provider. * + * > **NOTE:** OIDC Workforce IdP is currently in preview. To learn more about OIDC and existing limitations see the [OIDC Authentication Documentation](https://www.mongodb.com/docs/atlas/security-oidc/) + * * ## Example Usage * * ```typescript @@ -48,9 +50,6 @@ export interface GetFederatedSettingsIdentityProviderArgs { * Unique 24-hexadecimal digit string that identifies the federated authentication configuration. */ federationSettingsId: string; - /** - * Unique 20-hexadecimal digit string that identifies the IdP. - */ identityProviderId: string; } @@ -70,10 +69,18 @@ export interface GetFederatedSettingsIdentityProviderResult { * List that contains the organizations from which users can log in for this IdP. */ readonly associatedOrgs: outputs.GetFederatedSettingsIdentityProviderAssociatedOrg[]; + /** + * Identifier of the intended recipient of the token. + */ + readonly audienceClaims: string[]; /** * Identifier for the intended audience of the SAML Assertion. */ readonly audienceUri: string; + /** + * Client identifier that is assigned to an application by the Identity Provider. + */ + readonly clientId: string; /** * Human-readable label that identifies the IdP. */ @@ -82,11 +89,19 @@ export interface GetFederatedSettingsIdentityProviderResult { * Unique 24-hexadecimal digit string that identifies the federated authentication configuration. */ readonly federationSettingsId: string; + /** + * Identifier of the claim which contains IdP Group IDs in the token. + */ + readonly groupsClaim: string; /** * The provider-assigned unique ID for this managed resource. */ readonly id: string; readonly identityProviderId: string; + /** + * Unique 24-hexadecimal digit string that identifies the IdP + */ + readonly idpId: string; /** * Identifier for the issuer of the SAML Assertion. */ @@ -96,12 +111,20 @@ export interface GetFederatedSettingsIdentityProviderResult { */ readonly oktaIdpId: string; readonly pemFileInfos: outputs.GetFederatedSettingsIdentityProviderPemFileInfo[]; + /** + * The protocol of the identity provider. Either SAML or OIDC. + */ + readonly protocol: string; /** * SAML Authentication Request Protocol binding used to send the AuthNRequest. Atlas supports the following binding values: * - HTTP POST * - HTTP REDIRECT */ readonly requestBinding: string; + /** + * Scopes that MongoDB applications will request from the authorization endpoint. + */ + readonly requestedScopes: string[]; /** * Algorithm used to encrypt the IdP signature. Atlas supports the following signature algorithm values: * - SHA-1 @@ -120,10 +143,16 @@ export interface GetFederatedSettingsIdentityProviderResult { * Label that indicates whether the identity provider is active. The IdP is Inactive until you map at least one domain to the IdP. */ readonly status: string; + /** + * Identifier of the claim which contains the user ID in the token. + */ + readonly userClaim: string; } /** * `mongodbatlas.FederatedSettingsIdentityProvider` provides a federated settings identity provider data source. Atlas federated settings identity provider provides federated settings outputs for the configured identity provider. * + * > **NOTE:** OIDC Workforce IdP is currently in preview. To learn more about OIDC and existing limitations see the [OIDC Authentication Documentation](https://www.mongodb.com/docs/atlas/security-oidc/) + * * ## Example Usage * * ```typescript @@ -158,8 +187,5 @@ export interface GetFederatedSettingsIdentityProviderOutputArgs { * Unique 24-hexadecimal digit string that identifies the federated authentication configuration. */ federationSettingsId: pulumi.Input; - /** - * Unique 20-hexadecimal digit string that identifies the IdP. - */ identityProviderId: pulumi.Input; } diff --git a/sdk/nodejs/getFederatedSettingsIdentityProviders.ts b/sdk/nodejs/getFederatedSettingsIdentityProviders.ts index 8dc1a0a1..463a4605 100644 --- a/sdk/nodejs/getFederatedSettingsIdentityProviders.ts +++ b/sdk/nodejs/getFederatedSettingsIdentityProviders.ts @@ -9,6 +9,8 @@ import * as utilities from "./utilities"; /** * `mongodbatlas.getFederatedSettingsIdentityProviders` provides an Federated Settings Identity Providers datasource. Atlas Cloud Federated Settings Identity Providers provides federated settings outputs for the configured Identity Providers. * + * > **NOTE:** OIDC Workforce IdP is currently in preview. To learn more about OIDC and existing limitations see the [OIDC Authentication Documentation](https://www.mongodb.com/docs/atlas/security-oidc/). + * * ## Example Usage * * ```typescript @@ -78,6 +80,8 @@ export interface GetFederatedSettingsIdentityProvidersResult { /** * `mongodbatlas.getFederatedSettingsIdentityProviders` provides an Federated Settings Identity Providers datasource. Atlas Cloud Federated Settings Identity Providers provides federated settings outputs for the configured Identity Providers. * + * > **NOTE:** OIDC Workforce IdP is currently in preview. To learn more about OIDC and existing limitations see the [OIDC Authentication Documentation](https://www.mongodb.com/docs/atlas/security-oidc/). + * * ## Example Usage * * ```typescript diff --git a/sdk/nodejs/getOrganization.ts b/sdk/nodejs/getOrganization.ts index e7edfc9c..a6f0a2e5 100644 --- a/sdk/nodejs/getOrganization.ts +++ b/sdk/nodejs/getOrganization.ts @@ -42,6 +42,10 @@ export interface GetOrganizationArgs { * A collection of values returned by getOrganization. */ export interface GetOrganizationResult { + /** + * (Optional) Flag that indicates whether to require API operations to originate from an IP Address added to the API access list for the specified organization. + */ + readonly apiAccessListRequired: boolean; /** * The provider-assigned unique ID for this managed resource. */ @@ -51,11 +55,19 @@ export interface GetOrganizationResult { */ readonly isDeleted: boolean; readonly links: outputs.GetOrganizationLink[]; + /** + * (Optional) Flag that indicates whether to require users to set up Multi-Factor Authentication (MFA) before accessing the specified organization. To learn more, see: https://www.mongodb.com/docs/atlas/security-multi-factor-authentication/. + */ + readonly multiFactorAuthRequired: boolean; /** * Human-readable label that identifies the organization. */ readonly name: string; readonly orgId: string; + /** + * (Optional) Flag that indicates whether to block MongoDB Support from accessing Atlas infrastructure for any deployment in the specified organization without explicit permission. Once this setting is turned on, you can grant MongoDB Support a 24-hour bypass access to the Atlas deployment to resolve support issues. To learn more, see: https://www.mongodb.com/docs/atlas/security-restrict-support-access/. + */ + readonly restrictEmployeeAccess: boolean; } /** * `mongodbatlas.Organization` describe all MongoDB Atlas Organizations. This represents organizations that have been created. diff --git a/sdk/nodejs/getOrganizations.ts b/sdk/nodejs/getOrganizations.ts index ffb24fbc..74417b8a 100644 --- a/sdk/nodejs/getOrganizations.ts +++ b/sdk/nodejs/getOrganizations.ts @@ -37,6 +37,9 @@ export function getOrganizations(args?: GetOrganizationsArgs, opts?: pulumi.Invo * A collection of arguments for invoking getOrganizations. */ export interface GetOrganizationsArgs { + /** + * @deprecated this parameter is deprecated and will be removed in version 1.16.0 + */ includeDeletedOrgs?: boolean; /** * Number of items to return per page, up to a maximum of 500. Defaults to `100`. @@ -60,6 +63,9 @@ export interface GetOrganizationsResult { * The provider-assigned unique ID for this managed resource. */ readonly id: string; + /** + * @deprecated this parameter is deprecated and will be removed in version 1.16.0 + */ readonly includeDeletedOrgs?: boolean; readonly itemsPerPage?: number; readonly name?: string; @@ -90,6 +96,9 @@ export function getOrganizationsOutput(args?: GetOrganizationsOutputArgs, opts?: * A collection of arguments for invoking getOrganizations. */ export interface GetOrganizationsOutputArgs { + /** + * @deprecated this parameter is deprecated and will be removed in version 1.16.0 + */ includeDeletedOrgs?: pulumi.Input; /** * Number of items to return per page, up to a maximum of 500. Defaults to `100`. diff --git a/sdk/nodejs/getProject.ts b/sdk/nodejs/getProject.ts index 736ae112..8bbe7491 100644 --- a/sdk/nodejs/getProject.ts +++ b/sdk/nodejs/getProject.ts @@ -49,16 +49,13 @@ export interface GetProjectResult { readonly clusterCount: number; /** * The ISO-8601-formatted timestamp of when Atlas created the project. - * * `teams.#.team_id` - The unique identifier of the team you want to associate with the project. The team and project must share the same parent organization. - * * `teams.#.role_names` - Each string in the array represents a project role assigned to the team. Every user associated with the team inherits these roles. The [MongoDB Documentation](https://www.mongodb.com/docs/atlas/reference/user-roles/#organization-roles) describes the roles a user can have. - * * `limits.#.name` - Human-readable label that identifies this project limit. - * * `limits.#.value` - Amount the limit is set to. - * * `limits.#.current_usage` - Amount that indicates the current usage of the limit. - * * `limits.#.default_limit` - Default value of the limit. - * * `limits.#.maximum_limit` - Maximum value of the limit. */ readonly created: string; readonly id: string; + /** + * IP addresses in a project categorized by services. See IP Addresses. + */ + readonly ipAddresses: outputs.GetProjectIpAddresses; /** * Flag that indicates whether to enable statistics in [cluster metrics](https://www.mongodb.com/docs/atlas/monitor-cluster-metrics/) collection for the project. */ @@ -83,9 +80,12 @@ export interface GetProjectResult { * Flag that indicates whether to enable Schema Advisor for the project. If enabled, you receive customized recommendations to optimize your data model and enhance performance. Disable this setting to disable schema suggestions in the [Performance Advisor](https://www.mongodb.com/docs/atlas/performance-advisor/#std-label-performance-advisor) and the [Data Explorer](https://www.mongodb.com/docs/atlas/atlas-ui/#std-label-atlas-ui). */ readonly isSchemaAdvisorEnabled: boolean; + /** + * The limits for the specified project. See Limits. + */ readonly limits: outputs.GetProjectLimit[]; /** - * The name of the project you want to create. + * Human-readable label that identifies this project limit. */ readonly name?: string; /** @@ -97,6 +97,9 @@ export interface GetProjectResult { * If GOV_REGIONS_ONLY the project can be used for government regions only, otherwise defaults to standard regions. For more information see [MongoDB Atlas for Government](https://www.mongodb.com/docs/atlas/government/api/#creating-a-project). */ readonly regionUsageRestrictions: string; + /** + * Returns all teams to which the authenticated user has access in the project. See Teams. + */ readonly teams: outputs.GetProjectTeam[]; } /** diff --git a/sdk/nodejs/getSearchDeployment.ts b/sdk/nodejs/getSearchDeployment.ts index 344c5d3e..76937dfe 100644 --- a/sdk/nodejs/getSearchDeployment.ts +++ b/sdk/nodejs/getSearchDeployment.ts @@ -10,16 +10,6 @@ import * as utilities from "./utilities"; * `mongodbatlas.SearchDeployment` describes a search node deployment. * * ## Example Usage - * - * ```typescript - * import * as pulumi from "@pulumi/pulumi"; - * import * as mongodbatlas from "@pulumi/mongodbatlas"; - * - * const test = mongodbatlas.getSearchDeployment({ - * clusterName: "", - * projectId: "", - * }); - * ``` */ export function getSearchDeployment(args: GetSearchDeploymentArgs, opts?: pulumi.InvokeOptions): Promise { @@ -35,11 +25,11 @@ export function getSearchDeployment(args: GetSearchDeploymentArgs, opts?: pulumi */ export interface GetSearchDeploymentArgs { /** - * The name of the cluster containing a search node deployment. + * Label that identifies the cluster to return the search nodes for. */ clusterName: string; /** - * The unique identifier for the [project](https://docs.atlas.mongodb.com/organizations-projects/#std-label-projects) that contains the specified cluster. + * Unique 24-hexadecimal digit string that identifies your project. */ projectId: string; } @@ -48,15 +38,24 @@ export interface GetSearchDeploymentArgs { * A collection of values returned by getSearchDeployment. */ export interface GetSearchDeploymentResult { + /** + * Label that identifies the cluster to return the search nodes for. + */ readonly clusterName: string; + /** + * Unique 24-hexadecimal digit string that identifies the search deployment. + */ readonly id: string; + /** + * Unique 24-hexadecimal digit string that identifies your project. + */ readonly projectId: string; /** - * List of settings that configure the search nodes for your cluster. See specs. + * List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. */ readonly specs: outputs.GetSearchDeploymentSpec[]; /** - * Human-readable label that indicates the current operating condition of this search node deployment. + * Human-readable label that indicates the current operating condition of this search deployment. */ readonly stateName: string; } @@ -64,16 +63,6 @@ export interface GetSearchDeploymentResult { * `mongodbatlas.SearchDeployment` describes a search node deployment. * * ## Example Usage - * - * ```typescript - * import * as pulumi from "@pulumi/pulumi"; - * import * as mongodbatlas from "@pulumi/mongodbatlas"; - * - * const test = mongodbatlas.getSearchDeployment({ - * clusterName: "", - * projectId: "", - * }); - * ``` */ export function getSearchDeploymentOutput(args: GetSearchDeploymentOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { return pulumi.output(args).apply((a: any) => getSearchDeployment(a, opts)) @@ -84,11 +73,11 @@ export function getSearchDeploymentOutput(args: GetSearchDeploymentOutputArgs, o */ export interface GetSearchDeploymentOutputArgs { /** - * The name of the cluster containing a search node deployment. + * Label that identifies the cluster to return the search nodes for. */ clusterName: pulumi.Input; /** - * The unique identifier for the [project](https://docs.atlas.mongodb.com/organizations-projects/#std-label-projects) that contains the specified cluster. + * Unique 24-hexadecimal digit string that identifies your project. */ projectId: pulumi.Input; } diff --git a/sdk/nodejs/getSearchIndex.ts b/sdk/nodejs/getSearchIndex.ts index 1d0cbb12..98e8ca5a 100644 --- a/sdk/nodejs/getSearchIndex.ts +++ b/sdk/nodejs/getSearchIndex.ts @@ -40,7 +40,6 @@ export function getSearchIndex(args: GetSearchIndexArgs, opts?: pulumi.InvokeOpt "name": args.name, "projectId": args.projectId, "searchAnalyzer": args.searchAnalyzer, - "status": args.status, "type": args.type, }, opts); } @@ -94,7 +93,6 @@ export interface GetSearchIndexArgs { * [Analyzer](https://docs.atlas.mongodb.com/reference/atlas-search/analyzers/#std-label-analyzers-ref) to use when searching the index. */ searchAnalyzer?: string; - status?: string; type?: string; } @@ -142,6 +140,9 @@ export interface GetSearchIndexResult { * [Analyzer](https://docs.atlas.mongodb.com/reference/atlas-search/analyzers/#std-label-analyzers-ref) to use when searching the index. */ readonly searchAnalyzer?: string; + /** + * Current status of the index. + */ readonly status: string; /** * Synonyms mapping definition to use in this index. @@ -223,6 +224,5 @@ export interface GetSearchIndexOutputArgs { * [Analyzer](https://docs.atlas.mongodb.com/reference/atlas-search/analyzers/#std-label-analyzers-ref) to use when searching the index. */ searchAnalyzer?: pulumi.Input; - status?: pulumi.Input; type?: pulumi.Input; } diff --git a/sdk/nodejs/getSearchIndexes.ts b/sdk/nodejs/getSearchIndexes.ts index af85be34..256a848d 100644 --- a/sdk/nodejs/getSearchIndexes.ts +++ b/sdk/nodejs/getSearchIndexes.ts @@ -18,8 +18,6 @@ export function getSearchIndexes(args: GetSearchIndexesArgs, opts?: pulumi.Invok "clusterName": args.clusterName, "collectionName": args.collectionName, "database": args.database, - "itemsPerPage": args.itemsPerPage, - "pageNum": args.pageNum, "projectId": args.projectId, }, opts); } @@ -40,18 +38,6 @@ export interface GetSearchIndexesArgs { * (Required) Name of the database the collection is in. */ database: string; - /** - * Number of items that Atlas returns per page, up to a maximum of 500. **WARNING:** this parameter is deprecated and will be removed in version 1.15.0 - * - * @deprecated this parameter is deprecated and will be removed in version 1.15.0 - */ - itemsPerPage?: number; - /** - * Page number, starting with one, that Atlas returns of the total number of objects. **WARNING:** this parameter is deprecated and will be removed in version 1.15.0 - * - * @deprecated this parameter is deprecated and will be removed in version 1.15.0 - */ - pageNum?: number; /** * Unique identifier for the [project](https://docs.atlas.mongodb.com/organizations-projects/#std-label-projects) that contains the specified cluster. */ @@ -75,14 +61,6 @@ export interface GetSearchIndexesResult { * The provider-assigned unique ID for this managed resource. */ readonly id: string; - /** - * @deprecated this parameter is deprecated and will be removed in version 1.15.0 - */ - readonly itemsPerPage?: number; - /** - * @deprecated this parameter is deprecated and will be removed in version 1.15.0 - */ - readonly pageNum?: number; readonly projectId: string; /** * A list where each represents a search index. @@ -118,18 +96,6 @@ export interface GetSearchIndexesOutputArgs { * (Required) Name of the database the collection is in. */ database: pulumi.Input; - /** - * Number of items that Atlas returns per page, up to a maximum of 500. **WARNING:** this parameter is deprecated and will be removed in version 1.15.0 - * - * @deprecated this parameter is deprecated and will be removed in version 1.15.0 - */ - itemsPerPage?: pulumi.Input; - /** - * Page number, starting with one, that Atlas returns of the total number of objects. **WARNING:** this parameter is deprecated and will be removed in version 1.15.0 - * - * @deprecated this parameter is deprecated and will be removed in version 1.15.0 - */ - pageNum?: pulumi.Input; /** * Unique identifier for the [project](https://docs.atlas.mongodb.com/organizations-projects/#std-label-projects) that contains the specified cluster. */ diff --git a/sdk/nodejs/index.ts b/sdk/nodejs/index.ts index ace0d52f..846092c6 100644 --- a/sdk/nodejs/index.ts +++ b/sdk/nodejs/index.ts @@ -60,11 +60,6 @@ export type CloudBackupSnapshotRestoreJob = import("./cloudBackupSnapshotRestore export const CloudBackupSnapshotRestoreJob: typeof import("./cloudBackupSnapshotRestoreJob").CloudBackupSnapshotRestoreJob = null as any; utilities.lazyLoad(exports, ["CloudBackupSnapshotRestoreJob"], () => require("./cloudBackupSnapshotRestoreJob")); -export { CloudProviderAccessArgs, CloudProviderAccessState } from "./cloudProviderAccess"; -export type CloudProviderAccess = import("./cloudProviderAccess").CloudProviderAccess; -export const CloudProviderAccess: typeof import("./cloudProviderAccess").CloudProviderAccess = null as any; -utilities.lazyLoad(exports, ["CloudProviderAccess"], () => require("./cloudProviderAccess")); - export { CloudProviderAccessAuthorizationArgs, CloudProviderAccessAuthorizationState } from "./cloudProviderAccessAuthorization"; export type CloudProviderAccessAuthorization = import("./cloudProviderAccessAuthorization").CloudProviderAccessAuthorization; export const CloudProviderAccessAuthorization: typeof import("./cloudProviderAccessAuthorization").CloudProviderAccessAuthorization = null as any; @@ -250,11 +245,6 @@ export const getCloudBackupSnapshots: typeof import("./getCloudBackupSnapshots") export const getCloudBackupSnapshotsOutput: typeof import("./getCloudBackupSnapshots").getCloudBackupSnapshotsOutput = null as any; utilities.lazyLoad(exports, ["getCloudBackupSnapshots","getCloudBackupSnapshotsOutput"], () => require("./getCloudBackupSnapshots")); -export { GetCloudProviderAccessArgs, GetCloudProviderAccessResult, GetCloudProviderAccessOutputArgs } from "./getCloudProviderAccess"; -export const getCloudProviderAccess: typeof import("./getCloudProviderAccess").getCloudProviderAccess = null as any; -export const getCloudProviderAccessOutput: typeof import("./getCloudProviderAccess").getCloudProviderAccessOutput = null as any; -utilities.lazyLoad(exports, ["getCloudProviderAccess","getCloudProviderAccessOutput"], () => require("./getCloudProviderAccess")); - export { GetCloudProviderAccessSetupArgs, GetCloudProviderAccessSetupResult, GetCloudProviderAccessSetupOutputArgs } from "./getCloudProviderAccessSetup"; export const getCloudProviderAccessSetup: typeof import("./getCloudProviderAccessSetup").getCloudProviderAccessSetup = null as any; export const getCloudProviderAccessSetupOutput: typeof import("./getCloudProviderAccessSetup").getCloudProviderAccessSetupOutput = null as any; @@ -761,8 +751,6 @@ const _module = { return new CloudBackupSnapshotExportJob(name, undefined, { urn }) case "mongodbatlas:index/cloudBackupSnapshotRestoreJob:CloudBackupSnapshotRestoreJob": return new CloudBackupSnapshotRestoreJob(name, undefined, { urn }) - case "mongodbatlas:index/cloudProviderAccess:CloudProviderAccess": - return new CloudProviderAccess(name, undefined, { urn }) case "mongodbatlas:index/cloudProviderAccessAuthorization:CloudProviderAccessAuthorization": return new CloudProviderAccessAuthorization(name, undefined, { urn }) case "mongodbatlas:index/cloudProviderAccessSetup:CloudProviderAccessSetup": @@ -861,7 +849,6 @@ pulumi.runtime.registerResourceModule("mongodbatlas", "index/cloudBackupSnapshot pulumi.runtime.registerResourceModule("mongodbatlas", "index/cloudBackupSnapshotExportBucket", _module) pulumi.runtime.registerResourceModule("mongodbatlas", "index/cloudBackupSnapshotExportJob", _module) pulumi.runtime.registerResourceModule("mongodbatlas", "index/cloudBackupSnapshotRestoreJob", _module) -pulumi.runtime.registerResourceModule("mongodbatlas", "index/cloudProviderAccess", _module) pulumi.runtime.registerResourceModule("mongodbatlas", "index/cloudProviderAccessAuthorization", _module) pulumi.runtime.registerResourceModule("mongodbatlas", "index/cloudProviderAccessSetup", _module) pulumi.runtime.registerResourceModule("mongodbatlas", "index/cluster", _module) diff --git a/sdk/nodejs/networkContainer.ts b/sdk/nodejs/networkContainer.ts index 58403248..10e53d94 100644 --- a/sdk/nodejs/networkContainer.ts +++ b/sdk/nodejs/networkContainer.ts @@ -5,7 +5,7 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "./utilities"; /** - * `mongodbatlas.NetworkContainer` provides a Network Peering Container resource. The resource lets you create, edit and delete network peering containers. The resource requires your Project ID. Each cloud provider requires slightly different attributes so read the argument reference carefully. + * `mongodbatlas.NetworkContainer` provides a Network Peering Container resource. The resource lets you create, edit and delete network peering containers. You must delete network peering containers before creating clusters in your project. You can't delete a network peering container if your project contains clusters. The resource requires your Project ID. Each cloud provider requires slightly different attributes so read the argument reference carefully. * * Network peering container is a general term used to describe any cloud providers' VPC/VNet concept. Containers only need to be created if the peering connection to the cloud provider will be created before the first cluster that requires the container. If the cluster has been/will be created first Atlas automatically creates the required container per the "containers per cloud provider" information that follows (in this case you can obtain the container id from the cluster resource attribute `containerId`). * diff --git a/sdk/nodejs/organization.ts b/sdk/nodejs/organization.ts index 8c0403de..9a5e98a8 100644 --- a/sdk/nodejs/organization.ts +++ b/sdk/nodejs/organization.ts @@ -7,7 +7,11 @@ import * as utilities from "./utilities"; /** * `mongodbatlas.Organization` provides programmatic management (including creation) of a MongoDB Atlas Organization resource. * - * > **IMPORTANT NOTE:** When you establish an Atlas organization using this resource, it automatically generates a set of initial public and private Programmatic API Keys. These key values are vital to store because you'll need to use them to grant access to the newly created Atlas organization. + * > **IMPORTANT NOTE:** When you establish an Atlas organization using this resource, it automatically generates a set of initial public and private Programmatic API Keys. These key values are vital to store because you'll need to use them to grant access to the newly created Atlas organization. To use this resource, `roleNames` for new API Key must have the ORG_OWNER role specified. + * + * > **IMPORTANT NOTE:** To use this resource, the requesting API Key must have the Organization Owner role. The requesting API Key's organization must be a paying organization. To learn more, see Configure a Paying Organization in the MongoDB Atlas documentation. + * + * > **NOTE** Import command is currently not supported for this resource. * * ## Example Usage * @@ -21,17 +25,6 @@ import * as utilities from "./utilities"; * roleNames: ["ORG_OWNER"], * }); * ``` - * - * ## Import - * - * Organization must be imported using organization ID, e.g. - * - * ```sh - * $ pulumi import mongodbatlas:index/organization:Organization my_org 5d09d6a59ccf6445652a444a - * ``` - * For more information see[MongoDB Atlas Admin API Organization](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Organizations/operation/createOrganization) - * - * Documentation for more information. */ export class Organization extends pulumi.CustomResource { /** @@ -61,11 +54,19 @@ export class Organization extends pulumi.CustomResource { return obj['__pulumiType'] === Organization.__pulumiType; } + /** + * Flag that indicates whether to require API operations to originate from an IP Address added to the API access list for the specified organization. + */ + public readonly apiAccessListRequired!: pulumi.Output; public readonly description!: pulumi.Output; /** - * (Optional) Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation. + * Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation. */ public readonly federationSettingsId!: pulumi.Output; + /** + * Flag that indicates whether to require users to set up Multi-Factor Authentication (MFA) before accessing the specified organization. To learn more, see: https://www.mongodb.com/docs/atlas/security-multi-factor-authentication/. + */ + public readonly multiFactorAuthRequired!: pulumi.Output; /** * The name of the organization you want to create. (Cannot be changed via this Provider after creation.) */ @@ -83,6 +84,10 @@ export class Organization extends pulumi.CustomResource { * Public API key value set for the specified organization API key. */ public /*out*/ readonly publicKey!: pulumi.Output; + /** + * Flag that indicates whether to block MongoDB Support from accessing Atlas infrastructure for any deployment in the specified organization without explicit permission. Once this setting is turned on, you can grant MongoDB Support a 24-hour bypass access to the Atlas deployment to resolve support issues. To learn more, see: https://www.mongodb.com/docs/atlas/security-restrict-support-access/. + */ + public readonly restrictEmployeeAccess!: pulumi.Output; /** * List of Organization roles that the Programmatic API key needs to have. Ensure that you provide at least one role and ensure all roles are valid for the Organization. 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/#organization-roles) describes the roles that you can assign to a Programmatic API key. */ @@ -101,13 +106,16 @@ export class Organization extends pulumi.CustomResource { opts = opts || {}; if (opts.id) { const state = argsOrState as OrganizationState | undefined; + resourceInputs["apiAccessListRequired"] = state ? state.apiAccessListRequired : undefined; resourceInputs["description"] = state ? state.description : undefined; resourceInputs["federationSettingsId"] = state ? state.federationSettingsId : undefined; + resourceInputs["multiFactorAuthRequired"] = state ? state.multiFactorAuthRequired : undefined; resourceInputs["name"] = state ? state.name : undefined; resourceInputs["orgId"] = state ? state.orgId : undefined; resourceInputs["orgOwnerId"] = state ? state.orgOwnerId : undefined; resourceInputs["privateKey"] = state ? state.privateKey : undefined; resourceInputs["publicKey"] = state ? state.publicKey : undefined; + resourceInputs["restrictEmployeeAccess"] = state ? state.restrictEmployeeAccess : undefined; resourceInputs["roleNames"] = state ? state.roleNames : undefined; } else { const args = argsOrState as OrganizationArgs | undefined; @@ -120,10 +128,13 @@ export class Organization extends pulumi.CustomResource { if ((!args || args.roleNames === undefined) && !opts.urn) { throw new Error("Missing required property 'roleNames'"); } + resourceInputs["apiAccessListRequired"] = args ? args.apiAccessListRequired : undefined; resourceInputs["description"] = args ? args.description : undefined; resourceInputs["federationSettingsId"] = args ? args.federationSettingsId : undefined; + resourceInputs["multiFactorAuthRequired"] = args ? args.multiFactorAuthRequired : undefined; resourceInputs["name"] = args ? args.name : undefined; resourceInputs["orgOwnerId"] = args ? args.orgOwnerId : undefined; + resourceInputs["restrictEmployeeAccess"] = args ? args.restrictEmployeeAccess : undefined; resourceInputs["roleNames"] = args ? args.roleNames : undefined; resourceInputs["orgId"] = undefined /*out*/; resourceInputs["privateKey"] = undefined /*out*/; @@ -140,11 +151,19 @@ export class Organization extends pulumi.CustomResource { * Input properties used for looking up and filtering Organization resources. */ export interface OrganizationState { + /** + * Flag that indicates whether to require API operations to originate from an IP Address added to the API access list for the specified organization. + */ + apiAccessListRequired?: pulumi.Input; description?: pulumi.Input; /** - * (Optional) Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation. + * Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation. */ federationSettingsId?: pulumi.Input; + /** + * Flag that indicates whether to require users to set up Multi-Factor Authentication (MFA) before accessing the specified organization. To learn more, see: https://www.mongodb.com/docs/atlas/security-multi-factor-authentication/. + */ + multiFactorAuthRequired?: pulumi.Input; /** * The name of the organization you want to create. (Cannot be changed via this Provider after creation.) */ @@ -162,6 +181,10 @@ export interface OrganizationState { * Public API key value set for the specified organization API key. */ publicKey?: pulumi.Input; + /** + * Flag that indicates whether to block MongoDB Support from accessing Atlas infrastructure for any deployment in the specified organization without explicit permission. Once this setting is turned on, you can grant MongoDB Support a 24-hour bypass access to the Atlas deployment to resolve support issues. To learn more, see: https://www.mongodb.com/docs/atlas/security-restrict-support-access/. + */ + restrictEmployeeAccess?: pulumi.Input; /** * List of Organization roles that the Programmatic API key needs to have. Ensure that you provide at least one role and ensure all roles are valid for the Organization. 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/#organization-roles) describes the roles that you can assign to a Programmatic API key. */ @@ -172,11 +195,19 @@ export interface OrganizationState { * The set of arguments for constructing a Organization resource. */ export interface OrganizationArgs { + /** + * Flag that indicates whether to require API operations to originate from an IP Address added to the API access list for the specified organization. + */ + apiAccessListRequired?: pulumi.Input; description: pulumi.Input; /** - * (Optional) Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation. + * Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation. */ federationSettingsId?: pulumi.Input; + /** + * Flag that indicates whether to require users to set up Multi-Factor Authentication (MFA) before accessing the specified organization. To learn more, see: https://www.mongodb.com/docs/atlas/security-multi-factor-authentication/. + */ + multiFactorAuthRequired?: pulumi.Input; /** * The name of the organization you want to create. (Cannot be changed via this Provider after creation.) */ @@ -185,6 +216,10 @@ export interface OrganizationArgs { * Unique 24-hexadecimal digit string that identifies the Atlas user that you want to assign the Organization Owner role. This user must be a member of the same organization as the calling API key. This is only required when authenticating with Programmatic API Keys. [MongoDB Atlas Admin API - Get User By Username](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/MongoDB-Cloud-Users/operation/getUserByUsername) */ orgOwnerId: pulumi.Input; + /** + * Flag that indicates whether to block MongoDB Support from accessing Atlas infrastructure for any deployment in the specified organization without explicit permission. Once this setting is turned on, you can grant MongoDB Support a 24-hour bypass access to the Atlas deployment to resolve support issues. To learn more, see: https://www.mongodb.com/docs/atlas/security-restrict-support-access/. + */ + restrictEmployeeAccess?: pulumi.Input; /** * List of Organization roles that the Programmatic API key needs to have. Ensure that you provide at least one role and ensure all roles are valid for the Organization. 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/#organization-roles) describes the roles that you can assign to a Programmatic API key. */ diff --git a/sdk/nodejs/project.ts b/sdk/nodejs/project.ts index 21644e75..39f645c8 100644 --- a/sdk/nodejs/project.ts +++ b/sdk/nodejs/project.ts @@ -91,13 +91,17 @@ export class Project extends pulumi.CustomResource { } /** - * The number of Atlas clusters deployed in the project.. + * The number of Atlas clusters deployed in the project. */ public /*out*/ readonly clusterCount!: pulumi.Output; /** - * The ISO-8601-formatted timestamp of when Atlas created the project.. + * The ISO-8601-formatted timestamp of when Atlas created the project. */ public /*out*/ readonly created!: pulumi.Output; + /** + * IP addresses in a project categorized by services. See IP Addresses. + */ + public /*out*/ readonly ipAddresses!: pulumi.Output; /** * Flag that indicates whether to enable statistics in [cluster metrics](https://www.mongodb.com/docs/atlas/monitor-cluster-metrics/) collection for the project. By default, this flag is set to true. */ @@ -160,6 +164,7 @@ export class Project extends pulumi.CustomResource { const state = argsOrState as ProjectState | undefined; resourceInputs["clusterCount"] = state ? state.clusterCount : undefined; resourceInputs["created"] = state ? state.created : undefined; + resourceInputs["ipAddresses"] = state ? state.ipAddresses : undefined; resourceInputs["isCollectDatabaseSpecificsStatisticsEnabled"] = state ? state.isCollectDatabaseSpecificsStatisticsEnabled : undefined; resourceInputs["isDataExplorerEnabled"] = state ? state.isDataExplorerEnabled : undefined; resourceInputs["isExtendedStorageSizesEnabled"] = state ? state.isExtendedStorageSizesEnabled : undefined; @@ -193,6 +198,7 @@ export class Project extends pulumi.CustomResource { resourceInputs["withDefaultAlertsSettings"] = args ? args.withDefaultAlertsSettings : undefined; resourceInputs["clusterCount"] = undefined /*out*/; resourceInputs["created"] = undefined /*out*/; + resourceInputs["ipAddresses"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(Project.__pulumiType, name, resourceInputs, opts); @@ -204,13 +210,17 @@ export class Project extends pulumi.CustomResource { */ export interface ProjectState { /** - * The number of Atlas clusters deployed in the project.. + * The number of Atlas clusters deployed in the project. */ clusterCount?: pulumi.Input; /** - * The ISO-8601-formatted timestamp of when Atlas created the project.. + * The ISO-8601-formatted timestamp of when Atlas created the project. */ created?: pulumi.Input; + /** + * IP addresses in a project categorized by services. See IP Addresses. + */ + ipAddresses?: pulumi.Input; /** * Flag that indicates whether to enable statistics in [cluster metrics](https://www.mongodb.com/docs/atlas/monitor-cluster-metrics/) collection for the project. By default, this flag is set to true. */ diff --git a/sdk/nodejs/searchDeployment.ts b/sdk/nodejs/searchDeployment.ts index 325b48e0..25325d8f 100644 --- a/sdk/nodejs/searchDeployment.ts +++ b/sdk/nodejs/searchDeployment.ts @@ -13,14 +13,7 @@ import * as utilities from "./utilities"; * * > **NOTE:** Only a single search deployment resource can be defined for each cluster. * - * ## Import - * - * Search node resource can be imported using the project ID and cluster name, in the format `PROJECT_ID-CLUSTER_NAME`, e.g. - * - * ```sh - * $ pulumi import mongodbatlas:index/searchDeployment:SearchDeployment test 650972848269185c55f40ca1-Cluster0 - * ``` - * For more information see[MongoDB Atlas API - Search Node](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Atlas-Search/operation/createAtlasSearchDeployment) Documentation. + * ## Example Usage */ export class SearchDeployment extends pulumi.CustomResource { /** @@ -51,24 +44,21 @@ export class SearchDeployment extends pulumi.CustomResource { } /** - * Label that identifies the cluster to create search nodes for. + * Label that identifies the cluster to return the search nodes for. */ public readonly clusterName!: pulumi.Output; /** - * Unique 24-hexadecimal digit string that identifies your project. + * Unique 24-hexadecimal character string that identifies the project. */ public readonly projectId!: pulumi.Output; /** - * List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. See specs. + * List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. */ public readonly specs!: pulumi.Output; /** - * Human-readable label that indicates the current operating condition of this search node deployment. + * Human-readable label that indicates the current operating condition of this search deployment. */ public /*out*/ readonly stateName!: pulumi.Output; - /** - * The time to wait for search nodes to be created, updated, or deleted. The timeout value is defined by a signed sequence of decimal numbers with a time unit suffix such as: `1h45m`, `300s`, `10m`, .... The valid time units are: `ns`, `us` (or `µs`), `ms`, `s`, `m`, `h`. The attribute must be defined with nested attributes. - */ public readonly timeouts!: pulumi.Output; /** @@ -116,24 +106,21 @@ export class SearchDeployment extends pulumi.CustomResource { */ export interface SearchDeploymentState { /** - * Label that identifies the cluster to create search nodes for. + * Label that identifies the cluster to return the search nodes for. */ clusterName?: pulumi.Input; /** - * Unique 24-hexadecimal digit string that identifies your project. + * Unique 24-hexadecimal character string that identifies the project. */ projectId?: pulumi.Input; /** - * List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. See specs. + * List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. */ specs?: pulumi.Input[]>; /** - * Human-readable label that indicates the current operating condition of this search node deployment. + * Human-readable label that indicates the current operating condition of this search deployment. */ stateName?: pulumi.Input; - /** - * The time to wait for search nodes to be created, updated, or deleted. The timeout value is defined by a signed sequence of decimal numbers with a time unit suffix such as: `1h45m`, `300s`, `10m`, .... The valid time units are: `ns`, `us` (or `µs`), `ms`, `s`, `m`, `h`. The attribute must be defined with nested attributes. - */ timeouts?: pulumi.Input; } @@ -142,19 +129,16 @@ export interface SearchDeploymentState { */ export interface SearchDeploymentArgs { /** - * Label that identifies the cluster to create search nodes for. + * Label that identifies the cluster to return the search nodes for. */ clusterName: pulumi.Input; /** - * Unique 24-hexadecimal digit string that identifies your project. + * Unique 24-hexadecimal character string that identifies the project. */ projectId: pulumi.Input; /** - * List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. See specs. + * List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. */ specs: pulumi.Input[]>; - /** - * The time to wait for search nodes to be created, updated, or deleted. The timeout value is defined by a signed sequence of decimal numbers with a time unit suffix such as: `1h45m`, `300s`, `10m`, .... The valid time units are: `ns`, `us` (or `µs`), `ms`, `s`, `m`, `h`. The attribute must be defined with nested attributes. - */ timeouts?: pulumi.Input; } diff --git a/sdk/nodejs/searchIndex.ts b/sdk/nodejs/searchIndex.ts index 22b67e4d..b11d279e 100644 --- a/sdk/nodejs/searchIndex.ts +++ b/sdk/nodejs/searchIndex.ts @@ -188,7 +188,10 @@ export class SearchIndex extends pulumi.CustomResource { * [Analyzer](https://docs.atlas.mongodb.com/reference/atlas-search/analyzers/#std-label-analyzers-ref) to use when searching the index. Defaults to [lucene.standard](https://docs.atlas.mongodb.com/reference/atlas-search/analyzers/standard/#std-label-ref-standard-analyzer) */ public readonly searchAnalyzer!: pulumi.Output; - public readonly status!: pulumi.Output; + /** + * Current status of the index. + */ + public /*out*/ readonly status!: pulumi.Output; /** * Synonyms mapping definition to use in this index. */ @@ -253,11 +256,11 @@ export class SearchIndex extends pulumi.CustomResource { resourceInputs["name"] = args ? args.name : undefined; resourceInputs["projectId"] = args ? args.projectId : undefined; resourceInputs["searchAnalyzer"] = args ? args.searchAnalyzer : undefined; - resourceInputs["status"] = args ? args.status : undefined; resourceInputs["synonyms"] = args ? args.synonyms : undefined; resourceInputs["type"] = args ? args.type : undefined; resourceInputs["waitForIndexBuildCompletion"] = args ? args.waitForIndexBuildCompletion : undefined; resourceInputs["indexId"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(SearchIndex.__pulumiType, name, resourceInputs, opts); @@ -313,6 +316,9 @@ export interface SearchIndexState { * [Analyzer](https://docs.atlas.mongodb.com/reference/atlas-search/analyzers/#std-label-analyzers-ref) to use when searching the index. Defaults to [lucene.standard](https://docs.atlas.mongodb.com/reference/atlas-search/analyzers/standard/#std-label-ref-standard-analyzer) */ searchAnalyzer?: pulumi.Input; + /** + * Current status of the index. + */ status?: pulumi.Input; /** * Synonyms mapping definition to use in this index. @@ -373,7 +379,6 @@ export interface SearchIndexArgs { * [Analyzer](https://docs.atlas.mongodb.com/reference/atlas-search/analyzers/#std-label-analyzers-ref) to use when searching the index. Defaults to [lucene.standard](https://docs.atlas.mongodb.com/reference/atlas-search/analyzers/standard/#std-label-ref-standard-analyzer) */ searchAnalyzer?: pulumi.Input; - status?: pulumi.Input; /** * Synonyms mapping definition to use in this index. */ diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index 6e7f10bf..e1378e00 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -24,7 +24,6 @@ "cloudBackupSnapshotExportBucket.ts", "cloudBackupSnapshotExportJob.ts", "cloudBackupSnapshotRestoreJob.ts", - "cloudProviderAccess.ts", "cloudProviderAccessAuthorization.ts", "cloudProviderAccessSetup.ts", "cluster.ts", @@ -64,7 +63,6 @@ "getCloudBackupSnapshotRestoreJob.ts", "getCloudBackupSnapshotRestoreJobs.ts", "getCloudBackupSnapshots.ts", - "getCloudProviderAccess.ts", "getCloudProviderAccessSetup.ts", "getCluster.ts", "getClusterOutageSimulation.ts", diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index 4ff8ad38..97f7dc53 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -349,7 +349,7 @@ export interface AlertConfigurationNotification { */ datadogApiKey?: pulumi.Input; /** - * Region that indicates which API URL to use. Accepted regions are: `US`, `EU`. The default Datadog region is US. + * Region that indicates which API URL to use. See the `datadogRegion` field in the `notifications` request parameter of [MongoDB API Alert Configuration documentation](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/v2/#tag/Alert-Configurations/operation/createAlertConfiguration) for more details. The default Datadog region is US. */ datadogRegion?: pulumi.Input; /** @@ -773,11 +773,6 @@ export interface CloudProviderAccessAuthorizationFeatureUsage { featureType?: pulumi.Input; } -export interface CloudProviderAccessFeatureUsage { - featureId?: pulumi.Input<{[key: string]: any}>; - featureType?: pulumi.Input; -} - export interface CloudProviderAccessSetupAwsConfig { atlasAssumedRoleExternalId?: pulumi.Input; atlasAwsAccountArn?: pulumi.Input; @@ -1173,7 +1168,7 @@ export interface DatabaseUserRole { */ collectionName?: pulumi.Input; /** - * Database on which the user has the specified role. A role on the `admin` database can include privileges that apply to the other databases. + * Database on which the user has the specified role. A role on the `admin` database can include privileges that apply to the other databases. This field should be set to `admin` for a custom MongoDB role. */ databaseName: pulumi.Input; /** @@ -1208,7 +1203,7 @@ export interface EncryptionAtRestAwsKmsConfig { */ region?: pulumi.Input; /** - * ID of an AWS IAM role authorized to manage an AWS customer master key. To find the ID for an existing IAM role check the `roleId` attribute of the `mongodbatlas.CloudProviderAccess` resource. + * ID of an AWS IAM role authorized to manage an AWS customer master key. To find the ID for an existing IAM role check the `roleId` attribute of the `mongodbatlasCloudProviderAccess` resource. */ roleId?: pulumi.Input; secretAccessKey?: pulumi.Input; @@ -1465,236 +1460,6 @@ export interface GetAlertConfigurationsListOptionArgs { pageNum?: pulumi.Input; } -export interface GetBackupCompliancePolicyOnDemandPolicyItem { - /** - * Desired frequency of the new backup policy item specified by `frequencyType` (monthly in this case). The supported values for weekly policies are - */ - frequencyInterval?: number; - /** - * Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - */ - frequencyType?: string; - /** - * Unique identifier of the backup policy item. - */ - id?: string; - /** - * Scope of the backup policy item: `days`, `weeks`, or `months`. - */ - retentionUnit?: string; - /** - * Value to associate with `retentionUnit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - */ - retentionValue?: number; -} - -export interface GetBackupCompliancePolicyOnDemandPolicyItemArgs { - /** - * Desired frequency of the new backup policy item specified by `frequencyType` (monthly in this case). The supported values for weekly policies are - */ - frequencyInterval?: pulumi.Input; - /** - * Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - */ - frequencyType?: pulumi.Input; - /** - * Unique identifier of the backup policy item. - */ - id?: pulumi.Input; - /** - * Scope of the backup policy item: `days`, `weeks`, or `months`. - */ - retentionUnit?: pulumi.Input; - /** - * Value to associate with `retentionUnit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - */ - retentionValue?: pulumi.Input; -} - -export interface GetBackupCompliancePolicyPolicyItemDaily { - /** - * Desired frequency of the new backup policy item specified by `frequencyType` (monthly in this case). The supported values for weekly policies are - */ - frequencyInterval: number; - /** - * Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - */ - frequencyType?: string; - /** - * Unique identifier of the backup policy item. - */ - id?: string; - /** - * Scope of the backup policy item: `days`, `weeks`, or `months`. - */ - retentionUnit: string; - /** - * Value to associate with `retentionUnit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - */ - retentionValue: number; -} - -export interface GetBackupCompliancePolicyPolicyItemDailyArgs { - /** - * Desired frequency of the new backup policy item specified by `frequencyType` (monthly in this case). The supported values for weekly policies are - */ - frequencyInterval: pulumi.Input; - /** - * Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - */ - frequencyType?: pulumi.Input; - /** - * Unique identifier of the backup policy item. - */ - id?: pulumi.Input; - /** - * Scope of the backup policy item: `days`, `weeks`, or `months`. - */ - retentionUnit: pulumi.Input; - /** - * Value to associate with `retentionUnit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - */ - retentionValue: pulumi.Input; -} - -export interface GetBackupCompliancePolicyPolicyItemHourly { - /** - * Desired frequency of the new backup policy item specified by `frequencyType` (monthly in this case). The supported values for weekly policies are - */ - frequencyInterval: number; - /** - * Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - */ - frequencyType?: string; - /** - * Unique identifier of the backup policy item. - */ - id?: string; - /** - * Scope of the backup policy item: `days`, `weeks`, or `months`. - */ - retentionUnit: string; - /** - * Value to associate with `retentionUnit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - */ - retentionValue: number; -} - -export interface GetBackupCompliancePolicyPolicyItemHourlyArgs { - /** - * Desired frequency of the new backup policy item specified by `frequencyType` (monthly in this case). The supported values for weekly policies are - */ - frequencyInterval: pulumi.Input; - /** - * Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - */ - frequencyType?: pulumi.Input; - /** - * Unique identifier of the backup policy item. - */ - id?: pulumi.Input; - /** - * Scope of the backup policy item: `days`, `weeks`, or `months`. - */ - retentionUnit: pulumi.Input; - /** - * Value to associate with `retentionUnit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - */ - retentionValue: pulumi.Input; -} - -export interface GetBackupCompliancePolicyPolicyItemMonthly { - /** - * Desired frequency of the new backup policy item specified by `frequencyType` (monthly in this case). The supported values for weekly policies are - */ - frequencyInterval: number; - /** - * Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - */ - frequencyType?: string; - /** - * Unique identifier of the backup policy item. - */ - id?: string; - /** - * Scope of the backup policy item: `days`, `weeks`, or `months`. - */ - retentionUnit: string; - /** - * Value to associate with `retentionUnit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - */ - retentionValue: number; -} - -export interface GetBackupCompliancePolicyPolicyItemMonthlyArgs { - /** - * Desired frequency of the new backup policy item specified by `frequencyType` (monthly in this case). The supported values for weekly policies are - */ - frequencyInterval: pulumi.Input; - /** - * Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - */ - frequencyType?: pulumi.Input; - /** - * Unique identifier of the backup policy item. - */ - id?: pulumi.Input; - /** - * Scope of the backup policy item: `days`, `weeks`, or `months`. - */ - retentionUnit: pulumi.Input; - /** - * Value to associate with `retentionUnit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - */ - retentionValue: pulumi.Input; -} - -export interface GetBackupCompliancePolicyPolicyItemWeekly { - /** - * Desired frequency of the new backup policy item specified by `frequencyType` (monthly in this case). The supported values for weekly policies are - */ - frequencyInterval: number; - /** - * Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - */ - frequencyType?: string; - /** - * Unique identifier of the backup policy item. - */ - id?: string; - /** - * Scope of the backup policy item: `days`, `weeks`, or `months`. - */ - retentionUnit: string; - /** - * Value to associate with `retentionUnit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - */ - retentionValue: number; -} - -export interface GetBackupCompliancePolicyPolicyItemWeeklyArgs { - /** - * Desired frequency of the new backup policy item specified by `frequencyType` (monthly in this case). The supported values for weekly policies are - */ - frequencyInterval: pulumi.Input; - /** - * Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - */ - frequencyType?: pulumi.Input; - /** - * Unique identifier of the backup policy item. - */ - id?: pulumi.Input; - /** - * Scope of the backup policy item: `days`, `weeks`, or `months`. - */ - retentionUnit: pulumi.Input; - /** - * Value to associate with `retentionUnit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - */ - retentionValue: pulumi.Input; -} - export interface GetCloudProviderAccessSetupAzureConfig { /** * Azure Active Directory Application ID of Atlas. @@ -2044,6 +1809,20 @@ export interface ProjectIpAccessListTimeouts { read?: pulumi.Input; } +export interface ProjectIpAddresses { + services?: pulumi.Input; +} + +export interface ProjectIpAddressesServices { + clusters?: pulumi.Input[]>; +} + +export interface ProjectIpAddressesServicesCluster { + clusterName?: pulumi.Input; + inbounds?: pulumi.Input[]>; + outbounds?: pulumi.Input[]>; +} + export interface ProjectLimit { currentUsage?: pulumi.Input; defaultLimit?: pulumi.Input; @@ -2146,7 +1925,7 @@ export interface SearchIndexSynonym { */ name: pulumi.Input; /** - * Name of the source MongoDB collection for the synonyms. Documents in this collection must be in the format described in the [Synonyms Source Collection Documents](https://docs.atlas.mongodb.com/reference/atlas-search/synonyms/#std-label-synonyms-coll-spec). + * (Required) Name of the source MongoDB collection for the synonyms. Documents in this collection must be in the format described in the [Synonyms Source Collection Documents](https://docs.atlas.mongodb.com/reference/atlas-search/synonyms/#std-label-synonyms-coll-spec). */ sourceCollection: pulumi.Input; } diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index 23ca822f..56181a80 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -349,7 +349,7 @@ export interface AlertConfigurationNotification { */ datadogApiKey?: string; /** - * Region that indicates which API URL to use. Accepted regions are: `US`, `EU`. The default Datadog region is US. + * Region that indicates which API URL to use. See the `datadogRegion` field in the `notifications` request parameter of [MongoDB API Alert Configuration documentation](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/v2/#tag/Alert-Configurations/operation/createAlertConfiguration) for more details. The default Datadog region is US. */ datadogRegion?: string; /** @@ -773,11 +773,6 @@ export interface CloudProviderAccessAuthorizationFeatureUsage { featureType: string; } -export interface CloudProviderAccessFeatureUsage { - featureId: {[key: string]: any}; - featureType: string; -} - export interface CloudProviderAccessSetupAwsConfig { atlasAssumedRoleExternalId: string; atlasAwsAccountArn: string; @@ -1173,7 +1168,7 @@ export interface DatabaseUserRole { */ collectionName?: string; /** - * Database on which the user has the specified role. A role on the `admin` database can include privileges that apply to the other databases. + * Database on which the user has the specified role. A role on the `admin` database can include privileges that apply to the other databases. This field should be set to `admin` for a custom MongoDB role. */ databaseName: string; /** @@ -1208,7 +1203,7 @@ export interface EncryptionAtRestAwsKmsConfig { */ region?: string; /** - * ID of an AWS IAM role authorized to manage an AWS customer master key. To find the ID for an existing IAM role check the `roleId` attribute of the `mongodbatlas.CloudProviderAccess` resource. + * ID of an AWS IAM role authorized to manage an AWS customer master key. To find the ID for an existing IAM role check the `roleId` attribute of the `mongodbatlasCloudProviderAccess` resource. */ roleId?: string; secretAccessKey?: string; @@ -1320,15 +1315,15 @@ export interface FederatedDatabaseInstanceDataProcessRegion { } export interface FederatedDatabaseInstanceStorageDatabase { - collections?: outputs.FederatedDatabaseInstanceStorageDatabaseCollection[]; + collections: outputs.FederatedDatabaseInstanceStorageDatabaseCollection[]; maxWildcardCollections: number; /** * Name of the Atlas Federated Database Instance. * ### `cloudProviderConfig` - (Optional) Cloud provider linked to this data federated instance. * #### `aws` - (Required) AWS provider of the cloud service where the Federated Database Instance can access the S3 Bucket. Note this parameter is only required if using `cloudProviderConfig` since AWS is currently the only supported Cloud vendor on this feature at this time. */ - name?: string; - views?: outputs.FederatedDatabaseInstanceStorageDatabaseView[]; + name: string; + views: outputs.FederatedDatabaseInstanceStorageDatabaseView[]; } export interface FederatedDatabaseInstanceStorageDatabaseCollection { @@ -1338,21 +1333,21 @@ export interface FederatedDatabaseInstanceStorageDatabaseCollection { * ### `cloudProviderConfig` - (Optional) Cloud provider linked to this data federated instance. * #### `aws` - (Required) AWS provider of the cloud service where the Federated Database Instance can access the S3 Bucket. Note this parameter is only required if using `cloudProviderConfig` since AWS is currently the only supported Cloud vendor on this feature at this time. */ - name?: string; + name: string; } export interface FederatedDatabaseInstanceStorageDatabaseCollectionDataSource { - allowInsecure?: boolean; - collection?: string; - collectionRegex?: string; - database?: string; - databaseRegex?: string; - datasetName?: string; - defaultFormat?: string; - path?: string; - provenanceFieldName?: string; - storeName?: string; - urls?: string[]; + allowInsecure: boolean; + collection: string; + collectionRegex: string; + database: string; + databaseRegex: string; + datasetName: string; + defaultFormat: string; + path: string; + provenanceFieldName: string; + storeName: string; + urls: string[]; } export interface FederatedDatabaseInstanceStorageDatabaseView { @@ -1367,42 +1362,42 @@ export interface FederatedDatabaseInstanceStorageDatabaseView { } export interface FederatedDatabaseInstanceStorageStore { - additionalStorageClasses?: string[]; - allowInsecure?: boolean; - bucket?: string; + additionalStorageClasses: string[]; + allowInsecure: boolean; + bucket: string; /** * @deprecated this parameter is deprecated and will be removed by September 2024 */ - clusterId?: string; - clusterName?: string; - defaultFormat?: string; - delimiter?: string; - includeTags?: boolean; + clusterId: string; + clusterName: string; + defaultFormat: string; + delimiter: string; + includeTags: boolean; /** * Name of the Atlas Federated Database Instance. * ### `cloudProviderConfig` - (Optional) Cloud provider linked to this data federated instance. * #### `aws` - (Required) AWS provider of the cloud service where the Federated Database Instance can access the S3 Bucket. Note this parameter is only required if using `cloudProviderConfig` since AWS is currently the only supported Cloud vendor on this feature at this time. */ - name?: string; - prefix?: string; + name: string; + prefix: string; /** * The unique ID for the project to create a Federated Database Instance. */ - projectId?: string; - provider?: string; - public?: string; - readPreference?: outputs.FederatedDatabaseInstanceStorageStoreReadPreference; + projectId: string; + provider: string; + public: string; + readPreference: outputs.FederatedDatabaseInstanceStorageStoreReadPreference; /** * Name of the region to which the Federanted Instnace routes client connections for data processing. See the [documention](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Data-Federation/operation/createFederatedDatabase) for the available region. */ - region?: string; - urls?: string[]; + region: string; + urls: string[]; } export interface FederatedDatabaseInstanceStorageStoreReadPreference { - maxStalenessSeconds?: number; - mode?: string; - tagSets?: outputs.FederatedDatabaseInstanceStorageStoreReadPreferenceTagSet[]; + maxStalenessSeconds: number; + mode: string; + tagSets: outputs.FederatedDatabaseInstanceStorageStoreReadPreferenceTagSet[]; } export interface FederatedDatabaseInstanceStorageStoreReadPreferenceTagSet { @@ -1415,8 +1410,8 @@ export interface FederatedDatabaseInstanceStorageStoreReadPreferenceTagSetTag { * ### `cloudProviderConfig` - (Optional) Cloud provider linked to this data federated instance. * #### `aws` - (Required) AWS provider of the cloud service where the Federated Database Instance can access the S3 Bucket. Note this parameter is only required if using `cloudProviderConfig` since AWS is currently the only supported Cloud vendor on this feature at this time. */ - name?: string; - value?: string; + name: string; + value: string; } export interface FederatedSettingsOrgRoleMappingRoleAssignment { @@ -2122,7 +2117,7 @@ export interface GetAlertConfigurationNotification { */ datadogApiKey: string; /** - * Region that indicates which API URL to use. Accepted regions are: `US`, `EU`. The default Datadog region is US. + * Region that indicates which API URL to use. See the `datadogRegion` field in the `notifications` request parameter of [MongoDB API Alert Configuration documentation](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/v2/#tag/Alert-Configurations/operation/createAlertConfiguration) for more details. The default Datadog region is US. */ datadogRegion: string; /** @@ -2340,7 +2335,7 @@ export interface GetAlertConfigurationsResultNotification { */ datadogApiKey: string; /** - * Region that indicates which API URL to use. Accepted regions are: `US`, `EU`. The default Datadog region is US. + * Region that indicates which API URL to use. See the `datadogRegion` field in the `notifications` request parameter of [MongoDB API Alert Configuration documentation](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/v2/#tag/Alert-Configurations/operation/createAlertConfiguration) for more details. The default Datadog region is US. */ datadogRegion: string; /** @@ -3036,46 +3031,6 @@ export interface GetCloudBackupSnapshotsResultMember { replicaSetName: string; } -export interface GetCloudProviderAccessAwsIamRole { - /** - * Unique external ID Atlas uses when assuming the IAM role in your AWS account. - */ - atlasAssumedRoleExternalId: string; - /** - * ARN associated with the Atlas AWS account used to assume IAM roles in your AWS account. - */ - atlasAwsAccountArn: string; - /** - * Date on which this role was authorized. - */ - authorizedDate: string; - /** - * Date on which this role was created. - */ - createdDate: string; - /** - * Atlas features this AWS IAM role is linked to. - */ - featureUsages: outputs.GetCloudProviderAccessAwsIamRoleFeatureUsage[]; - /** - * ARN of the IAM Role that Atlas assumes when accessing resources in your AWS account. - */ - iamAssumedRoleArn: string; - /** - * Name of the cloud provider. Currently limited to AWS. - */ - providerName: string; - /** - * Unique ID of this role. - */ - roleId: string; -} - -export interface GetCloudProviderAccessAwsIamRoleFeatureUsage { - featureId: {[key: string]: any}; - featureType: string; -} - export interface GetCloudProviderAccessSetupAwsConfig { /** * Unique external ID Atlas uses when assuming the IAM role in your AWS account. @@ -4031,6 +3986,9 @@ export interface GetDatabaseUsersResult { * (Optional) Human-readable label that indicates whether the new database user authenticates with OIDC (OpenID Connect) federated authentication. If no value is given, Atlas uses the default value of `NONE`. The accepted types are: */ oidcAuthType: string; + /** + * @deprecated this parameter is deprecated and will be removed in version 1.16.0 + */ password: string; /** * The unique ID for the project to get all database users. @@ -4523,9 +4481,6 @@ export interface GetFederatedSettingsIdentityProviderAssociatedOrg { * Flag that indicates whether domain restriction is enabled for the connected organization. */ domainRestrictionEnabled: boolean; - /** - * Unique 20-hexadecimal digit string that identifies the IdP. - */ identityProviderId: string; /** * Unique 24-hexadecimal digit string that identifies the organization that contains your projects. @@ -4624,26 +4579,50 @@ export interface GetFederatedSettingsIdentityProvidersResult { * List that contains the configured domains from which users can log in for this IdP. */ associatedOrgs: outputs.GetFederatedSettingsIdentityProvidersResultAssociatedOrg[]; + /** + * Identifier of the intended recipient of the token. + */ + audienceClaims: string[]; /** * Identifier for the intended audience of the SAML Assertion. */ audienceUri: string; + /** + * Client identifier that is assigned to an application by the Identity Provider. + */ + clientId: string; /** * Human-readable label that identifies the IdP. */ displayName: string; + /** + * Identifier of the claim which contains IdP Group IDs in the token. + */ + groupsClaim: string; + /** + * Unique 20-hexadecimal digit string that identifies the IdP. + */ + idpId: string; /** * Identifier for the issuer of the SAML Assertion. */ issuerUri: string; oktaIdpId: string; pemFileInfos: outputs.GetFederatedSettingsIdentityProvidersResultPemFileInfo[]; + /** + * The protocol of the identity provider + */ + protocol: string; /** * SAML Authentication Request Protocol binding used to send the AuthNRequest. Atlas supports the following binding values: * - HTTP POST * - HTTP REDIRECT */ requestBinding: string; + /** + * Scopes that MongoDB applications will request from the authorization endpoint. + */ + requestedScopes: string[]; /** * Algorithm used to encrypt the IdP signature. Atlas supports the following signature algorithm values: * - SHA-1 @@ -4662,6 +4641,10 @@ export interface GetFederatedSettingsIdentityProvidersResult { * Label that indicates whether the identity provider is active. The IdP is Inactive until you map at least one domain to the IdP. */ status: string; + /** + * Identifier of the claim which contains the user ID in the token. + */ + userClaim: string; } export interface GetFederatedSettingsIdentityProvidersResultAssociatedOrg { @@ -5205,21 +5188,33 @@ export interface GetOrganizationLink { } export interface GetOrganizationsResult { + /** + * Flag that indicates whether to require API operations to originate from an IP Address added to the API access list for the specified organization. + */ + apiAccessListRequired: boolean; /** * Autogenerated Unique ID for this data source. */ id: string; /** * Flag that indicates whether this organization has been deleted. - * - * See [MongoDB Atlas API - Organizations](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Organizations/operation/listOrganizations) Documentation for more information. */ isDeleted: boolean; links: outputs.GetOrganizationsResultLink[]; + /** + * Flag that indicates whether to require users to set up Multi-Factor Authentication (MFA) before accessing the specified organization. To learn more, see: https://www.mongodb.com/docs/atlas/security-multi-factor-authentication/. + */ + multiFactorAuthRequired: boolean; /** * Human-readable label that identifies the organization. */ name: string; + /** + * Flag that indicates whether to block MongoDB Support from accessing Atlas infrastructure for any deployment in the specified organization without explicit permission. Once this setting is turned on, you can grant MongoDB Support a 24-hour bypass access to the Atlas deployment to resolve support issues. To learn more, see: https://www.mongodb.com/docs/atlas/security-restrict-support-access/. + * + * See [MongoDB Atlas API - Organizations](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Organizations/operation/listOrganizations) Documentation for more information. + */ + restrictEmployeeAccess: boolean; } export interface GetOrganizationsResultLink { @@ -5333,9 +5328,32 @@ export interface GetProjectApiKeysResultProjectAssignment { roleNames: string[]; } +export interface GetProjectIpAddresses { + services: outputs.GetProjectIpAddressesServices; +} + +export interface GetProjectIpAddressesServices { + clusters: outputs.GetProjectIpAddressesServicesCluster[]; +} + +export interface GetProjectIpAddressesServicesCluster { + clusterName: string; + inbounds: string[]; + outbounds: string[]; +} + export interface GetProjectLimit { + /** + * Amount that indicates the current usage of the limit. + */ currentUsage: number; + /** + * Default value of the limit. + */ defaultLimit: number; + /** + * Maximum value of the limit. + */ maximumLimit: number; /** * The unique ID for the project. @@ -5343,11 +5361,20 @@ export interface GetProjectLimit { * > **IMPORTANT:** Either `projectId` or `name` must be configurated. */ name: string; + /** + * Amount the limit is set to. + */ value: number; } export interface GetProjectTeam { + /** + * Each string in the array represents a project role assigned to the team. Every user associated with the team inherits these roles. The [MongoDB Documentation](https://www.mongodb.com/docs/atlas/reference/user-roles/#organization-roles) describes the roles a user can have. + */ roleNames: string[]; + /** + * The unique identifier of the team you want to associate with the project. The team and project must share the same parent organization. + */ teamId: string; } @@ -5358,19 +5385,16 @@ export interface GetProjectsResult { clusterCount: number; /** * The ISO-8601-formatted timestamp of when Atlas created the project. - * * `teams.#.team_id` - The unique identifier of the team you want to associate with the project. The team and project must share the same parent organization. - * * `teams.#.role_names` - Each string in the array represents a project role assigned to the team. Every user associated with the team inherits these roles. The [MongoDB Documentation](https://www.mongodb.com/docs/atlas/reference/user-roles/#organization-roles) describes the roles a user can have. - * * `limits.#.name` - Human-readable label that identifies this project limit. - * * `limits.#.value` - Amount the limit is set to. - * * `limits.#.current_usage` - Amount that indicates the current usage of the limit. - * * `limits.#.default_limit` - Default value of the limit. - * * `limits.#.maximum_limit` - Maximum value of the limit. */ created: string; /** * Autogenerated Unique ID for this data source. */ id: string; + /** + * IP addresses in a project categorized by services. See IP Addresses. + */ + ipAddresses: outputs.GetProjectsResultIpAddresses; /** * Flag that indicates whether to enable statistics in [cluster metrics](https://www.mongodb.com/docs/atlas/monitor-cluster-metrics/) collection for the project. */ @@ -5395,9 +5419,12 @@ export interface GetProjectsResult { * Flag that indicates whether to enable Schema Advisor for the project. If enabled, you receive customized recommendations to optimize your data model and enhance performance. Disable this setting to disable schema suggestions in the [Performance Advisor](https://www.mongodb.com/docs/atlas/performance-advisor/#std-label-performance-advisor) and the [Data Explorer](https://www.mongodb.com/docs/atlas/atlas-ui/#std-label-atlas-ui). */ isSchemaAdvisorEnabled: boolean; + /** + * The limits for the specified project. See Limits. + */ limits: outputs.GetProjectsResultLimit[]; /** - * The name of the project you want to create. + * Human-readable label that identifies this project limit. */ name: string; /** @@ -5407,36 +5434,69 @@ export interface GetProjectsResult { projectId: string; /** * If GOV_REGIONS_ONLY the project can be used for government regions only, otherwise defaults to standard regions. For more information see [MongoDB Atlas for Government](https://www.mongodb.com/docs/atlas/government/api/#creating-a-project). - * - * See [MongoDB Atlas API - Projects](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Projects) - [and MongoDB Atlas API - Teams](https://docs.atlas.mongodb.com/reference/api/project-get-teams/) Documentation for more information. */ regionUsageRestrictions: string; + /** + * Returns all teams to which the authenticated user has access in the project. See Teams. + */ teams: outputs.GetProjectsResultTeam[]; } +export interface GetProjectsResultIpAddresses { + services: outputs.GetProjectsResultIpAddressesServices; +} + +export interface GetProjectsResultIpAddressesServices { + clusters: outputs.GetProjectsResultIpAddressesServicesCluster[]; +} + +export interface GetProjectsResultIpAddressesServicesCluster { + clusterName: string; + inbounds: string[]; + outbounds: string[]; +} + export interface GetProjectsResultLimit { + /** + * Amount that indicates the current usage of the limit. + */ currentUsage: number; + /** + * Default value of the limit. + */ defaultLimit: number; + /** + * Maximum value of the limit. + */ maximumLimit: number; /** - * The name of the project you want to create. + * Human-readable label that identifies this project limit. */ name: string; + /** + * Amount the limit is set to. + */ value: number; } export interface GetProjectsResultTeam { + /** + * Each string in the array represents a project role assigned to the team. Every user associated with the team inherits these roles. The [MongoDB Documentation](https://www.mongodb.com/docs/atlas/reference/user-roles/#organization-roles) describes the roles a user can have. + */ roleNames: string[]; + /** + * The unique identifier of the team you want to associate with the project. The team and project must share the same parent organization. + */ teamId: string; } export interface GetSearchDeploymentSpec { /** - * (Required) Hardware specification for the search node instance sizes. The [MongoDB Atlas API](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Atlas-Search/operation/createAtlasSearchDeployment) describes the valid values. More details can also be found in the [Search Node Documentation](https://www.mongodb.com/docs/atlas/cluster-config/multi-cloud-distribution/#search-tier). + * Hardware specification for the search node instance sizes. The [MongoDB Atlas API](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Atlas-Search/operation/createAtlasSearchDeployment) describes the valid values. More details can also be found in the [Search Node Documentation](https://www.mongodb.com/docs/atlas/cluster-config/multi-cloud-distribution/#search-tier). */ instanceSize: string; /** - * (Required) Number of search nodes in the cluster. + * Number of search nodes in the cluster. */ nodeCount: number; } @@ -5496,6 +5556,9 @@ export interface GetSearchIndexesResult { * [Analyzer](https://docs.atlas.mongodb.com/reference/atlas-search/analyzers/#std-label-analyzers-ref) to use when searching the index. */ searchAnalyzer?: string; + /** + * Current status of the index. + */ status: string; /** * Synonyms mapping definition to use in this index. @@ -5883,6 +5946,20 @@ export interface ProjectIpAccessListTimeouts { read?: string; } +export interface ProjectIpAddresses { + services: outputs.ProjectIpAddressesServices; +} + +export interface ProjectIpAddressesServices { + clusters: outputs.ProjectIpAddressesServicesCluster[]; +} + +export interface ProjectIpAddressesServicesCluster { + clusterName: string; + inbounds: string[]; + outbounds: string[]; +} + export interface ProjectLimit { currentUsage: number; defaultLimit: number; @@ -5946,7 +6023,7 @@ export interface SearchIndexSynonym { */ name: string; /** - * Name of the source MongoDB collection for the synonyms. Documents in this collection must be in the format described in the [Synonyms Source Collection Documents](https://docs.atlas.mongodb.com/reference/atlas-search/synonyms/#std-label-synonyms-coll-spec). + * (Required) Name of the source MongoDB collection for the synonyms. Documents in this collection must be in the format described in the [Synonyms Source Collection Documents](https://docs.atlas.mongodb.com/reference/atlas-search/synonyms/#std-label-synonyms-coll-spec). */ sourceCollection: string; } diff --git a/sdk/python/pulumi_mongodbatlas/__init__.py b/sdk/python/pulumi_mongodbatlas/__init__.py index 9e33078b..3e612cf0 100644 --- a/sdk/python/pulumi_mongodbatlas/__init__.py +++ b/sdk/python/pulumi_mongodbatlas/__init__.py @@ -16,7 +16,6 @@ from .cloud_backup_snapshot_export_bucket import * from .cloud_backup_snapshot_export_job import * from .cloud_backup_snapshot_restore_job import * -from .cloud_provider_access import * from .cloud_provider_access_authorization import * from .cloud_provider_access_setup import * from .cluster import * @@ -54,7 +53,6 @@ from .get_cloud_backup_snapshot_restore_job import * from .get_cloud_backup_snapshot_restore_jobs import * from .get_cloud_backup_snapshots import * -from .get_cloud_provider_access import * from .get_cloud_provider_access_setup import * from .get_cluster import * from .get_cluster_outage_simulation import * @@ -250,14 +248,6 @@ "mongodbatlas:index/cloudBackupSnapshotRestoreJob:CloudBackupSnapshotRestoreJob": "CloudBackupSnapshotRestoreJob" } }, - { - "pkg": "mongodbatlas", - "mod": "index/cloudProviderAccess", - "fqn": "pulumi_mongodbatlas", - "classes": { - "mongodbatlas:index/cloudProviderAccess:CloudProviderAccess": "CloudProviderAccess" - } - }, { "pkg": "mongodbatlas", "mod": "index/cloudProviderAccessAuthorization", diff --git a/sdk/python/pulumi_mongodbatlas/_inputs.py b/sdk/python/pulumi_mongodbatlas/_inputs.py index e4e8132e..0f4c0982 100644 --- a/sdk/python/pulumi_mongodbatlas/_inputs.py +++ b/sdk/python/pulumi_mongodbatlas/_inputs.py @@ -46,7 +46,6 @@ 'CloudProviderAccessAuthorizationAwsArgs', 'CloudProviderAccessAuthorizationAzureArgs', 'CloudProviderAccessAuthorizationFeatureUsageArgs', - 'CloudProviderAccessFeatureUsageArgs', 'CloudProviderAccessSetupAwsConfigArgs', 'CloudProviderAccessSetupAzureConfigArgs', 'ClusterAdvancedConfigurationArgs', @@ -104,6 +103,9 @@ 'PrivateLinkEndpointServiceEndpointArgs', 'ProjectApiKeyProjectAssignmentArgs', 'ProjectIpAccessListTimeoutsArgs', + 'ProjectIpAddressesArgs', + 'ProjectIpAddressesServicesArgs', + 'ProjectIpAddressesServicesClusterArgs', 'ProjectLimitArgs', 'ProjectTeamArgs', 'ProviderAssumeRoleArgs', @@ -115,11 +117,6 @@ 'X509AuthenticationDatabaseUserCertificateArgs', 'GetAlertConfigurationOutputArgs', 'GetAlertConfigurationsListOptionArgs', - 'GetBackupCompliancePolicyOnDemandPolicyItemArgs', - 'GetBackupCompliancePolicyPolicyItemDailyArgs', - 'GetBackupCompliancePolicyPolicyItemHourlyArgs', - 'GetBackupCompliancePolicyPolicyItemMonthlyArgs', - 'GetBackupCompliancePolicyPolicyItemWeeklyArgs', 'GetCloudProviderAccessSetupAzureConfigArgs', 'GetCustomDbRoleInheritedRoleArgs', 'GetFederatedDatabaseInstanceCloudProviderConfigArgs', @@ -1446,7 +1443,7 @@ def __init__(__self__, *, :param pulumi.Input[str] api_token: Slack API token. Required for the SLACK notifications type. If the token later becomes invalid, Atlas sends an email to the project owner and eventually removes the token. :param pulumi.Input[str] channel_name: Slack channel name. Required for the SLACK notifications type. :param pulumi.Input[str] datadog_api_key: Datadog API Key. Found in the Datadog dashboard. Required for the DATADOG notifications type. - :param pulumi.Input[str] datadog_region: Region that indicates which API URL to use. Accepted regions are: `US`, `EU`. The default Datadog region is US. + :param pulumi.Input[str] datadog_region: Region that indicates which API URL to use. See the `datadogRegion` field in the `notifications` request parameter of [MongoDB API Alert Configuration documentation](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/v2/#tag/Alert-Configurations/operation/createAlertConfiguration) for more details. The default Datadog region is US. :param pulumi.Input[int] delay_min: Number of minutes to wait after an alert condition is detected before sending out the first notification. :param pulumi.Input[str] email_address: Email address to which alert notifications are sent. Required for the EMAIL notifications type. :param pulumi.Input[bool] email_enabled: Flag indicating email notifications should be sent. This flag is only valid if `type_name` is set to `ORG`, `GROUP`, or `USER`. @@ -1579,7 +1576,7 @@ def datadog_api_key(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="datadogRegion") def datadog_region(self) -> Optional[pulumi.Input[str]]: """ - Region that indicates which API URL to use. Accepted regions are: `US`, `EU`. The default Datadog region is US. + Region that indicates which API URL to use. See the `datadogRegion` field in the `notifications` request parameter of [MongoDB API Alert Configuration documentation](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/v2/#tag/Alert-Configurations/operation/createAlertConfiguration) for more details. The default Datadog region is US. """ return pulumi.get(self, "datadog_region") @@ -3093,35 +3090,6 @@ def feature_type(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "feature_type", value) -@pulumi.input_type -class CloudProviderAccessFeatureUsageArgs: - def __init__(__self__, *, - feature_id: Optional[pulumi.Input[Mapping[str, Any]]] = None, - feature_type: Optional[pulumi.Input[str]] = None): - if feature_id is not None: - pulumi.set(__self__, "feature_id", feature_id) - if feature_type is not None: - pulumi.set(__self__, "feature_type", feature_type) - - @property - @pulumi.getter(name="featureId") - def feature_id(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: - return pulumi.get(self, "feature_id") - - @feature_id.setter - def feature_id(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): - pulumi.set(self, "feature_id", value) - - @property - @pulumi.getter(name="featureType") - def feature_type(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "feature_type") - - @feature_type.setter - def feature_type(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "feature_type", value) - - @pulumi.input_type class CloudProviderAccessSetupAwsConfigArgs: def __init__(__self__, *, @@ -4839,7 +4807,7 @@ def __init__(__self__, *, role_name: pulumi.Input[str], collection_name: Optional[pulumi.Input[str]] = None): """ - :param pulumi.Input[str] database_name: Database on which the user has the specified role. A role on the `admin` database can include privileges that apply to the other databases. + :param pulumi.Input[str] database_name: Database on which the user has the specified role. A role on the `admin` database can include privileges that apply to the other databases. This field should be set to `admin` for a custom MongoDB role. :param pulumi.Input[str] role_name: Name of the role to grant. See [Create a Database User](https://docs.atlas.mongodb.com/reference/api/database-users-create-a-user/) `roles.roleName` for valid values and restrictions. :param pulumi.Input[str] collection_name: Collection for which the role applies. You can specify a collection for the `read` and `readWrite` roles. If you do not specify a collection for `read` and `readWrite`, the role applies to all collections in the database (excluding some collections in the `system`. database). """ @@ -4852,7 +4820,7 @@ def __init__(__self__, *, @pulumi.getter(name="databaseName") def database_name(self) -> pulumi.Input[str]: """ - Database on which the user has the specified role. A role on the `admin` database can include privileges that apply to the other databases. + Database on which the user has the specified role. A role on the `admin` database can include privileges that apply to the other databases. This field should be set to `admin` for a custom MongoDB role. """ return pulumi.get(self, "database_name") @@ -4937,7 +4905,7 @@ def __init__(__self__, *, :param pulumi.Input[str] customer_master_key_id: The AWS customer master key used to encrypt and decrypt the MongoDB master keys. :param pulumi.Input[bool] enabled: Specifies whether Encryption at Rest is enabled for an Atlas project, To disable Encryption at Rest, pass only this parameter with a value of false, When you disable Encryption at Rest, Atlas also removes the configuration details. :param pulumi.Input[str] region: The AWS region in which the AWS customer master key exists: CA_CENTRAL_1, US_EAST_1, US_EAST_2, US_WEST_1, US_WEST_2, SA_EAST_1 - :param pulumi.Input[str] role_id: ID of an AWS IAM role authorized to manage an AWS customer master key. To find the ID for an existing IAM role check the `role_id` attribute of the `CloudProviderAccess` resource. + :param pulumi.Input[str] role_id: ID of an AWS IAM role authorized to manage an AWS customer master key. To find the ID for an existing IAM role check the `role_id` attribute of the `mongodbatlas_cloud_provider_access` resource. """ if access_key_id is not None: pulumi.set(__self__, "access_key_id", access_key_id) @@ -5001,7 +4969,7 @@ def region(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="roleId") def role_id(self) -> Optional[pulumi.Input[str]]: """ - ID of an AWS IAM role authorized to manage an AWS customer master key. To find the ID for an existing IAM role check the `role_id` attribute of the `CloudProviderAccess` resource. + ID of an AWS IAM role authorized to manage an AWS customer master key. To find the ID for an existing IAM role check the `role_id` attribute of the `mongodbatlas_cloud_provider_access` resource. """ return pulumi.get(self, "role_id") @@ -6786,6 +6754,81 @@ def read(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "read", value) +@pulumi.input_type +class ProjectIpAddressesArgs: + def __init__(__self__, *, + services: Optional[pulumi.Input['ProjectIpAddressesServicesArgs']] = None): + if services is not None: + pulumi.set(__self__, "services", services) + + @property + @pulumi.getter + def services(self) -> Optional[pulumi.Input['ProjectIpAddressesServicesArgs']]: + return pulumi.get(self, "services") + + @services.setter + def services(self, value: Optional[pulumi.Input['ProjectIpAddressesServicesArgs']]): + pulumi.set(self, "services", value) + + +@pulumi.input_type +class ProjectIpAddressesServicesArgs: + def __init__(__self__, *, + clusters: Optional[pulumi.Input[Sequence[pulumi.Input['ProjectIpAddressesServicesClusterArgs']]]] = None): + if clusters is not None: + pulumi.set(__self__, "clusters", clusters) + + @property + @pulumi.getter + def clusters(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ProjectIpAddressesServicesClusterArgs']]]]: + return pulumi.get(self, "clusters") + + @clusters.setter + def clusters(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ProjectIpAddressesServicesClusterArgs']]]]): + pulumi.set(self, "clusters", value) + + +@pulumi.input_type +class ProjectIpAddressesServicesClusterArgs: + def __init__(__self__, *, + cluster_name: Optional[pulumi.Input[str]] = None, + inbounds: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + outbounds: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + if cluster_name is not None: + pulumi.set(__self__, "cluster_name", cluster_name) + if inbounds is not None: + pulumi.set(__self__, "inbounds", inbounds) + if outbounds is not None: + pulumi.set(__self__, "outbounds", outbounds) + + @property + @pulumi.getter(name="clusterName") + def cluster_name(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "cluster_name") + + @cluster_name.setter + def cluster_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cluster_name", value) + + @property + @pulumi.getter + def inbounds(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + return pulumi.get(self, "inbounds") + + @inbounds.setter + def inbounds(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "inbounds", value) + + @property + @pulumi.getter + def outbounds(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + return pulumi.get(self, "outbounds") + + @outbounds.setter + def outbounds(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "outbounds", value) + + @pulumi.input_type class ProjectLimitArgs: def __init__(__self__, *, @@ -7152,7 +7195,7 @@ def __init__(__self__, *, """ :param pulumi.Input[str] analyzer: [Analyzer](https://docs.atlas.mongodb.com/reference/atlas-search/analyzers/#std-label-analyzers-ref) to use when creating the index. Defaults to [lucene.standard](https://docs.atlas.mongodb.com/reference/atlas-search/analyzers/standard/#std-label-ref-standard-analyzer) :param pulumi.Input[str] name: The name of the search index you want to create. - :param pulumi.Input[str] source_collection: Name of the source MongoDB collection for the synonyms. Documents in this collection must be in the format described in the [Synonyms Source Collection Documents](https://docs.atlas.mongodb.com/reference/atlas-search/synonyms/#std-label-synonyms-coll-spec). + :param pulumi.Input[str] source_collection: (Required) Name of the source MongoDB collection for the synonyms. Documents in this collection must be in the format described in the [Synonyms Source Collection Documents](https://docs.atlas.mongodb.com/reference/atlas-search/synonyms/#std-label-synonyms-coll-spec). """ pulumi.set(__self__, "analyzer", analyzer) pulumi.set(__self__, "name", name) @@ -7186,7 +7229,7 @@ def name(self, value: pulumi.Input[str]): @pulumi.getter(name="sourceCollection") def source_collection(self) -> pulumi.Input[str]: """ - Name of the source MongoDB collection for the synonyms. Documents in this collection must be in the format described in the [Synonyms Source Collection Documents](https://docs.atlas.mongodb.com/reference/atlas-search/synonyms/#std-label-synonyms-coll-spec). + (Required) Name of the source MongoDB collection for the synonyms. Documents in this collection must be in the format described in the [Synonyms Source Collection Documents](https://docs.atlas.mongodb.com/reference/atlas-search/synonyms/#std-label-synonyms-coll-spec). """ return pulumi.get(self, "source_collection") @@ -7416,416 +7459,6 @@ def page_num(self, value: Optional[int]): pulumi.set(self, "page_num", value) -@pulumi.input_type -class GetBackupCompliancePolicyOnDemandPolicyItemArgs: - def __init__(__self__, *, - frequency_interval: int, - frequency_type: str, - id: str, - retention_unit: str, - retention_value: int): - """ - :param int frequency_interval: Desired frequency of the new backup policy item specified by `frequency_type` (monthly in this case). The supported values for weekly policies are - :param str frequency_type: Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - :param str id: Unique identifier of the backup policy item. - :param str retention_unit: Scope of the backup policy item: `days`, `weeks`, or `months`. - :param int retention_value: Value to associate with `retention_unit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - """ - pulumi.set(__self__, "frequency_interval", frequency_interval) - pulumi.set(__self__, "frequency_type", frequency_type) - pulumi.set(__self__, "id", id) - pulumi.set(__self__, "retention_unit", retention_unit) - pulumi.set(__self__, "retention_value", retention_value) - - @property - @pulumi.getter(name="frequencyInterval") - def frequency_interval(self) -> int: - """ - Desired frequency of the new backup policy item specified by `frequency_type` (monthly in this case). The supported values for weekly policies are - """ - return pulumi.get(self, "frequency_interval") - - @frequency_interval.setter - def frequency_interval(self, value: int): - pulumi.set(self, "frequency_interval", value) - - @property - @pulumi.getter(name="frequencyType") - def frequency_type(self) -> str: - """ - Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - """ - return pulumi.get(self, "frequency_type") - - @frequency_type.setter - def frequency_type(self, value: str): - pulumi.set(self, "frequency_type", value) - - @property - @pulumi.getter - def id(self) -> str: - """ - Unique identifier of the backup policy item. - """ - return pulumi.get(self, "id") - - @id.setter - def id(self, value: str): - pulumi.set(self, "id", value) - - @property - @pulumi.getter(name="retentionUnit") - def retention_unit(self) -> str: - """ - Scope of the backup policy item: `days`, `weeks`, or `months`. - """ - return pulumi.get(self, "retention_unit") - - @retention_unit.setter - def retention_unit(self, value: str): - pulumi.set(self, "retention_unit", value) - - @property - @pulumi.getter(name="retentionValue") - def retention_value(self) -> int: - """ - Value to associate with `retention_unit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - """ - return pulumi.get(self, "retention_value") - - @retention_value.setter - def retention_value(self, value: int): - pulumi.set(self, "retention_value", value) - - -@pulumi.input_type -class GetBackupCompliancePolicyPolicyItemDailyArgs: - def __init__(__self__, *, - frequency_interval: int, - frequency_type: str, - id: str, - retention_unit: str, - retention_value: int): - """ - :param int frequency_interval: Desired frequency of the new backup policy item specified by `frequency_type` (monthly in this case). The supported values for weekly policies are - :param str frequency_type: Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - :param str id: Unique identifier of the backup policy item. - :param str retention_unit: Scope of the backup policy item: `days`, `weeks`, or `months`. - :param int retention_value: Value to associate with `retention_unit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - """ - pulumi.set(__self__, "frequency_interval", frequency_interval) - pulumi.set(__self__, "frequency_type", frequency_type) - pulumi.set(__self__, "id", id) - pulumi.set(__self__, "retention_unit", retention_unit) - pulumi.set(__self__, "retention_value", retention_value) - - @property - @pulumi.getter(name="frequencyInterval") - def frequency_interval(self) -> int: - """ - Desired frequency of the new backup policy item specified by `frequency_type` (monthly in this case). The supported values for weekly policies are - """ - return pulumi.get(self, "frequency_interval") - - @frequency_interval.setter - def frequency_interval(self, value: int): - pulumi.set(self, "frequency_interval", value) - - @property - @pulumi.getter(name="frequencyType") - def frequency_type(self) -> str: - """ - Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - """ - return pulumi.get(self, "frequency_type") - - @frequency_type.setter - def frequency_type(self, value: str): - pulumi.set(self, "frequency_type", value) - - @property - @pulumi.getter - def id(self) -> str: - """ - Unique identifier of the backup policy item. - """ - return pulumi.get(self, "id") - - @id.setter - def id(self, value: str): - pulumi.set(self, "id", value) - - @property - @pulumi.getter(name="retentionUnit") - def retention_unit(self) -> str: - """ - Scope of the backup policy item: `days`, `weeks`, or `months`. - """ - return pulumi.get(self, "retention_unit") - - @retention_unit.setter - def retention_unit(self, value: str): - pulumi.set(self, "retention_unit", value) - - @property - @pulumi.getter(name="retentionValue") - def retention_value(self) -> int: - """ - Value to associate with `retention_unit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - """ - return pulumi.get(self, "retention_value") - - @retention_value.setter - def retention_value(self, value: int): - pulumi.set(self, "retention_value", value) - - -@pulumi.input_type -class GetBackupCompliancePolicyPolicyItemHourlyArgs: - def __init__(__self__, *, - frequency_interval: int, - frequency_type: str, - id: str, - retention_unit: str, - retention_value: int): - """ - :param int frequency_interval: Desired frequency of the new backup policy item specified by `frequency_type` (monthly in this case). The supported values for weekly policies are - :param str frequency_type: Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - :param str id: Unique identifier of the backup policy item. - :param str retention_unit: Scope of the backup policy item: `days`, `weeks`, or `months`. - :param int retention_value: Value to associate with `retention_unit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - """ - pulumi.set(__self__, "frequency_interval", frequency_interval) - pulumi.set(__self__, "frequency_type", frequency_type) - pulumi.set(__self__, "id", id) - pulumi.set(__self__, "retention_unit", retention_unit) - pulumi.set(__self__, "retention_value", retention_value) - - @property - @pulumi.getter(name="frequencyInterval") - def frequency_interval(self) -> int: - """ - Desired frequency of the new backup policy item specified by `frequency_type` (monthly in this case). The supported values for weekly policies are - """ - return pulumi.get(self, "frequency_interval") - - @frequency_interval.setter - def frequency_interval(self, value: int): - pulumi.set(self, "frequency_interval", value) - - @property - @pulumi.getter(name="frequencyType") - def frequency_type(self) -> str: - """ - Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - """ - return pulumi.get(self, "frequency_type") - - @frequency_type.setter - def frequency_type(self, value: str): - pulumi.set(self, "frequency_type", value) - - @property - @pulumi.getter - def id(self) -> str: - """ - Unique identifier of the backup policy item. - """ - return pulumi.get(self, "id") - - @id.setter - def id(self, value: str): - pulumi.set(self, "id", value) - - @property - @pulumi.getter(name="retentionUnit") - def retention_unit(self) -> str: - """ - Scope of the backup policy item: `days`, `weeks`, or `months`. - """ - return pulumi.get(self, "retention_unit") - - @retention_unit.setter - def retention_unit(self, value: str): - pulumi.set(self, "retention_unit", value) - - @property - @pulumi.getter(name="retentionValue") - def retention_value(self) -> int: - """ - Value to associate with `retention_unit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - """ - return pulumi.get(self, "retention_value") - - @retention_value.setter - def retention_value(self, value: int): - pulumi.set(self, "retention_value", value) - - -@pulumi.input_type -class GetBackupCompliancePolicyPolicyItemMonthlyArgs: - def __init__(__self__, *, - frequency_interval: int, - frequency_type: str, - id: str, - retention_unit: str, - retention_value: int): - """ - :param int frequency_interval: Desired frequency of the new backup policy item specified by `frequency_type` (monthly in this case). The supported values for weekly policies are - :param str frequency_type: Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - :param str id: Unique identifier of the backup policy item. - :param str retention_unit: Scope of the backup policy item: `days`, `weeks`, or `months`. - :param int retention_value: Value to associate with `retention_unit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - """ - pulumi.set(__self__, "frequency_interval", frequency_interval) - pulumi.set(__self__, "frequency_type", frequency_type) - pulumi.set(__self__, "id", id) - pulumi.set(__self__, "retention_unit", retention_unit) - pulumi.set(__self__, "retention_value", retention_value) - - @property - @pulumi.getter(name="frequencyInterval") - def frequency_interval(self) -> int: - """ - Desired frequency of the new backup policy item specified by `frequency_type` (monthly in this case). The supported values for weekly policies are - """ - return pulumi.get(self, "frequency_interval") - - @frequency_interval.setter - def frequency_interval(self, value: int): - pulumi.set(self, "frequency_interval", value) - - @property - @pulumi.getter(name="frequencyType") - def frequency_type(self) -> str: - """ - Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - """ - return pulumi.get(self, "frequency_type") - - @frequency_type.setter - def frequency_type(self, value: str): - pulumi.set(self, "frequency_type", value) - - @property - @pulumi.getter - def id(self) -> str: - """ - Unique identifier of the backup policy item. - """ - return pulumi.get(self, "id") - - @id.setter - def id(self, value: str): - pulumi.set(self, "id", value) - - @property - @pulumi.getter(name="retentionUnit") - def retention_unit(self) -> str: - """ - Scope of the backup policy item: `days`, `weeks`, or `months`. - """ - return pulumi.get(self, "retention_unit") - - @retention_unit.setter - def retention_unit(self, value: str): - pulumi.set(self, "retention_unit", value) - - @property - @pulumi.getter(name="retentionValue") - def retention_value(self) -> int: - """ - Value to associate with `retention_unit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - """ - return pulumi.get(self, "retention_value") - - @retention_value.setter - def retention_value(self, value: int): - pulumi.set(self, "retention_value", value) - - -@pulumi.input_type -class GetBackupCompliancePolicyPolicyItemWeeklyArgs: - def __init__(__self__, *, - frequency_interval: int, - frequency_type: str, - id: str, - retention_unit: str, - retention_value: int): - """ - :param int frequency_interval: Desired frequency of the new backup policy item specified by `frequency_type` (monthly in this case). The supported values for weekly policies are - :param str frequency_type: Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - :param str id: Unique identifier of the backup policy item. - :param str retention_unit: Scope of the backup policy item: `days`, `weeks`, or `months`. - :param int retention_value: Value to associate with `retention_unit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - """ - pulumi.set(__self__, "frequency_interval", frequency_interval) - pulumi.set(__self__, "frequency_type", frequency_type) - pulumi.set(__self__, "id", id) - pulumi.set(__self__, "retention_unit", retention_unit) - pulumi.set(__self__, "retention_value", retention_value) - - @property - @pulumi.getter(name="frequencyInterval") - def frequency_interval(self) -> int: - """ - Desired frequency of the new backup policy item specified by `frequency_type` (monthly in this case). The supported values for weekly policies are - """ - return pulumi.get(self, "frequency_interval") - - @frequency_interval.setter - def frequency_interval(self, value: int): - pulumi.set(self, "frequency_interval", value) - - @property - @pulumi.getter(name="frequencyType") - def frequency_type(self) -> str: - """ - Frequency associated with the backup policy item. For monthly policies, the frequency type is defined as `monthly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type. - """ - return pulumi.get(self, "frequency_type") - - @frequency_type.setter - def frequency_type(self, value: str): - pulumi.set(self, "frequency_type", value) - - @property - @pulumi.getter - def id(self) -> str: - """ - Unique identifier of the backup policy item. - """ - return pulumi.get(self, "id") - - @id.setter - def id(self, value: str): - pulumi.set(self, "id", value) - - @property - @pulumi.getter(name="retentionUnit") - def retention_unit(self) -> str: - """ - Scope of the backup policy item: `days`, `weeks`, or `months`. - """ - return pulumi.get(self, "retention_unit") - - @retention_unit.setter - def retention_unit(self, value: str): - pulumi.set(self, "retention_unit", value) - - @property - @pulumi.getter(name="retentionValue") - def retention_value(self) -> int: - """ - Value to associate with `retention_unit`. Monthly policy must have retention days of at least 31 days or 5 weeks or 1 month. Note that for less frequent policy items, Atlas requires that you specify a retention period greater than or equal to the retention period specified for more frequent policy items. For example: If the weekly policy item specifies a retention of two weeks, the montly retention policy must specify two weeks or greater. - """ - return pulumi.get(self, "retention_value") - - @retention_value.setter - def retention_value(self, value: int): - pulumi.set(self, "retention_value", value) - - @pulumi.input_type class GetCloudProviderAccessSetupAzureConfigArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_mongodbatlas/api_key.py b/sdk/python/pulumi_mongodbatlas/api_key.py index ccf479d8..406e543a 100644 --- a/sdk/python/pulumi_mongodbatlas/api_key.py +++ b/sdk/python/pulumi_mongodbatlas/api_key.py @@ -174,6 +174,18 @@ def __init__(__self__, role_names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, __props__=None): """ + ## Example Usage + + ```python + import pulumi + import pulumi_mongodbatlas as mongodbatlas + + test = mongodbatlas.ApiKey("test", + description="key-name", + org_id="", + role_names=["ORG_READ_ONLY"]) + ``` + ## Import API Keys must be imported using org ID, API Key ID e.g. @@ -197,6 +209,18 @@ def __init__(__self__, args: ApiKeyArgs, opts: Optional[pulumi.ResourceOptions] = None): """ + ## Example Usage + + ```python + import pulumi + import pulumi_mongodbatlas as mongodbatlas + + test = mongodbatlas.ApiKey("test", + description="key-name", + org_id="", + role_names=["ORG_READ_ONLY"]) + ``` + ## Import API Keys must be imported using org ID, API Key ID e.g. diff --git a/sdk/python/pulumi_mongodbatlas/backup_compliance_policy.py b/sdk/python/pulumi_mongodbatlas/backup_compliance_policy.py index 5cce7ca6..f1448422 100644 --- a/sdk/python/pulumi_mongodbatlas/backup_compliance_policy.py +++ b/sdk/python/pulumi_mongodbatlas/backup_compliance_policy.py @@ -19,11 +19,11 @@ 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'], - pit_enabled: pulumi.Input[bool], project_id: pulumi.Input[str], + copy_protection_enabled: Optional[pulumi.Input[bool]] = None, + encryption_at_rest_enabled: Optional[pulumi.Input[bool]] = None, + pit_enabled: Optional[pulumi.Input[bool]] = None, policy_item_daily: Optional[pulumi.Input['BackupCompliancePolicyPolicyItemDailyArgs']] = None, policy_item_hourly: Optional[pulumi.Input['BackupCompliancePolicyPolicyItemHourlyArgs']] = None, policy_item_monthlies: Optional[pulumi.Input[Sequence[pulumi.Input['BackupCompliancePolicyPolicyItemMonthlyArgs']]]] = None, @@ -34,20 +34,23 @@ def __init__(__self__, *, :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[str] project_id: Unique 24-hexadecimal digit string that identifies your project. :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. - :param pulumi.Input[str] project_id: Unique 24-hexadecimal digit string that identifies your project. :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) - pulumi.set(__self__, "pit_enabled", pit_enabled) pulumi.set(__self__, "project_id", project_id) + if copy_protection_enabled is not None: + pulumi.set(__self__, "copy_protection_enabled", copy_protection_enabled) + if encryption_at_rest_enabled is not None: + pulumi.set(__self__, "encryption_at_rest_enabled", encryption_at_rest_enabled) + if pit_enabled is not None: + pulumi.set(__self__, "pit_enabled", pit_enabled) if policy_item_daily is not None: pulumi.set(__self__, "policy_item_daily", policy_item_daily) if policy_item_hourly is not None: @@ -95,63 +98,63 @@ def authorized_user_last_name(self) -> pulumi.Input[str]: def authorized_user_last_name(self, value: pulumi.Input[str]): pulumi.set(self, "authorized_user_last_name", value) + @property + @pulumi.getter(name="onDemandPolicyItem") + def on_demand_policy_item(self) -> pulumi.Input['BackupCompliancePolicyOnDemandPolicyItemArgs']: + return pulumi.get(self, "on_demand_policy_item") + + @on_demand_policy_item.setter + def on_demand_policy_item(self, value: pulumi.Input['BackupCompliancePolicyOnDemandPolicyItemArgs']): + pulumi.set(self, "on_demand_policy_item", value) + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Input[str]: + """ + Unique 24-hexadecimal digit string that identifies your project. + """ + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: pulumi.Input[str]): + pulumi.set(self, "project_id", value) + @property @pulumi.getter(name="copyProtectionEnabled") - def copy_protection_enabled(self) -> pulumi.Input[bool]: + def copy_protection_enabled(self) -> Optional[pulumi.Input[bool]]: """ Flag that indicates whether to enable additional backup copies for the cluster. If unspecified, this value defaults to false. """ return pulumi.get(self, "copy_protection_enabled") @copy_protection_enabled.setter - def copy_protection_enabled(self, value: pulumi.Input[bool]): + def copy_protection_enabled(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "copy_protection_enabled", value) @property @pulumi.getter(name="encryptionAtRestEnabled") - def encryption_at_rest_enabled(self) -> pulumi.Input[bool]: + def encryption_at_rest_enabled(self) -> Optional[pulumi.Input[bool]]: """ 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. """ return pulumi.get(self, "encryption_at_rest_enabled") @encryption_at_rest_enabled.setter - def encryption_at_rest_enabled(self, value: pulumi.Input[bool]): + def encryption_at_rest_enabled(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "encryption_at_rest_enabled", value) - @property - @pulumi.getter(name="onDemandPolicyItem") - def on_demand_policy_item(self) -> pulumi.Input['BackupCompliancePolicyOnDemandPolicyItemArgs']: - return pulumi.get(self, "on_demand_policy_item") - - @on_demand_policy_item.setter - def on_demand_policy_item(self, value: pulumi.Input['BackupCompliancePolicyOnDemandPolicyItemArgs']): - pulumi.set(self, "on_demand_policy_item", value) - @property @pulumi.getter(name="pitEnabled") - def pit_enabled(self) -> pulumi.Input[bool]: + def pit_enabled(self) -> Optional[pulumi.Input[bool]]: """ Flag that indicates whether the cluster uses Continuous Cloud Backups with a Backup Compliance Policy. If unspecified, this value defaults to false. """ return pulumi.get(self, "pit_enabled") @pit_enabled.setter - def pit_enabled(self, value: pulumi.Input[bool]): + def pit_enabled(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "pit_enabled", value) - @property - @pulumi.getter(name="projectId") - def project_id(self) -> pulumi.Input[str]: - """ - Unique 24-hexadecimal digit string that identifies your project. - """ - return pulumi.get(self, "project_id") - - @project_id.setter - def project_id(self, value: pulumi.Input[str]): - pulumi.set(self, "project_id", value) - @property @pulumi.getter(name="policyItemDaily") def policy_item_daily(self) -> Optional[pulumi.Input['BackupCompliancePolicyPolicyItemDailyArgs']]: @@ -551,17 +554,11 @@ def _internal_init(__self__, 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 - if encryption_at_rest_enabled is None and not opts.urn: - raise TypeError("Missing required property 'encryption_at_rest_enabled'") __props__.__dict__["encryption_at_rest_enabled"] = encryption_at_rest_enabled if on_demand_policy_item is None and not opts.urn: raise TypeError("Missing required property 'on_demand_policy_item'") __props__.__dict__["on_demand_policy_item"] = on_demand_policy_item - if pit_enabled is None and not opts.urn: - raise TypeError("Missing required property 'pit_enabled'") __props__.__dict__["pit_enabled"] = pit_enabled __props__.__dict__["policy_item_daily"] = policy_item_daily __props__.__dict__["policy_item_hourly"] = policy_item_hourly @@ -667,7 +664,7 @@ def authorized_user_last_name(self) -> pulumi.Output[str]: @property @pulumi.getter(name="copyProtectionEnabled") - def copy_protection_enabled(self) -> pulumi.Output[bool]: + def copy_protection_enabled(self) -> pulumi.Output[Optional[bool]]: """ Flag that indicates whether to enable additional backup copies for the cluster. If unspecified, this value defaults to false. """ @@ -675,7 +672,7 @@ def copy_protection_enabled(self) -> pulumi.Output[bool]: @property @pulumi.getter(name="encryptionAtRestEnabled") - def encryption_at_rest_enabled(self) -> pulumi.Output[bool]: + def encryption_at_rest_enabled(self) -> pulumi.Output[Optional[bool]]: """ 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. """ @@ -688,7 +685,7 @@ def on_demand_policy_item(self) -> pulumi.Output['outputs.BackupCompliancePolicy @property @pulumi.getter(name="pitEnabled") - def pit_enabled(self) -> pulumi.Output[bool]: + def pit_enabled(self) -> pulumi.Output[Optional[bool]]: """ Flag that indicates whether the cluster uses Continuous Cloud Backups with a Backup Compliance Policy. If unspecified, this value defaults to false. """ diff --git a/sdk/python/pulumi_mongodbatlas/cloud_provider_access.py b/sdk/python/pulumi_mongodbatlas/cloud_provider_access.py deleted file mode 100644 index ef4e8a63..00000000 --- a/sdk/python/pulumi_mongodbatlas/cloud_provider_access.py +++ /dev/null @@ -1,605 +0,0 @@ -# coding=utf-8 -# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -# *** Do not edit by hand unless you're certain you know what you are doing! *** - -import copy -import warnings -import pulumi -import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload -from . import _utilities -from . import outputs -from ._inputs import * - -__all__ = ['CloudProviderAccessArgs', 'CloudProviderAccess'] - -@pulumi.input_type -class CloudProviderAccessArgs: - def __init__(__self__, *, - project_id: pulumi.Input[str], - provider_name: pulumi.Input[str], - iam_assumed_role_arn: Optional[pulumi.Input[str]] = None): - """ - The set of arguments for constructing a CloudProviderAccess resource. - :param pulumi.Input[str] project_id: The unique ID for the project - :param pulumi.Input[str] provider_name: The cloud provider for which to create a new role. Currently only AWS is supported. - :param pulumi.Input[str] iam_assumed_role_arn: 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). - """ - pulumi.set(__self__, "project_id", project_id) - pulumi.set(__self__, "provider_name", provider_name) - if iam_assumed_role_arn is not None: - pulumi.set(__self__, "iam_assumed_role_arn", iam_assumed_role_arn) - - @property - @pulumi.getter(name="projectId") - def project_id(self) -> pulumi.Input[str]: - """ - The unique ID for the project - """ - return pulumi.get(self, "project_id") - - @project_id.setter - def project_id(self, value: pulumi.Input[str]): - pulumi.set(self, "project_id", value) - - @property - @pulumi.getter(name="providerName") - def provider_name(self) -> pulumi.Input[str]: - """ - The cloud provider for which to create a new role. Currently only AWS is supported. - """ - return pulumi.get(self, "provider_name") - - @provider_name.setter - def provider_name(self, value: pulumi.Input[str]): - pulumi.set(self, "provider_name", value) - - @property - @pulumi.getter(name="iamAssumedRoleArn") - def iam_assumed_role_arn(self) -> Optional[pulumi.Input[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). - """ - return pulumi.get(self, "iam_assumed_role_arn") - - @iam_assumed_role_arn.setter - def iam_assumed_role_arn(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "iam_assumed_role_arn", value) - - -@pulumi.input_type -class _CloudProviderAccessState: - def __init__(__self__, *, - atlas_assumed_role_external_id: Optional[pulumi.Input[str]] = None, - atlas_aws_account_arn: Optional[pulumi.Input[str]] = None, - authorized_date: Optional[pulumi.Input[str]] = None, - created_date: Optional[pulumi.Input[str]] = None, - feature_usages: Optional[pulumi.Input[Sequence[pulumi.Input['CloudProviderAccessFeatureUsageArgs']]]] = None, - iam_assumed_role_arn: Optional[pulumi.Input[str]] = None, - project_id: Optional[pulumi.Input[str]] = None, - provider_name: Optional[pulumi.Input[str]] = None, - role_id: Optional[pulumi.Input[str]] = None): - """ - Input properties used for looking up and filtering CloudProviderAccess resources. - :param pulumi.Input[str] atlas_assumed_role_external_id: Unique external ID Atlas uses when assuming the IAM role in your AWS account. - :param pulumi.Input[str] atlas_aws_account_arn: ARN associated with the Atlas AWS account used to assume IAM roles in your AWS account. - :param pulumi.Input[str] authorized_date: Date on which this role was authorized. - :param pulumi.Input[str] created_date: Date on which this role was created. - :param pulumi.Input[Sequence[pulumi.Input['CloudProviderAccessFeatureUsageArgs']]] feature_usages: Atlas features this AWS IAM role is linked to. - :param pulumi.Input[str] iam_assumed_role_arn: 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). - :param pulumi.Input[str] project_id: The unique ID for the project - :param pulumi.Input[str] provider_name: The cloud provider for which to create a new role. Currently only AWS is supported. - :param pulumi.Input[str] role_id: Unique ID of this role returned by mongodb atlas api - - Conditional - """ - if atlas_assumed_role_external_id is not None: - pulumi.set(__self__, "atlas_assumed_role_external_id", atlas_assumed_role_external_id) - if atlas_aws_account_arn is not None: - pulumi.set(__self__, "atlas_aws_account_arn", atlas_aws_account_arn) - if authorized_date is not None: - pulumi.set(__self__, "authorized_date", authorized_date) - if created_date is not None: - pulumi.set(__self__, "created_date", created_date) - if feature_usages is not None: - pulumi.set(__self__, "feature_usages", feature_usages) - if iam_assumed_role_arn is not None: - pulumi.set(__self__, "iam_assumed_role_arn", iam_assumed_role_arn) - if project_id is not None: - pulumi.set(__self__, "project_id", project_id) - if provider_name is not None: - pulumi.set(__self__, "provider_name", provider_name) - if role_id is not None: - pulumi.set(__self__, "role_id", role_id) - - @property - @pulumi.getter(name="atlasAssumedRoleExternalId") - def atlas_assumed_role_external_id(self) -> Optional[pulumi.Input[str]]: - """ - Unique external ID Atlas uses when assuming the IAM role in your AWS account. - """ - return pulumi.get(self, "atlas_assumed_role_external_id") - - @atlas_assumed_role_external_id.setter - def atlas_assumed_role_external_id(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "atlas_assumed_role_external_id", value) - - @property - @pulumi.getter(name="atlasAwsAccountArn") - def atlas_aws_account_arn(self) -> Optional[pulumi.Input[str]]: - """ - ARN associated with the Atlas AWS account used to assume IAM roles in your AWS account. - """ - return pulumi.get(self, "atlas_aws_account_arn") - - @atlas_aws_account_arn.setter - def atlas_aws_account_arn(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "atlas_aws_account_arn", value) - - @property - @pulumi.getter(name="authorizedDate") - def authorized_date(self) -> Optional[pulumi.Input[str]]: - """ - Date on which this role was authorized. - """ - return pulumi.get(self, "authorized_date") - - @authorized_date.setter - def authorized_date(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "authorized_date", value) - - @property - @pulumi.getter(name="createdDate") - def created_date(self) -> Optional[pulumi.Input[str]]: - """ - Date on which this role was created. - """ - return pulumi.get(self, "created_date") - - @created_date.setter - def created_date(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "created_date", value) - - @property - @pulumi.getter(name="featureUsages") - def feature_usages(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CloudProviderAccessFeatureUsageArgs']]]]: - """ - Atlas features this AWS IAM role is linked to. - """ - return pulumi.get(self, "feature_usages") - - @feature_usages.setter - def feature_usages(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['CloudProviderAccessFeatureUsageArgs']]]]): - pulumi.set(self, "feature_usages", value) - - @property - @pulumi.getter(name="iamAssumedRoleArn") - def iam_assumed_role_arn(self) -> Optional[pulumi.Input[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). - """ - return pulumi.get(self, "iam_assumed_role_arn") - - @iam_assumed_role_arn.setter - def iam_assumed_role_arn(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "iam_assumed_role_arn", value) - - @property - @pulumi.getter(name="projectId") - def project_id(self) -> Optional[pulumi.Input[str]]: - """ - The unique ID for the project - """ - return pulumi.get(self, "project_id") - - @project_id.setter - def project_id(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "project_id", value) - - @property - @pulumi.getter(name="providerName") - def provider_name(self) -> Optional[pulumi.Input[str]]: - """ - The cloud provider for which to create a new role. Currently only AWS is supported. - """ - return pulumi.get(self, "provider_name") - - @provider_name.setter - def provider_name(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "provider_name", value) - - @property - @pulumi.getter(name="roleId") - def role_id(self) -> Optional[pulumi.Input[str]]: - """ - Unique ID of this role returned by mongodb atlas api - - Conditional - """ - return pulumi.get(self, "role_id") - - @role_id.setter - def role_id(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "role_id", value) - - -class CloudProviderAccess(pulumi.CustomResource): - @overload - def __init__(__self__, - resource_name: str, - opts: Optional[pulumi.ResourceOptions] = None, - iam_assumed_role_arn: Optional[pulumi.Input[str]] = None, - project_id: Optional[pulumi.Input[str]] = None, - provider_name: Optional[pulumi.Input[str]] = None, - __props__=None): - """ - ## Example Usage - - ```python - import pulumi - import pulumi_mongodbatlas as mongodbatlas - - test_role = mongodbatlas.CloudProviderAccess("testRole", - project_id="64259ee860c43338194b0f8e", - provider_name="AWS") - ``` - ### With AWS - - ```python - import pulumi - import pulumi_mongodbatlas as mongodbatlas - - test_role = mongodbatlas.CloudProviderAccessSetup("testRole", - project_id="64259ee860c43338194b0f8e", - provider_name="AWS") - ``` - ### With Azure - - ```python - import pulumi - import pulumi_mongodbatlas as mongodbatlas - - test_role = mongodbatlas.CloudProviderAccessSetup("testRole", - azure_configs=[mongodbatlas.CloudProviderAccessSetupAzureConfigArgs( - atlas_azure_app_id="9f2deb0d-be22-4524-a403-df531868bac0", - service_principal_id="22f1d2a6-d0e9-482a-83a4-b8dd7dddc2c1", - tenant_id="91402384-d71e-22f5-22dd-759e272cdc1c", - )], - project_id="64259ee860c43338194b0f8e", - provider_name="AZURE") - ``` - ### With AWS - ```python - import pulumi - import pulumi_mongodbatlas as mongodbatlas - - setup_only = mongodbatlas.CloudProviderAccessSetup("setupOnly", - project_id="64259ee860c43338194b0f8e", - provider_name="AWS") - auth_role = mongodbatlas.CloudProviderAccessAuthorization("authRole", - project_id=setup_only.project_id, - role_id=setup_only.role_id, - aws=mongodbatlas.CloudProviderAccessAuthorizationAwsArgs( - iam_assumed_role_arn="arn:aws:iam::772401394250:role/test-user-role", - )) - ``` - - ```python - import pulumi - import pulumi_mongodbatlas as mongodbatlas - - setup_only = mongodbatlas.CloudProviderAccessSetup("setupOnly", - project_id="64259ee860c43338194b0f8e", - provider_name="AZURE", - azure_configs=[mongodbatlas.CloudProviderAccessSetupAzureConfigArgs( - atlas_azure_app_id="9f2deb0d-be22-4524-a403-df531868bac0", - service_principal_id="22f1d2a6-d0e9-482a-83a4-b8dd7dddc2c1", - tenant_id="91402384-d71e-22f5-22dd-759e272cdc1c", - )]) - auth_role = mongodbatlas.CloudProviderAccessAuthorization("authRole", - project_id=setup_only.project_id, - role_id=setup_only.role_id, - azure=mongodbatlas.CloudProviderAccessAuthorizationAzureArgs( - atlas_azure_app_id="9f2deb0d-be22-4524-a403-df531868bac0", - service_principal_id="22f1d2a6-d0e9-482a-83a4-b8dd7dddc2c1", - tenant_id="91402384-d71e-22f5-22dd-759e272cdc1c", - )) - ``` - ## Authorize role - - Once the resource is created add the field `iam_assumed_role_arn` see [Set Up Unified AWS Access](https://docs.atlas.mongodb.com/security/set-up-unified-aws-access/#set-up-unified-aws-access) , and execute a new `pulumi up` this will create a PATCH request. - - ```python - import pulumi - import pulumi_mongodbatlas as mongodbatlas - - test_role = mongodbatlas.CloudProviderAccess("testRole", - iam_assumed_role_arn="arn:aws:iam::772401394250:role/test-user-role", - project_id="", - provider_name="AWS") - ``` - - ## Import - - The Cloud Provider Access resource can be imported using project ID and the provider name and mongodbatlas role id, in the format `project_id`-`provider_name`-`role_id`, e.g. - - ```sh - $ pulumi import mongodbatlas:index/cloudProviderAccess:CloudProviderAccess my_role 1112222b3bf99403840e8934-AWS-5fc17d476f7a33224f5b224e - ``` - See [MongoDB Atlas API](https://docs.atlas.mongodb.com/reference/api/cloud-provider-access-create-one-role/) Documentation for more information. - - :param str resource_name: The name of the resource. - :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] iam_assumed_role_arn: 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). - :param pulumi.Input[str] project_id: The unique ID for the project - :param pulumi.Input[str] provider_name: The cloud provider for which to create a new role. Currently only AWS is supported. - """ - ... - @overload - def __init__(__self__, - resource_name: str, - args: CloudProviderAccessArgs, - opts: Optional[pulumi.ResourceOptions] = None): - """ - ## Example Usage - - ```python - import pulumi - import pulumi_mongodbatlas as mongodbatlas - - test_role = mongodbatlas.CloudProviderAccess("testRole", - project_id="64259ee860c43338194b0f8e", - provider_name="AWS") - ``` - ### With AWS - - ```python - import pulumi - import pulumi_mongodbatlas as mongodbatlas - - test_role = mongodbatlas.CloudProviderAccessSetup("testRole", - project_id="64259ee860c43338194b0f8e", - provider_name="AWS") - ``` - ### With Azure - - ```python - import pulumi - import pulumi_mongodbatlas as mongodbatlas - - test_role = mongodbatlas.CloudProviderAccessSetup("testRole", - azure_configs=[mongodbatlas.CloudProviderAccessSetupAzureConfigArgs( - atlas_azure_app_id="9f2deb0d-be22-4524-a403-df531868bac0", - service_principal_id="22f1d2a6-d0e9-482a-83a4-b8dd7dddc2c1", - tenant_id="91402384-d71e-22f5-22dd-759e272cdc1c", - )], - project_id="64259ee860c43338194b0f8e", - provider_name="AZURE") - ``` - ### With AWS - ```python - import pulumi - import pulumi_mongodbatlas as mongodbatlas - - setup_only = mongodbatlas.CloudProviderAccessSetup("setupOnly", - project_id="64259ee860c43338194b0f8e", - provider_name="AWS") - auth_role = mongodbatlas.CloudProviderAccessAuthorization("authRole", - project_id=setup_only.project_id, - role_id=setup_only.role_id, - aws=mongodbatlas.CloudProviderAccessAuthorizationAwsArgs( - iam_assumed_role_arn="arn:aws:iam::772401394250:role/test-user-role", - )) - ``` - - ```python - import pulumi - import pulumi_mongodbatlas as mongodbatlas - - setup_only = mongodbatlas.CloudProviderAccessSetup("setupOnly", - project_id="64259ee860c43338194b0f8e", - provider_name="AZURE", - azure_configs=[mongodbatlas.CloudProviderAccessSetupAzureConfigArgs( - atlas_azure_app_id="9f2deb0d-be22-4524-a403-df531868bac0", - service_principal_id="22f1d2a6-d0e9-482a-83a4-b8dd7dddc2c1", - tenant_id="91402384-d71e-22f5-22dd-759e272cdc1c", - )]) - auth_role = mongodbatlas.CloudProviderAccessAuthorization("authRole", - project_id=setup_only.project_id, - role_id=setup_only.role_id, - azure=mongodbatlas.CloudProviderAccessAuthorizationAzureArgs( - atlas_azure_app_id="9f2deb0d-be22-4524-a403-df531868bac0", - service_principal_id="22f1d2a6-d0e9-482a-83a4-b8dd7dddc2c1", - tenant_id="91402384-d71e-22f5-22dd-759e272cdc1c", - )) - ``` - ## Authorize role - - Once the resource is created add the field `iam_assumed_role_arn` see [Set Up Unified AWS Access](https://docs.atlas.mongodb.com/security/set-up-unified-aws-access/#set-up-unified-aws-access) , and execute a new `pulumi up` this will create a PATCH request. - - ```python - import pulumi - import pulumi_mongodbatlas as mongodbatlas - - test_role = mongodbatlas.CloudProviderAccess("testRole", - iam_assumed_role_arn="arn:aws:iam::772401394250:role/test-user-role", - project_id="", - provider_name="AWS") - ``` - - ## Import - - The Cloud Provider Access resource can be imported using project ID and the provider name and mongodbatlas role id, in the format `project_id`-`provider_name`-`role_id`, e.g. - - ```sh - $ pulumi import mongodbatlas:index/cloudProviderAccess:CloudProviderAccess my_role 1112222b3bf99403840e8934-AWS-5fc17d476f7a33224f5b224e - ``` - See [MongoDB Atlas API](https://docs.atlas.mongodb.com/reference/api/cloud-provider-access-create-one-role/) Documentation for more information. - - :param str resource_name: The name of the resource. - :param CloudProviderAccessArgs args: The arguments to use to populate this resource's properties. - :param pulumi.ResourceOptions opts: Options for the resource. - """ - ... - def __init__(__self__, resource_name: str, *args, **kwargs): - resource_args, opts = _utilities.get_resource_args_opts(CloudProviderAccessArgs, pulumi.ResourceOptions, *args, **kwargs) - if resource_args is not None: - __self__._internal_init(resource_name, opts, **resource_args.__dict__) - else: - __self__._internal_init(resource_name, *args, **kwargs) - - def _internal_init(__self__, - resource_name: str, - opts: Optional[pulumi.ResourceOptions] = None, - iam_assumed_role_arn: Optional[pulumi.Input[str]] = None, - project_id: Optional[pulumi.Input[str]] = None, - provider_name: Optional[pulumi.Input[str]] = None, - __props__=None): - opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) - if not isinstance(opts, pulumi.ResourceOptions): - raise TypeError('Expected resource options to be a ResourceOptions instance') - if opts.id is None: - if __props__ is not None: - raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') - __props__ = CloudProviderAccessArgs.__new__(CloudProviderAccessArgs) - - __props__.__dict__["iam_assumed_role_arn"] = iam_assumed_role_arn - if project_id is None and not opts.urn: - raise TypeError("Missing required property 'project_id'") - __props__.__dict__["project_id"] = project_id - if provider_name is None and not opts.urn: - raise TypeError("Missing required property 'provider_name'") - __props__.__dict__["provider_name"] = provider_name - __props__.__dict__["atlas_assumed_role_external_id"] = None - __props__.__dict__["atlas_aws_account_arn"] = None - __props__.__dict__["authorized_date"] = None - __props__.__dict__["created_date"] = None - __props__.__dict__["feature_usages"] = None - __props__.__dict__["role_id"] = None - super(CloudProviderAccess, __self__).__init__( - 'mongodbatlas:index/cloudProviderAccess:CloudProviderAccess', - resource_name, - __props__, - opts) - - @staticmethod - def get(resource_name: str, - id: pulumi.Input[str], - opts: Optional[pulumi.ResourceOptions] = None, - atlas_assumed_role_external_id: Optional[pulumi.Input[str]] = None, - atlas_aws_account_arn: Optional[pulumi.Input[str]] = None, - authorized_date: Optional[pulumi.Input[str]] = None, - created_date: Optional[pulumi.Input[str]] = None, - feature_usages: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CloudProviderAccessFeatureUsageArgs']]]]] = None, - iam_assumed_role_arn: Optional[pulumi.Input[str]] = None, - project_id: Optional[pulumi.Input[str]] = None, - provider_name: Optional[pulumi.Input[str]] = None, - role_id: Optional[pulumi.Input[str]] = None) -> 'CloudProviderAccess': - """ - Get an existing CloudProviderAccess resource's state with the given name, id, and optional extra - properties used to qualify the lookup. - - :param str resource_name: The unique name of the resulting resource. - :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. - :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] atlas_assumed_role_external_id: Unique external ID Atlas uses when assuming the IAM role in your AWS account. - :param pulumi.Input[str] atlas_aws_account_arn: ARN associated with the Atlas AWS account used to assume IAM roles in your AWS account. - :param pulumi.Input[str] authorized_date: Date on which this role was authorized. - :param pulumi.Input[str] created_date: Date on which this role was created. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CloudProviderAccessFeatureUsageArgs']]]] feature_usages: Atlas features this AWS IAM role is linked to. - :param pulumi.Input[str] iam_assumed_role_arn: 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). - :param pulumi.Input[str] project_id: The unique ID for the project - :param pulumi.Input[str] provider_name: The cloud provider for which to create a new role. Currently only AWS is supported. - :param pulumi.Input[str] role_id: Unique ID of this role returned by mongodb atlas api - - Conditional - """ - opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) - - __props__ = _CloudProviderAccessState.__new__(_CloudProviderAccessState) - - __props__.__dict__["atlas_assumed_role_external_id"] = atlas_assumed_role_external_id - __props__.__dict__["atlas_aws_account_arn"] = atlas_aws_account_arn - __props__.__dict__["authorized_date"] = authorized_date - __props__.__dict__["created_date"] = created_date - __props__.__dict__["feature_usages"] = feature_usages - __props__.__dict__["iam_assumed_role_arn"] = iam_assumed_role_arn - __props__.__dict__["project_id"] = project_id - __props__.__dict__["provider_name"] = provider_name - __props__.__dict__["role_id"] = role_id - return CloudProviderAccess(resource_name, opts=opts, __props__=__props__) - - @property - @pulumi.getter(name="atlasAssumedRoleExternalId") - def atlas_assumed_role_external_id(self) -> pulumi.Output[str]: - """ - Unique external ID Atlas uses when assuming the IAM role in your AWS account. - """ - return pulumi.get(self, "atlas_assumed_role_external_id") - - @property - @pulumi.getter(name="atlasAwsAccountArn") - def atlas_aws_account_arn(self) -> pulumi.Output[str]: - """ - ARN associated with the Atlas AWS account used to assume IAM roles in your AWS account. - """ - return pulumi.get(self, "atlas_aws_account_arn") - - @property - @pulumi.getter(name="authorizedDate") - def authorized_date(self) -> pulumi.Output[str]: - """ - Date on which this role was authorized. - """ - return pulumi.get(self, "authorized_date") - - @property - @pulumi.getter(name="createdDate") - def created_date(self) -> pulumi.Output[str]: - """ - Date on which this role was created. - """ - return pulumi.get(self, "created_date") - - @property - @pulumi.getter(name="featureUsages") - def feature_usages(self) -> pulumi.Output[Sequence['outputs.CloudProviderAccessFeatureUsage']]: - """ - Atlas features this AWS IAM role is linked to. - """ - return pulumi.get(self, "feature_usages") - - @property - @pulumi.getter(name="iamAssumedRoleArn") - 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). - """ - return pulumi.get(self, "iam_assumed_role_arn") - - @property - @pulumi.getter(name="projectId") - def project_id(self) -> pulumi.Output[str]: - """ - The unique ID for the project - """ - return pulumi.get(self, "project_id") - - @property - @pulumi.getter(name="providerName") - def provider_name(self) -> pulumi.Output[str]: - """ - The cloud provider for which to create a new role. Currently only AWS is supported. - """ - return pulumi.get(self, "provider_name") - - @property - @pulumi.getter(name="roleId") - def role_id(self) -> pulumi.Output[str]: - """ - Unique ID of this role returned by mongodb atlas api - - Conditional - """ - return pulumi.get(self, "role_id") - diff --git a/sdk/python/pulumi_mongodbatlas/federated_database_instance.py b/sdk/python/pulumi_mongodbatlas/federated_database_instance.py index 4554c5a1..fad3882a 100644 --- a/sdk/python/pulumi_mongodbatlas/federated_database_instance.py +++ b/sdk/python/pulumi_mongodbatlas/federated_database_instance.py @@ -807,12 +807,12 @@ def get(resource_name: str, @property @pulumi.getter(name="cloudProviderConfig") - def cloud_provider_config(self) -> pulumi.Output[Optional['outputs.FederatedDatabaseInstanceCloudProviderConfig']]: + def cloud_provider_config(self) -> pulumi.Output['outputs.FederatedDatabaseInstanceCloudProviderConfig']: return pulumi.get(self, "cloud_provider_config") @property @pulumi.getter(name="dataProcessRegion") - def data_process_region(self) -> pulumi.Output[Optional['outputs.FederatedDatabaseInstanceDataProcessRegion']]: + def data_process_region(self) -> pulumi.Output['outputs.FederatedDatabaseInstanceDataProcessRegion']: return pulumi.get(self, "data_process_region") @property @@ -851,7 +851,7 @@ def state(self) -> pulumi.Output[str]: @property @pulumi.getter(name="storageDatabases") - def storage_databases(self) -> pulumi.Output[Optional[Sequence['outputs.FederatedDatabaseInstanceStorageDatabase']]]: + def storage_databases(self) -> pulumi.Output[Sequence['outputs.FederatedDatabaseInstanceStorageDatabase']]: """ Configuration details for mapping each data store to queryable databases and collections. For complete documentation on this object and its nested fields, see [databases](https://docs.mongodb.com/datalake/reference/format/data-lake-configuration#std-label-datalake-databases-reference). An empty object indicates that the Federated Database Instance has no mapping configuration for any data store. * `storage_databases.#.name` - Name of the database to which the Federated Database Instance maps the data contained in the data store. diff --git a/sdk/python/pulumi_mongodbatlas/federated_settings_identity_provider.py b/sdk/python/pulumi_mongodbatlas/federated_settings_identity_provider.py index ca4b214a..c523656f 100644 --- a/sdk/python/pulumi_mongodbatlas/federated_settings_identity_provider.py +++ b/sdk/python/pulumi_mongodbatlas/federated_settings_identity_provider.py @@ -16,38 +16,67 @@ class FederatedSettingsIdentityProviderArgs: def __init__(__self__, *, federation_settings_id: pulumi.Input[str], issuer_uri: pulumi.Input[str], - request_binding: pulumi.Input[str], - response_signature_algorithm: pulumi.Input[str], - sso_debug_enabled: pulumi.Input[bool], - sso_url: pulumi.Input[str], - status: pulumi.Input[str], associated_domains: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, - name: Optional[pulumi.Input[str]] = None): + audience_claims: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + client_id: Optional[pulumi.Input[str]] = None, + groups_claim: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + protocol: Optional[pulumi.Input[str]] = None, + request_binding: Optional[pulumi.Input[str]] = None, + requested_scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + response_signature_algorithm: Optional[pulumi.Input[str]] = None, + sso_debug_enabled: Optional[pulumi.Input[bool]] = None, + sso_url: Optional[pulumi.Input[str]] = None, + status: Optional[pulumi.Input[str]] = None, + user_claim: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a FederatedSettingsIdentityProvider resource. :param pulumi.Input[str] federation_settings_id: Unique 24-hexadecimal digit string that identifies the federated authentication configuration. - :param pulumi.Input[str] issuer_uri: Unique string that identifies the issuer of the SAML - :param pulumi.Input[str] request_binding: SAML Authentication Request Protocol HTTP method binding (POST or REDIRECT) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values: + :param pulumi.Input[str] issuer_uri: Unique string that identifies the issuer of the IdP. + :param pulumi.Input[Sequence[pulumi.Input[str]]] associated_domains: List that contains the domains associated with the identity provider. + :param pulumi.Input[Sequence[pulumi.Input[str]]] audience_claims: Identifier of the intended recipient of the token used in OIDC IdP. + :param pulumi.Input[str] client_id: Client identifier that is assigned to an application by the OIDC Identity Provider. + :param pulumi.Input[str] groups_claim: Identifier of the claim which contains OIDC IdP Group IDs in the token. + :param pulumi.Input[str] name: Human-readable label that identifies the identity provider. + :param pulumi.Input[str] protocol: The protocol of the identity provider. Either `SAML` or `OIDC`. + :param pulumi.Input[str] request_binding: SAML Authentication Request Protocol HTTP method binding (`POST` or `REDIRECT`) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values: - HTTP POST - HTTP REDIRECT - :param pulumi.Input[str] response_signature_algorithm: Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include SHA-1 and SHA-256. + :param pulumi.Input[Sequence[pulumi.Input[str]]] requested_scopes: Scopes that MongoDB applications will request from the authorization endpoint used for OIDC IdPs. + :param pulumi.Input[str] response_signature_algorithm: Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include `SHA-1 `and `SHA-256`. :param pulumi.Input[bool] sso_debug_enabled: Flag that indicates whether the identity provider has SSO debug enabled. :param pulumi.Input[str] sso_url: Unique string that identifies the intended audience of the SAML assertion. :param pulumi.Input[str] status: String enum that indicates whether the identity provider is active or not. Accepted values are ACTIVE or INACTIVE. - :param pulumi.Input[Sequence[pulumi.Input[str]]] associated_domains: List that contains the domains associated with the identity provider. - :param pulumi.Input[str] name: Human-readable label that identifies the identity provider. + :param pulumi.Input[str] user_claim: Identifier of the claim which contains the user ID in the token used for OIDC IdPs. """ pulumi.set(__self__, "federation_settings_id", federation_settings_id) pulumi.set(__self__, "issuer_uri", issuer_uri) - pulumi.set(__self__, "request_binding", request_binding) - pulumi.set(__self__, "response_signature_algorithm", response_signature_algorithm) - pulumi.set(__self__, "sso_debug_enabled", sso_debug_enabled) - pulumi.set(__self__, "sso_url", sso_url) - pulumi.set(__self__, "status", status) if associated_domains is not None: pulumi.set(__self__, "associated_domains", associated_domains) + if audience_claims is not None: + pulumi.set(__self__, "audience_claims", audience_claims) + if client_id is not None: + pulumi.set(__self__, "client_id", client_id) + if groups_claim is not None: + pulumi.set(__self__, "groups_claim", groups_claim) if name is not None: pulumi.set(__self__, "name", name) + if protocol is not None: + pulumi.set(__self__, "protocol", protocol) + if request_binding is not None: + pulumi.set(__self__, "request_binding", request_binding) + if requested_scopes is not None: + pulumi.set(__self__, "requested_scopes", requested_scopes) + if response_signature_algorithm is not None: + pulumi.set(__self__, "response_signature_algorithm", response_signature_algorithm) + if sso_debug_enabled is not None: + pulumi.set(__self__, "sso_debug_enabled", sso_debug_enabled) + if sso_url is not None: + pulumi.set(__self__, "sso_url", sso_url) + if status is not None: + pulumi.set(__self__, "status", status) + if user_claim is not None: + pulumi.set(__self__, "user_claim", user_claim) @property @pulumi.getter(name="federationSettingsId") @@ -65,7 +94,7 @@ def federation_settings_id(self, value: pulumi.Input[str]): @pulumi.getter(name="issuerUri") def issuer_uri(self) -> pulumi.Input[str]: """ - Unique string that identifies the issuer of the SAML + Unique string that identifies the issuer of the IdP. """ return pulumi.get(self, "issuer_uri") @@ -73,133 +102,231 @@ def issuer_uri(self) -> pulumi.Input[str]: def issuer_uri(self, value: pulumi.Input[str]): pulumi.set(self, "issuer_uri", value) + @property + @pulumi.getter(name="associatedDomains") + def associated_domains(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + List that contains the domains associated with the identity provider. + """ + return pulumi.get(self, "associated_domains") + + @associated_domains.setter + def associated_domains(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "associated_domains", value) + + @property + @pulumi.getter(name="audienceClaims") + def audience_claims(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Identifier of the intended recipient of the token used in OIDC IdP. + """ + return pulumi.get(self, "audience_claims") + + @audience_claims.setter + def audience_claims(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "audience_claims", value) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> Optional[pulumi.Input[str]]: + """ + Client identifier that is assigned to an application by the OIDC Identity Provider. + """ + return pulumi.get(self, "client_id") + + @client_id.setter + def client_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "client_id", value) + + @property + @pulumi.getter(name="groupsClaim") + def groups_claim(self) -> Optional[pulumi.Input[str]]: + """ + Identifier of the claim which contains OIDC IdP Group IDs in the token. + """ + return pulumi.get(self, "groups_claim") + + @groups_claim.setter + def groups_claim(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "groups_claim", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Human-readable label that identifies the identity provider. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def protocol(self) -> Optional[pulumi.Input[str]]: + """ + The protocol of the identity provider. Either `SAML` or `OIDC`. + """ + return pulumi.get(self, "protocol") + + @protocol.setter + def protocol(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "protocol", value) + @property @pulumi.getter(name="requestBinding") - def request_binding(self) -> pulumi.Input[str]: + def request_binding(self) -> Optional[pulumi.Input[str]]: """ - SAML Authentication Request Protocol HTTP method binding (POST or REDIRECT) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values: + SAML Authentication Request Protocol HTTP method binding (`POST` or `REDIRECT`) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values: - HTTP POST - HTTP REDIRECT """ return pulumi.get(self, "request_binding") @request_binding.setter - def request_binding(self, value: pulumi.Input[str]): + def request_binding(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "request_binding", value) + @property + @pulumi.getter(name="requestedScopes") + def requested_scopes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Scopes that MongoDB applications will request from the authorization endpoint used for OIDC IdPs. + """ + return pulumi.get(self, "requested_scopes") + + @requested_scopes.setter + def requested_scopes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "requested_scopes", value) + @property @pulumi.getter(name="responseSignatureAlgorithm") - def response_signature_algorithm(self) -> pulumi.Input[str]: + def response_signature_algorithm(self) -> Optional[pulumi.Input[str]]: """ - Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include SHA-1 and SHA-256. + Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include `SHA-1 `and `SHA-256`. """ return pulumi.get(self, "response_signature_algorithm") @response_signature_algorithm.setter - def response_signature_algorithm(self, value: pulumi.Input[str]): + def response_signature_algorithm(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "response_signature_algorithm", value) @property @pulumi.getter(name="ssoDebugEnabled") - def sso_debug_enabled(self) -> pulumi.Input[bool]: + def sso_debug_enabled(self) -> Optional[pulumi.Input[bool]]: """ Flag that indicates whether the identity provider has SSO debug enabled. """ return pulumi.get(self, "sso_debug_enabled") @sso_debug_enabled.setter - def sso_debug_enabled(self, value: pulumi.Input[bool]): + def sso_debug_enabled(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "sso_debug_enabled", value) @property @pulumi.getter(name="ssoUrl") - def sso_url(self) -> pulumi.Input[str]: + def sso_url(self) -> Optional[pulumi.Input[str]]: """ Unique string that identifies the intended audience of the SAML assertion. """ return pulumi.get(self, "sso_url") @sso_url.setter - def sso_url(self, value: pulumi.Input[str]): + def sso_url(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "sso_url", value) @property @pulumi.getter - def status(self) -> pulumi.Input[str]: + def status(self) -> Optional[pulumi.Input[str]]: """ String enum that indicates whether the identity provider is active or not. Accepted values are ACTIVE or INACTIVE. """ return pulumi.get(self, "status") @status.setter - def status(self, value: pulumi.Input[str]): + def status(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "status", value) @property - @pulumi.getter(name="associatedDomains") - def associated_domains(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + @pulumi.getter(name="userClaim") + def user_claim(self) -> Optional[pulumi.Input[str]]: """ - List that contains the domains associated with the identity provider. + Identifier of the claim which contains the user ID in the token used for OIDC IdPs. """ - return pulumi.get(self, "associated_domains") + return pulumi.get(self, "user_claim") - @associated_domains.setter - def associated_domains(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): - pulumi.set(self, "associated_domains", value) - - @property - @pulumi.getter - def name(self) -> Optional[pulumi.Input[str]]: - """ - Human-readable label that identifies the identity provider. - """ - return pulumi.get(self, "name") - - @name.setter - def name(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "name", value) + @user_claim.setter + def user_claim(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "user_claim", value) @pulumi.input_type class _FederatedSettingsIdentityProviderState: def __init__(__self__, *, associated_domains: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + audience_claims: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + client_id: Optional[pulumi.Input[str]] = None, federation_settings_id: Optional[pulumi.Input[str]] = None, + groups_claim: Optional[pulumi.Input[str]] = None, + idp_id: Optional[pulumi.Input[str]] = None, issuer_uri: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, okta_idp_id: Optional[pulumi.Input[str]] = None, + protocol: Optional[pulumi.Input[str]] = None, request_binding: Optional[pulumi.Input[str]] = None, + requested_scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, response_signature_algorithm: Optional[pulumi.Input[str]] = None, sso_debug_enabled: Optional[pulumi.Input[bool]] = None, sso_url: Optional[pulumi.Input[str]] = None, - status: Optional[pulumi.Input[str]] = None): + status: Optional[pulumi.Input[str]] = None, + user_claim: Optional[pulumi.Input[str]] = None): """ Input properties used for looking up and filtering FederatedSettingsIdentityProvider resources. :param pulumi.Input[Sequence[pulumi.Input[str]]] associated_domains: List that contains the domains associated with the identity provider. + :param pulumi.Input[Sequence[pulumi.Input[str]]] audience_claims: Identifier of the intended recipient of the token used in OIDC IdP. + :param pulumi.Input[str] client_id: Client identifier that is assigned to an application by the OIDC Identity Provider. :param pulumi.Input[str] federation_settings_id: Unique 24-hexadecimal digit string that identifies the federated authentication configuration. - :param pulumi.Input[str] issuer_uri: Unique string that identifies the issuer of the SAML + :param pulumi.Input[str] groups_claim: Identifier of the claim which contains OIDC IdP Group IDs in the token. + :param pulumi.Input[str] idp_id: Unique 24-hexadecimal digit string that identifies the IdP. + :param pulumi.Input[str] issuer_uri: Unique string that identifies the issuer of the IdP. :param pulumi.Input[str] name: Human-readable label that identifies the identity provider. :param pulumi.Input[str] okta_idp_id: Unique 20-hexadecimal digit string that identifies the IdP. - :param pulumi.Input[str] request_binding: SAML Authentication Request Protocol HTTP method binding (POST or REDIRECT) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values: + :param pulumi.Input[str] protocol: The protocol of the identity provider. Either `SAML` or `OIDC`. + :param pulumi.Input[str] request_binding: SAML Authentication Request Protocol HTTP method binding (`POST` or `REDIRECT`) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values: - HTTP POST - HTTP REDIRECT - :param pulumi.Input[str] response_signature_algorithm: Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include SHA-1 and SHA-256. + :param pulumi.Input[Sequence[pulumi.Input[str]]] requested_scopes: Scopes that MongoDB applications will request from the authorization endpoint used for OIDC IdPs. + :param pulumi.Input[str] response_signature_algorithm: Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include `SHA-1 `and `SHA-256`. :param pulumi.Input[bool] sso_debug_enabled: Flag that indicates whether the identity provider has SSO debug enabled. :param pulumi.Input[str] sso_url: Unique string that identifies the intended audience of the SAML assertion. :param pulumi.Input[str] status: String enum that indicates whether the identity provider is active or not. Accepted values are ACTIVE or INACTIVE. + :param pulumi.Input[str] user_claim: Identifier of the claim which contains the user ID in the token used for OIDC IdPs. """ if associated_domains is not None: pulumi.set(__self__, "associated_domains", associated_domains) + if audience_claims is not None: + pulumi.set(__self__, "audience_claims", audience_claims) + if client_id is not None: + pulumi.set(__self__, "client_id", client_id) if federation_settings_id is not None: pulumi.set(__self__, "federation_settings_id", federation_settings_id) + if groups_claim is not None: + pulumi.set(__self__, "groups_claim", groups_claim) + if idp_id is not None: + pulumi.set(__self__, "idp_id", idp_id) if issuer_uri is not None: pulumi.set(__self__, "issuer_uri", issuer_uri) if name is not None: pulumi.set(__self__, "name", name) if okta_idp_id is not None: pulumi.set(__self__, "okta_idp_id", okta_idp_id) + if protocol is not None: + pulumi.set(__self__, "protocol", protocol) if request_binding is not None: pulumi.set(__self__, "request_binding", request_binding) + if requested_scopes is not None: + pulumi.set(__self__, "requested_scopes", requested_scopes) if response_signature_algorithm is not None: pulumi.set(__self__, "response_signature_algorithm", response_signature_algorithm) if sso_debug_enabled is not None: @@ -208,6 +335,8 @@ def __init__(__self__, *, pulumi.set(__self__, "sso_url", sso_url) if status is not None: pulumi.set(__self__, "status", status) + if user_claim is not None: + pulumi.set(__self__, "user_claim", user_claim) @property @pulumi.getter(name="associatedDomains") @@ -221,6 +350,30 @@ def associated_domains(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str] def associated_domains(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): pulumi.set(self, "associated_domains", value) + @property + @pulumi.getter(name="audienceClaims") + def audience_claims(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Identifier of the intended recipient of the token used in OIDC IdP. + """ + return pulumi.get(self, "audience_claims") + + @audience_claims.setter + def audience_claims(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "audience_claims", value) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> Optional[pulumi.Input[str]]: + """ + Client identifier that is assigned to an application by the OIDC Identity Provider. + """ + return pulumi.get(self, "client_id") + + @client_id.setter + def client_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "client_id", value) + @property @pulumi.getter(name="federationSettingsId") def federation_settings_id(self) -> Optional[pulumi.Input[str]]: @@ -233,11 +386,35 @@ def federation_settings_id(self) -> Optional[pulumi.Input[str]]: def federation_settings_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "federation_settings_id", value) + @property + @pulumi.getter(name="groupsClaim") + def groups_claim(self) -> Optional[pulumi.Input[str]]: + """ + Identifier of the claim which contains OIDC IdP Group IDs in the token. + """ + return pulumi.get(self, "groups_claim") + + @groups_claim.setter + def groups_claim(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "groups_claim", value) + + @property + @pulumi.getter(name="idpId") + def idp_id(self) -> Optional[pulumi.Input[str]]: + """ + Unique 24-hexadecimal digit string that identifies the IdP. + """ + return pulumi.get(self, "idp_id") + + @idp_id.setter + def idp_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "idp_id", value) + @property @pulumi.getter(name="issuerUri") def issuer_uri(self) -> Optional[pulumi.Input[str]]: """ - Unique string that identifies the issuer of the SAML + Unique string that identifies the issuer of the IdP. """ return pulumi.get(self, "issuer_uri") @@ -269,11 +446,23 @@ def okta_idp_id(self) -> Optional[pulumi.Input[str]]: def okta_idp_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "okta_idp_id", value) + @property + @pulumi.getter + def protocol(self) -> Optional[pulumi.Input[str]]: + """ + The protocol of the identity provider. Either `SAML` or `OIDC`. + """ + return pulumi.get(self, "protocol") + + @protocol.setter + def protocol(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "protocol", value) + @property @pulumi.getter(name="requestBinding") def request_binding(self) -> Optional[pulumi.Input[str]]: """ - SAML Authentication Request Protocol HTTP method binding (POST or REDIRECT) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values: + SAML Authentication Request Protocol HTTP method binding (`POST` or `REDIRECT`) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values: - HTTP POST - HTTP REDIRECT """ @@ -283,11 +472,23 @@ def request_binding(self) -> Optional[pulumi.Input[str]]: def request_binding(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "request_binding", value) + @property + @pulumi.getter(name="requestedScopes") + def requested_scopes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Scopes that MongoDB applications will request from the authorization endpoint used for OIDC IdPs. + """ + return pulumi.get(self, "requested_scopes") + + @requested_scopes.setter + def requested_scopes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "requested_scopes", value) + @property @pulumi.getter(name="responseSignatureAlgorithm") def response_signature_algorithm(self) -> Optional[pulumi.Input[str]]: """ - Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include SHA-1 and SHA-256. + Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include `SHA-1 `and `SHA-256`. """ return pulumi.get(self, "response_signature_algorithm") @@ -331,6 +532,18 @@ def status(self) -> Optional[pulumi.Input[str]]: def status(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "status", value) + @property + @pulumi.getter(name="userClaim") + def user_claim(self) -> Optional[pulumi.Input[str]]: + """ + Identifier of the claim which contains the user ID in the token used for OIDC IdPs. + """ + return pulumi.get(self, "user_claim") + + @user_claim.setter + def user_claim(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "user_claim", value) + class FederatedSettingsIdentityProvider(pulumi.CustomResource): @overload @@ -338,17 +551,25 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, associated_domains: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + audience_claims: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + client_id: Optional[pulumi.Input[str]] = None, federation_settings_id: Optional[pulumi.Input[str]] = None, + groups_claim: Optional[pulumi.Input[str]] = None, issuer_uri: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, + protocol: Optional[pulumi.Input[str]] = None, request_binding: Optional[pulumi.Input[str]] = None, + requested_scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, response_signature_algorithm: Optional[pulumi.Input[str]] = None, sso_debug_enabled: Optional[pulumi.Input[bool]] = None, sso_url: Optional[pulumi.Input[str]] = None, status: Optional[pulumi.Input[str]] = None, + user_claim: Optional[pulumi.Input[str]] = None, __props__=None): """ `FederatedSettingsIdentityProvider` provides an Atlas federated settings identity provider resource provides a subset of settings to be maintained post import of the existing resource. + + > **NOTE:** OIDC Workforce IdP is currently in preview. To learn more about OIDC and existing limitations see the [OIDC Authentication Documentation](https://www.mongodb.com/docs/atlas/security-oidc/). ## Example Usage > **IMPORTANT** You **MUST** import this resource before you can manage it with this provider. @@ -375,21 +596,29 @@ def __init__(__self__, ```sh $ pulumi import mongodbatlas:index/federatedSettingsIdentityProvider:FederatedSettingsIdentityProvider identity_provider 6287a663c660f52b1c441c6c-0oad4fas87jL5Xnk1297 ``` - For more information see[MongoDB Atlas API Reference.](https://www.mongodb.com/docs/atlas/reference/api/federation-configuration/) + __WARNING:__ Starting from terraform provider version 1.16.0, to import the resource a 24-hexadecimal digit string that identifies the IdP (`idp_id`) will have to be used instead of `okta_idp_id`. See more [here](../guides/1.15.0-upgrade-guide.html.markdown) + + For more information see[MongoDB Atlas API Reference.](https://www.mongodb.com/docs/atlas/reference/api/federation-configuration/) :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[Sequence[pulumi.Input[str]]] associated_domains: List that contains the domains associated with the identity provider. + :param pulumi.Input[Sequence[pulumi.Input[str]]] audience_claims: Identifier of the intended recipient of the token used in OIDC IdP. + :param pulumi.Input[str] client_id: Client identifier that is assigned to an application by the OIDC Identity Provider. :param pulumi.Input[str] federation_settings_id: Unique 24-hexadecimal digit string that identifies the federated authentication configuration. - :param pulumi.Input[str] issuer_uri: Unique string that identifies the issuer of the SAML + :param pulumi.Input[str] groups_claim: Identifier of the claim which contains OIDC IdP Group IDs in the token. + :param pulumi.Input[str] issuer_uri: Unique string that identifies the issuer of the IdP. :param pulumi.Input[str] name: Human-readable label that identifies the identity provider. - :param pulumi.Input[str] request_binding: SAML Authentication Request Protocol HTTP method binding (POST or REDIRECT) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values: + :param pulumi.Input[str] protocol: The protocol of the identity provider. Either `SAML` or `OIDC`. + :param pulumi.Input[str] request_binding: SAML Authentication Request Protocol HTTP method binding (`POST` or `REDIRECT`) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values: - HTTP POST - HTTP REDIRECT - :param pulumi.Input[str] response_signature_algorithm: Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include SHA-1 and SHA-256. + :param pulumi.Input[Sequence[pulumi.Input[str]]] requested_scopes: Scopes that MongoDB applications will request from the authorization endpoint used for OIDC IdPs. + :param pulumi.Input[str] response_signature_algorithm: Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include `SHA-1 `and `SHA-256`. :param pulumi.Input[bool] sso_debug_enabled: Flag that indicates whether the identity provider has SSO debug enabled. :param pulumi.Input[str] sso_url: Unique string that identifies the intended audience of the SAML assertion. :param pulumi.Input[str] status: String enum that indicates whether the identity provider is active or not. Accepted values are ACTIVE or INACTIVE. + :param pulumi.Input[str] user_claim: Identifier of the claim which contains the user ID in the token used for OIDC IdPs. """ ... @overload @@ -399,6 +628,8 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None): """ `FederatedSettingsIdentityProvider` provides an Atlas federated settings identity provider resource provides a subset of settings to be maintained post import of the existing resource. + + > **NOTE:** OIDC Workforce IdP is currently in preview. To learn more about OIDC and existing limitations see the [OIDC Authentication Documentation](https://www.mongodb.com/docs/atlas/security-oidc/). ## Example Usage > **IMPORTANT** You **MUST** import this resource before you can manage it with this provider. @@ -425,7 +656,9 @@ def __init__(__self__, ```sh $ pulumi import mongodbatlas:index/federatedSettingsIdentityProvider:FederatedSettingsIdentityProvider identity_provider 6287a663c660f52b1c441c6c-0oad4fas87jL5Xnk1297 ``` - For more information see[MongoDB Atlas API Reference.](https://www.mongodb.com/docs/atlas/reference/api/federation-configuration/) + __WARNING:__ Starting from terraform provider version 1.16.0, to import the resource a 24-hexadecimal digit string that identifies the IdP (`idp_id`) will have to be used instead of `okta_idp_id`. See more [here](../guides/1.15.0-upgrade-guide.html.markdown) + + For more information see[MongoDB Atlas API Reference.](https://www.mongodb.com/docs/atlas/reference/api/federation-configuration/) :param str resource_name: The name of the resource. :param FederatedSettingsIdentityProviderArgs args: The arguments to use to populate this resource's properties. @@ -443,14 +676,20 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, associated_domains: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + audience_claims: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + client_id: Optional[pulumi.Input[str]] = None, federation_settings_id: Optional[pulumi.Input[str]] = None, + groups_claim: Optional[pulumi.Input[str]] = None, issuer_uri: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, + protocol: Optional[pulumi.Input[str]] = None, request_binding: Optional[pulumi.Input[str]] = None, + requested_scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, response_signature_algorithm: Optional[pulumi.Input[str]] = None, sso_debug_enabled: Optional[pulumi.Input[bool]] = None, sso_url: Optional[pulumi.Input[str]] = None, status: Optional[pulumi.Input[str]] = None, + user_claim: Optional[pulumi.Input[str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -461,28 +700,25 @@ def _internal_init(__self__, __props__ = FederatedSettingsIdentityProviderArgs.__new__(FederatedSettingsIdentityProviderArgs) __props__.__dict__["associated_domains"] = associated_domains + __props__.__dict__["audience_claims"] = audience_claims + __props__.__dict__["client_id"] = client_id if federation_settings_id is None and not opts.urn: raise TypeError("Missing required property 'federation_settings_id'") __props__.__dict__["federation_settings_id"] = federation_settings_id + __props__.__dict__["groups_claim"] = groups_claim if issuer_uri is None and not opts.urn: raise TypeError("Missing required property 'issuer_uri'") __props__.__dict__["issuer_uri"] = issuer_uri __props__.__dict__["name"] = name - if request_binding is None and not opts.urn: - raise TypeError("Missing required property 'request_binding'") + __props__.__dict__["protocol"] = protocol __props__.__dict__["request_binding"] = request_binding - if response_signature_algorithm is None and not opts.urn: - raise TypeError("Missing required property 'response_signature_algorithm'") + __props__.__dict__["requested_scopes"] = requested_scopes __props__.__dict__["response_signature_algorithm"] = response_signature_algorithm - if sso_debug_enabled is None and not opts.urn: - raise TypeError("Missing required property 'sso_debug_enabled'") __props__.__dict__["sso_debug_enabled"] = sso_debug_enabled - if sso_url is None and not opts.urn: - raise TypeError("Missing required property 'sso_url'") __props__.__dict__["sso_url"] = sso_url - if status is None and not opts.urn: - raise TypeError("Missing required property 'status'") __props__.__dict__["status"] = status + __props__.__dict__["user_claim"] = user_claim + __props__.__dict__["idp_id"] = None __props__.__dict__["okta_idp_id"] = None super(FederatedSettingsIdentityProvider, __self__).__init__( 'mongodbatlas:index/federatedSettingsIdentityProvider:FederatedSettingsIdentityProvider', @@ -495,15 +731,22 @@ def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, associated_domains: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + audience_claims: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + client_id: Optional[pulumi.Input[str]] = None, federation_settings_id: Optional[pulumi.Input[str]] = None, + groups_claim: Optional[pulumi.Input[str]] = None, + idp_id: Optional[pulumi.Input[str]] = None, issuer_uri: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, okta_idp_id: Optional[pulumi.Input[str]] = None, + protocol: Optional[pulumi.Input[str]] = None, request_binding: Optional[pulumi.Input[str]] = None, + requested_scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, response_signature_algorithm: Optional[pulumi.Input[str]] = None, sso_debug_enabled: Optional[pulumi.Input[bool]] = None, sso_url: Optional[pulumi.Input[str]] = None, - status: Optional[pulumi.Input[str]] = None) -> 'FederatedSettingsIdentityProvider': + status: Optional[pulumi.Input[str]] = None, + user_claim: Optional[pulumi.Input[str]] = None) -> 'FederatedSettingsIdentityProvider': """ Get an existing FederatedSettingsIdentityProvider resource's state with the given name, id, and optional extra properties used to qualify the lookup. @@ -512,32 +755,46 @@ 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[Sequence[pulumi.Input[str]]] associated_domains: List that contains the domains associated with the identity provider. + :param pulumi.Input[Sequence[pulumi.Input[str]]] audience_claims: Identifier of the intended recipient of the token used in OIDC IdP. + :param pulumi.Input[str] client_id: Client identifier that is assigned to an application by the OIDC Identity Provider. :param pulumi.Input[str] federation_settings_id: Unique 24-hexadecimal digit string that identifies the federated authentication configuration. - :param pulumi.Input[str] issuer_uri: Unique string that identifies the issuer of the SAML + :param pulumi.Input[str] groups_claim: Identifier of the claim which contains OIDC IdP Group IDs in the token. + :param pulumi.Input[str] idp_id: Unique 24-hexadecimal digit string that identifies the IdP. + :param pulumi.Input[str] issuer_uri: Unique string that identifies the issuer of the IdP. :param pulumi.Input[str] name: Human-readable label that identifies the identity provider. :param pulumi.Input[str] okta_idp_id: Unique 20-hexadecimal digit string that identifies the IdP. - :param pulumi.Input[str] request_binding: SAML Authentication Request Protocol HTTP method binding (POST or REDIRECT) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values: + :param pulumi.Input[str] protocol: The protocol of the identity provider. Either `SAML` or `OIDC`. + :param pulumi.Input[str] request_binding: SAML Authentication Request Protocol HTTP method binding (`POST` or `REDIRECT`) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values: - HTTP POST - HTTP REDIRECT - :param pulumi.Input[str] response_signature_algorithm: Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include SHA-1 and SHA-256. + :param pulumi.Input[Sequence[pulumi.Input[str]]] requested_scopes: Scopes that MongoDB applications will request from the authorization endpoint used for OIDC IdPs. + :param pulumi.Input[str] response_signature_algorithm: Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include `SHA-1 `and `SHA-256`. :param pulumi.Input[bool] sso_debug_enabled: Flag that indicates whether the identity provider has SSO debug enabled. :param pulumi.Input[str] sso_url: Unique string that identifies the intended audience of the SAML assertion. :param pulumi.Input[str] status: String enum that indicates whether the identity provider is active or not. Accepted values are ACTIVE or INACTIVE. + :param pulumi.Input[str] user_claim: Identifier of the claim which contains the user ID in the token used for OIDC IdPs. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) __props__ = _FederatedSettingsIdentityProviderState.__new__(_FederatedSettingsIdentityProviderState) __props__.__dict__["associated_domains"] = associated_domains + __props__.__dict__["audience_claims"] = audience_claims + __props__.__dict__["client_id"] = client_id __props__.__dict__["federation_settings_id"] = federation_settings_id + __props__.__dict__["groups_claim"] = groups_claim + __props__.__dict__["idp_id"] = idp_id __props__.__dict__["issuer_uri"] = issuer_uri __props__.__dict__["name"] = name __props__.__dict__["okta_idp_id"] = okta_idp_id + __props__.__dict__["protocol"] = protocol __props__.__dict__["request_binding"] = request_binding + __props__.__dict__["requested_scopes"] = requested_scopes __props__.__dict__["response_signature_algorithm"] = response_signature_algorithm __props__.__dict__["sso_debug_enabled"] = sso_debug_enabled __props__.__dict__["sso_url"] = sso_url __props__.__dict__["status"] = status + __props__.__dict__["user_claim"] = user_claim return FederatedSettingsIdentityProvider(resource_name, opts=opts, __props__=__props__) @property @@ -548,6 +805,22 @@ def associated_domains(self) -> pulumi.Output[Optional[Sequence[str]]]: """ return pulumi.get(self, "associated_domains") + @property + @pulumi.getter(name="audienceClaims") + def audience_claims(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + Identifier of the intended recipient of the token used in OIDC IdP. + """ + return pulumi.get(self, "audience_claims") + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> pulumi.Output[Optional[str]]: + """ + Client identifier that is assigned to an application by the OIDC Identity Provider. + """ + return pulumi.get(self, "client_id") + @property @pulumi.getter(name="federationSettingsId") def federation_settings_id(self) -> pulumi.Output[str]: @@ -556,11 +829,27 @@ def federation_settings_id(self) -> pulumi.Output[str]: """ return pulumi.get(self, "federation_settings_id") + @property + @pulumi.getter(name="groupsClaim") + def groups_claim(self) -> pulumi.Output[Optional[str]]: + """ + Identifier of the claim which contains OIDC IdP Group IDs in the token. + """ + return pulumi.get(self, "groups_claim") + + @property + @pulumi.getter(name="idpId") + def idp_id(self) -> pulumi.Output[str]: + """ + Unique 24-hexadecimal digit string that identifies the IdP. + """ + return pulumi.get(self, "idp_id") + @property @pulumi.getter(name="issuerUri") def issuer_uri(self) -> pulumi.Output[str]: """ - Unique string that identifies the issuer of the SAML + Unique string that identifies the issuer of the IdP. """ return pulumi.get(self, "issuer_uri") @@ -580,27 +869,43 @@ def okta_idp_id(self) -> pulumi.Output[str]: """ return pulumi.get(self, "okta_idp_id") + @property + @pulumi.getter + def protocol(self) -> pulumi.Output[str]: + """ + The protocol of the identity provider. Either `SAML` or `OIDC`. + """ + return pulumi.get(self, "protocol") + @property @pulumi.getter(name="requestBinding") - def request_binding(self) -> pulumi.Output[str]: + def request_binding(self) -> pulumi.Output[Optional[str]]: """ - SAML Authentication Request Protocol HTTP method binding (POST or REDIRECT) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values: + SAML Authentication Request Protocol HTTP method binding (`POST` or `REDIRECT`) that Federated Authentication uses to send the authentication request. Atlas supports the following binding values: - HTTP POST - HTTP REDIRECT """ return pulumi.get(self, "request_binding") + @property + @pulumi.getter(name="requestedScopes") + def requested_scopes(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + Scopes that MongoDB applications will request from the authorization endpoint used for OIDC IdPs. + """ + return pulumi.get(self, "requested_scopes") + @property @pulumi.getter(name="responseSignatureAlgorithm") - def response_signature_algorithm(self) -> pulumi.Output[str]: + def response_signature_algorithm(self) -> pulumi.Output[Optional[str]]: """ - Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include SHA-1 and SHA-256. + Signature algorithm that Federated Authentication uses to encrypt the identity provider signature. Valid values include `SHA-1 `and `SHA-256`. """ return pulumi.get(self, "response_signature_algorithm") @property @pulumi.getter(name="ssoDebugEnabled") - def sso_debug_enabled(self) -> pulumi.Output[bool]: + def sso_debug_enabled(self) -> pulumi.Output[Optional[bool]]: """ Flag that indicates whether the identity provider has SSO debug enabled. """ @@ -608,7 +913,7 @@ def sso_debug_enabled(self) -> pulumi.Output[bool]: @property @pulumi.getter(name="ssoUrl") - def sso_url(self) -> pulumi.Output[str]: + def sso_url(self) -> pulumi.Output[Optional[str]]: """ Unique string that identifies the intended audience of the SAML assertion. """ @@ -616,9 +921,17 @@ def sso_url(self) -> pulumi.Output[str]: @property @pulumi.getter - def status(self) -> pulumi.Output[str]: + def status(self) -> pulumi.Output[Optional[str]]: """ String enum that indicates whether the identity provider is active or not. Accepted values are ACTIVE or INACTIVE. """ return pulumi.get(self, "status") + @property + @pulumi.getter(name="userClaim") + def user_claim(self) -> pulumi.Output[Optional[str]]: + """ + Identifier of the claim which contains the user ID in the token used for OIDC IdPs. + """ + return pulumi.get(self, "user_claim") + diff --git a/sdk/python/pulumi_mongodbatlas/get_api_key.py b/sdk/python/pulumi_mongodbatlas/get_api_key.py index 673bd835..b6d1d9f1 100644 --- a/sdk/python/pulumi_mongodbatlas/get_api_key.py +++ b/sdk/python/pulumi_mongodbatlas/get_api_key.py @@ -65,9 +65,6 @@ def id(self) -> str: @property @pulumi.getter(name="orgId") def org_id(self) -> str: - """ - Unique identifier for the organization whose API keys you want to retrieve. Use the /orgs endpoint to retrieve all organizations to which the authenticated user has access. - """ return pulumi.get(self, "org_id") @property @@ -109,7 +106,8 @@ def get_api_key(api_key_id: Optional[str] = None, ## Example Usage - :param str org_id: The unique ID for the project. + :param str api_key_id: Unique identifier for the organization API key. + :param str org_id: Unique identifier for the organization. """ __args__ = dict() __args__['apiKeyId'] = api_key_id @@ -134,6 +132,7 @@ def get_api_key_output(api_key_id: Optional[pulumi.Input[str]] = None, ## Example Usage - :param str org_id: The unique ID for the project. + :param str api_key_id: Unique identifier for the organization API key. + :param str org_id: Unique identifier for the organization. """ ... diff --git a/sdk/python/pulumi_mongodbatlas/get_api_keys.py b/sdk/python/pulumi_mongodbatlas/get_api_keys.py index 8d6f5d76..92834d77 100644 --- a/sdk/python/pulumi_mongodbatlas/get_api_keys.py +++ b/sdk/python/pulumi_mongodbatlas/get_api_keys.py @@ -89,7 +89,7 @@ def get_api_keys(items_per_page: Optional[int] = None, Use this data source to access information about an existing resource. :param int items_per_page: Number of items to return per page, up to a maximum of 500. Defaults to `100`. - :param str org_id: Unique identifier for the organization whose API keys you want to retrieve. Use the /orgs endpoint to retrieve all organizations to which the authenticated user has access. + :param str org_id: Unique identifier for the organization whose API keys you want to retrieve. :param int page_num: The page to return. Defaults to `1`. """ __args__ = dict() @@ -116,7 +116,7 @@ def get_api_keys_output(items_per_page: Optional[pulumi.Input[Optional[int]]] = Use this data source to access information about an existing resource. :param int items_per_page: Number of items to return per page, up to a maximum of 500. Defaults to `100`. - :param str org_id: Unique identifier for the organization whose API keys you want to retrieve. Use the /orgs endpoint to retrieve all organizations to which the authenticated user has access. + :param str org_id: Unique identifier for the organization whose API keys you want to retrieve. :param int page_num: The page to return. Defaults to `1`. """ ... diff --git a/sdk/python/pulumi_mongodbatlas/get_backup_compliance_policy.py b/sdk/python/pulumi_mongodbatlas/get_backup_compliance_policy.py index 8a09b964..97e72755 100644 --- a/sdk/python/pulumi_mongodbatlas/get_backup_compliance_policy.py +++ b/sdk/python/pulumi_mongodbatlas/get_backup_compliance_policy.py @@ -9,7 +9,6 @@ from typing import Any, Mapping, Optional, Sequence, Union, overload from . import _utilities from . import outputs -from ._inputs import * __all__ = [ 'GetBackupCompliancePolicyResult', @@ -126,7 +125,7 @@ def id(self) -> str: @property @pulumi.getter(name="onDemandPolicyItem") - def on_demand_policy_item(self) -> Optional['outputs.GetBackupCompliancePolicyOnDemandPolicyItemResult']: + def on_demand_policy_item(self) -> 'outputs.GetBackupCompliancePolicyOnDemandPolicyItemResult': return pulumi.get(self, "on_demand_policy_item") @property @@ -139,22 +138,22 @@ def pit_enabled(self) -> bool: @property @pulumi.getter(name="policyItemDaily") - def policy_item_daily(self) -> Optional['outputs.GetBackupCompliancePolicyPolicyItemDailyResult']: + def policy_item_daily(self) -> 'outputs.GetBackupCompliancePolicyPolicyItemDailyResult': return pulumi.get(self, "policy_item_daily") @property @pulumi.getter(name="policyItemHourly") - def policy_item_hourly(self) -> Optional['outputs.GetBackupCompliancePolicyPolicyItemHourlyResult']: + def policy_item_hourly(self) -> 'outputs.GetBackupCompliancePolicyPolicyItemHourlyResult': return pulumi.get(self, "policy_item_hourly") @property @pulumi.getter(name="policyItemMonthlies") - def policy_item_monthlies(self) -> Optional[Sequence['outputs.GetBackupCompliancePolicyPolicyItemMonthlyResult']]: + def policy_item_monthlies(self) -> Sequence['outputs.GetBackupCompliancePolicyPolicyItemMonthlyResult']: return pulumi.get(self, "policy_item_monthlies") @property @pulumi.getter(name="policyItemWeeklies") - def policy_item_weeklies(self) -> Optional[Sequence['outputs.GetBackupCompliancePolicyPolicyItemWeeklyResult']]: + def policy_item_weeklies(self) -> Sequence['outputs.GetBackupCompliancePolicyPolicyItemWeeklyResult']: return pulumi.get(self, "policy_item_weeklies") @property @@ -220,12 +219,7 @@ def __await__(self): updated_user=self.updated_user) -def get_backup_compliance_policy(on_demand_policy_item: Optional[pulumi.InputType['GetBackupCompliancePolicyOnDemandPolicyItemArgs']] = None, - policy_item_daily: Optional[pulumi.InputType['GetBackupCompliancePolicyPolicyItemDailyArgs']] = None, - policy_item_hourly: Optional[pulumi.InputType['GetBackupCompliancePolicyPolicyItemHourlyArgs']] = None, - policy_item_monthlies: Optional[Sequence[pulumi.InputType['GetBackupCompliancePolicyPolicyItemMonthlyArgs']]] = None, - policy_item_weeklies: Optional[Sequence[pulumi.InputType['GetBackupCompliancePolicyPolicyItemWeeklyArgs']]] = None, - project_id: Optional[str] = None, +def get_backup_compliance_policy(project_id: Optional[str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetBackupCompliancePolicyResult: """ Use this data source to access information about an existing resource. @@ -233,11 +227,6 @@ def get_backup_compliance_policy(on_demand_policy_item: Optional[pulumi.InputTyp :param str project_id: Unique 24-hexadecimal digit string that identifies your project """ __args__ = dict() - __args__['onDemandPolicyItem'] = on_demand_policy_item - __args__['policyItemDaily'] = policy_item_daily - __args__['policyItemHourly'] = policy_item_hourly - __args__['policyItemMonthlies'] = policy_item_monthlies - __args__['policyItemWeeklies'] = policy_item_weeklies __args__['projectId'] = project_id opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke('mongodbatlas:index/getBackupCompliancePolicy:getBackupCompliancePolicy', __args__, opts=opts, typ=GetBackupCompliancePolicyResult).value @@ -263,12 +252,7 @@ def get_backup_compliance_policy(on_demand_policy_item: Optional[pulumi.InputTyp @_utilities.lift_output_func(get_backup_compliance_policy) -def get_backup_compliance_policy_output(on_demand_policy_item: Optional[pulumi.Input[Optional[pulumi.InputType['GetBackupCompliancePolicyOnDemandPolicyItemArgs']]]] = None, - policy_item_daily: Optional[pulumi.Input[Optional[pulumi.InputType['GetBackupCompliancePolicyPolicyItemDailyArgs']]]] = None, - policy_item_hourly: Optional[pulumi.Input[Optional[pulumi.InputType['GetBackupCompliancePolicyPolicyItemHourlyArgs']]]] = None, - policy_item_monthlies: Optional[pulumi.Input[Optional[Sequence[pulumi.InputType['GetBackupCompliancePolicyPolicyItemMonthlyArgs']]]]] = None, - policy_item_weeklies: Optional[pulumi.Input[Optional[Sequence[pulumi.InputType['GetBackupCompliancePolicyPolicyItemWeeklyArgs']]]]] = None, - project_id: Optional[pulumi.Input[str]] = None, +def get_backup_compliance_policy_output(project_id: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetBackupCompliancePolicyResult]: """ Use this data source to access information about an existing resource. diff --git a/sdk/python/pulumi_mongodbatlas/get_cloud_provider_access.py b/sdk/python/pulumi_mongodbatlas/get_cloud_provider_access.py deleted file mode 100644 index d13eaef8..00000000 --- a/sdk/python/pulumi_mongodbatlas/get_cloud_provider_access.py +++ /dev/null @@ -1,129 +0,0 @@ -# coding=utf-8 -# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -# *** Do not edit by hand unless you're certain you know what you are doing! *** - -import copy -import warnings -import pulumi -import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload -from . import _utilities -from . import outputs - -__all__ = [ - 'GetCloudProviderAccessResult', - 'AwaitableGetCloudProviderAccessResult', - 'get_cloud_provider_access', - 'get_cloud_provider_access_output', -] - -@pulumi.output_type -class GetCloudProviderAccessResult: - """ - A collection of values returned by getCloudProviderAccess. - """ - def __init__(__self__, aws_iam_roles=None, id=None, project_id=None): - if aws_iam_roles and not isinstance(aws_iam_roles, list): - raise TypeError("Expected argument 'aws_iam_roles' to be a list") - pulumi.set(__self__, "aws_iam_roles", aws_iam_roles) - if id and not isinstance(id, str): - raise TypeError("Expected argument 'id' to be a str") - pulumi.set(__self__, "id", id) - if project_id and not isinstance(project_id, str): - raise TypeError("Expected argument 'project_id' to be a str") - pulumi.set(__self__, "project_id", project_id) - - @property - @pulumi.getter(name="awsIamRoles") - def aws_iam_roles(self) -> Sequence['outputs.GetCloudProviderAccessAwsIamRoleResult']: - """ - A list where each represents a Cloud Provider Access Role. - """ - return pulumi.get(self, "aws_iam_roles") - - @property - @pulumi.getter - def id(self) -> str: - """ - The provider-assigned unique ID for this managed resource. - """ - return pulumi.get(self, "id") - - @property - @pulumi.getter(name="projectId") - def project_id(self) -> str: - return pulumi.get(self, "project_id") - - -class AwaitableGetCloudProviderAccessResult(GetCloudProviderAccessResult): - # pylint: disable=using-constant-test - def __await__(self): - if False: - yield self - return GetCloudProviderAccessResult( - aws_iam_roles=self.aws_iam_roles, - id=self.id, - project_id=self.project_id) - - -def get_cloud_provider_access(project_id: Optional[str] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetCloudProviderAccessResult: - """ - **WARNING:** The data source `CloudProviderAccess` is deprecated and will be removed in version v1.14.0, use the data source `CloudProviderAccessSetup` instead. - - `CloudProviderAccess` allows you to get the list of cloud provider access roles, currently only AWS and Azure is supported. - - > **NOTE:** Groups and projects are synonymous terms. You may find `groupId` in the official documentation. - - ## Example Usage - - ```python - import pulumi - import pulumi_mongodbatlas as mongodbatlas - - test_role = mongodbatlas.CloudProviderAccess("testRole", - project_id="64259ee860c43338194b0f8e", - provider_name="AWS") - all = mongodbatlas.get_cloud_provider_access_output(project_id=test_role.project_id) - ``` - - - :param str project_id: The unique ID for the project to get all Cloud Provider Access - """ - __args__ = dict() - __args__['projectId'] = project_id - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) - __ret__ = pulumi.runtime.invoke('mongodbatlas:index/getCloudProviderAccess:getCloudProviderAccess', __args__, opts=opts, typ=GetCloudProviderAccessResult).value - - return AwaitableGetCloudProviderAccessResult( - aws_iam_roles=pulumi.get(__ret__, 'aws_iam_roles'), - id=pulumi.get(__ret__, 'id'), - project_id=pulumi.get(__ret__, 'project_id')) - - -@_utilities.lift_output_func(get_cloud_provider_access) -def get_cloud_provider_access_output(project_id: Optional[pulumi.Input[str]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetCloudProviderAccessResult]: - """ - **WARNING:** The data source `CloudProviderAccess` is deprecated and will be removed in version v1.14.0, use the data source `CloudProviderAccessSetup` instead. - - `CloudProviderAccess` allows you to get the list of cloud provider access roles, currently only AWS and Azure is supported. - - > **NOTE:** Groups and projects are synonymous terms. You may find `groupId` in the official documentation. - - ## Example Usage - - ```python - import pulumi - import pulumi_mongodbatlas as mongodbatlas - - test_role = mongodbatlas.CloudProviderAccess("testRole", - project_id="64259ee860c43338194b0f8e", - provider_name="AWS") - all = mongodbatlas.get_cloud_provider_access_output(project_id=test_role.project_id) - ``` - - - :param str project_id: The unique ID for the project to get all Cloud Provider Access - """ - ... diff --git a/sdk/python/pulumi_mongodbatlas/get_cloud_provider_access_setup.py b/sdk/python/pulumi_mongodbatlas/get_cloud_provider_access_setup.py index a7b18167..a281cf1c 100644 --- a/sdk/python/pulumi_mongodbatlas/get_cloud_provider_access_setup.py +++ b/sdk/python/pulumi_mongodbatlas/get_cloud_provider_access_setup.py @@ -139,7 +139,7 @@ def get_cloud_provider_access_setup(azure_configs: Optional[Sequence[pulumi.Inpu role_id: Optional[str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetCloudProviderAccessSetupResult: """ - `CloudProviderAccess` allows you to get a single role for a provider access role setup, currently only AWS and Azure are supported. + `mongodbatlas_cloud_provider_access` allows you to get a single role for a provider access role setup, currently only AWS and Azure are supported. > **NOTE:** Groups and projects are synonymous terms. You may find `groupId` in the official documentation. @@ -207,7 +207,7 @@ def get_cloud_provider_access_setup_output(azure_configs: Optional[pulumi.Input[ role_id: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetCloudProviderAccessSetupResult]: """ - `CloudProviderAccess` allows you to get a single role for a provider access role setup, currently only AWS and Azure are supported. + `mongodbatlas_cloud_provider_access` allows you to get a single role for a provider access role setup, currently only AWS and Azure are supported. > **NOTE:** Groups and projects are synonymous terms. You may find `groupId` in the official documentation. diff --git a/sdk/python/pulumi_mongodbatlas/get_database_user.py b/sdk/python/pulumi_mongodbatlas/get_database_user.py index 104237eb..afe3dfab 100644 --- a/sdk/python/pulumi_mongodbatlas/get_database_user.py +++ b/sdk/python/pulumi_mongodbatlas/get_database_user.py @@ -105,6 +105,9 @@ def oidc_auth_type(self) -> str: @property @pulumi.getter def password(self) -> str: + warnings.warn("""this parameter is deprecated and will be removed in version 1.16.0""", DeprecationWarning) + pulumi.log.warn("""password is deprecated: this parameter is deprecated and will be removed in version 1.16.0""") + return pulumi.get(self, "password") @property diff --git a/sdk/python/pulumi_mongodbatlas/get_federated_settings_identity_provider.py b/sdk/python/pulumi_mongodbatlas/get_federated_settings_identity_provider.py index 1ac1537e..22033c92 100644 --- a/sdk/python/pulumi_mongodbatlas/get_federated_settings_identity_provider.py +++ b/sdk/python/pulumi_mongodbatlas/get_federated_settings_identity_provider.py @@ -22,7 +22,7 @@ class GetFederatedSettingsIdentityProviderResult: """ A collection of values returned by getFederatedSettingsIdentityProvider. """ - def __init__(__self__, acs_url=None, associated_domains=None, associated_orgs=None, audience_uri=None, display_name=None, federation_settings_id=None, id=None, identity_provider_id=None, issuer_uri=None, okta_idp_id=None, pem_file_infos=None, request_binding=None, response_signature_algorithm=None, sso_debug_enabled=None, sso_url=None, status=None): + def __init__(__self__, acs_url=None, associated_domains=None, associated_orgs=None, audience_claims=None, audience_uri=None, client_id=None, display_name=None, federation_settings_id=None, groups_claim=None, id=None, identity_provider_id=None, idp_id=None, issuer_uri=None, okta_idp_id=None, pem_file_infos=None, protocol=None, request_binding=None, requested_scopes=None, response_signature_algorithm=None, sso_debug_enabled=None, sso_url=None, status=None, user_claim=None): if acs_url and not isinstance(acs_url, str): raise TypeError("Expected argument 'acs_url' to be a str") pulumi.set(__self__, "acs_url", acs_url) @@ -32,21 +32,33 @@ def __init__(__self__, acs_url=None, associated_domains=None, associated_orgs=No if associated_orgs and not isinstance(associated_orgs, list): raise TypeError("Expected argument 'associated_orgs' to be a list") pulumi.set(__self__, "associated_orgs", associated_orgs) + if audience_claims and not isinstance(audience_claims, list): + raise TypeError("Expected argument 'audience_claims' to be a list") + pulumi.set(__self__, "audience_claims", audience_claims) if audience_uri and not isinstance(audience_uri, str): raise TypeError("Expected argument 'audience_uri' to be a str") pulumi.set(__self__, "audience_uri", audience_uri) + if client_id and not isinstance(client_id, str): + raise TypeError("Expected argument 'client_id' to be a str") + pulumi.set(__self__, "client_id", client_id) if display_name and not isinstance(display_name, str): raise TypeError("Expected argument 'display_name' to be a str") pulumi.set(__self__, "display_name", display_name) if federation_settings_id and not isinstance(federation_settings_id, str): raise TypeError("Expected argument 'federation_settings_id' to be a str") pulumi.set(__self__, "federation_settings_id", federation_settings_id) + if groups_claim and not isinstance(groups_claim, str): + raise TypeError("Expected argument 'groups_claim' to be a str") + pulumi.set(__self__, "groups_claim", groups_claim) if id and not isinstance(id, str): raise TypeError("Expected argument 'id' to be a str") pulumi.set(__self__, "id", id) if identity_provider_id and not isinstance(identity_provider_id, str): raise TypeError("Expected argument 'identity_provider_id' to be a str") pulumi.set(__self__, "identity_provider_id", identity_provider_id) + if idp_id and not isinstance(idp_id, str): + raise TypeError("Expected argument 'idp_id' to be a str") + pulumi.set(__self__, "idp_id", idp_id) if issuer_uri and not isinstance(issuer_uri, str): raise TypeError("Expected argument 'issuer_uri' to be a str") pulumi.set(__self__, "issuer_uri", issuer_uri) @@ -56,9 +68,15 @@ def __init__(__self__, acs_url=None, associated_domains=None, associated_orgs=No if pem_file_infos and not isinstance(pem_file_infos, list): raise TypeError("Expected argument 'pem_file_infos' to be a list") pulumi.set(__self__, "pem_file_infos", pem_file_infos) + if protocol and not isinstance(protocol, str): + raise TypeError("Expected argument 'protocol' to be a str") + pulumi.set(__self__, "protocol", protocol) if request_binding and not isinstance(request_binding, str): raise TypeError("Expected argument 'request_binding' to be a str") pulumi.set(__self__, "request_binding", request_binding) + if requested_scopes and not isinstance(requested_scopes, list): + raise TypeError("Expected argument 'requested_scopes' to be a list") + pulumi.set(__self__, "requested_scopes", requested_scopes) if response_signature_algorithm and not isinstance(response_signature_algorithm, str): raise TypeError("Expected argument 'response_signature_algorithm' to be a str") pulumi.set(__self__, "response_signature_algorithm", response_signature_algorithm) @@ -71,6 +89,9 @@ def __init__(__self__, acs_url=None, associated_domains=None, associated_orgs=No if status and not isinstance(status, str): raise TypeError("Expected argument 'status' to be a str") pulumi.set(__self__, "status", status) + if user_claim and not isinstance(user_claim, str): + raise TypeError("Expected argument 'user_claim' to be a str") + pulumi.set(__self__, "user_claim", user_claim) @property @pulumi.getter(name="acsUrl") @@ -96,6 +117,14 @@ def associated_orgs(self) -> Sequence['outputs.GetFederatedSettingsIdentityProvi """ return pulumi.get(self, "associated_orgs") + @property + @pulumi.getter(name="audienceClaims") + def audience_claims(self) -> Sequence[str]: + """ + Identifier of the intended recipient of the token. + """ + return pulumi.get(self, "audience_claims") + @property @pulumi.getter(name="audienceUri") def audience_uri(self) -> str: @@ -104,6 +133,14 @@ def audience_uri(self) -> str: """ return pulumi.get(self, "audience_uri") + @property + @pulumi.getter(name="clientId") + def client_id(self) -> str: + """ + Client identifier that is assigned to an application by the Identity Provider. + """ + return pulumi.get(self, "client_id") + @property @pulumi.getter(name="displayName") def display_name(self) -> str: @@ -120,6 +157,14 @@ def federation_settings_id(self) -> str: """ return pulumi.get(self, "federation_settings_id") + @property + @pulumi.getter(name="groupsClaim") + def groups_claim(self) -> str: + """ + Identifier of the claim which contains IdP Group IDs in the token. + """ + return pulumi.get(self, "groups_claim") + @property @pulumi.getter def id(self) -> str: @@ -133,6 +178,14 @@ def id(self) -> str: def identity_provider_id(self) -> str: return pulumi.get(self, "identity_provider_id") + @property + @pulumi.getter(name="idpId") + def idp_id(self) -> str: + """ + Unique 24-hexadecimal digit string that identifies the IdP + """ + return pulumi.get(self, "idp_id") + @property @pulumi.getter(name="issuerUri") def issuer_uri(self) -> str: @@ -154,6 +207,14 @@ def okta_idp_id(self) -> str: def pem_file_infos(self) -> Sequence['outputs.GetFederatedSettingsIdentityProviderPemFileInfoResult']: return pulumi.get(self, "pem_file_infos") + @property + @pulumi.getter + def protocol(self) -> str: + """ + The protocol of the identity provider. Either SAML or OIDC. + """ + return pulumi.get(self, "protocol") + @property @pulumi.getter(name="requestBinding") def request_binding(self) -> str: @@ -164,6 +225,14 @@ def request_binding(self) -> str: """ return pulumi.get(self, "request_binding") + @property + @pulumi.getter(name="requestedScopes") + def requested_scopes(self) -> Sequence[str]: + """ + Scopes that MongoDB applications will request from the authorization endpoint. + """ + return pulumi.get(self, "requested_scopes") + @property @pulumi.getter(name="responseSignatureAlgorithm") def response_signature_algorithm(self) -> str: @@ -198,6 +267,14 @@ def status(self) -> str: """ return pulumi.get(self, "status") + @property + @pulumi.getter(name="userClaim") + def user_claim(self) -> str: + """ + Identifier of the claim which contains the user ID in the token. + """ + return pulumi.get(self, "user_claim") + class AwaitableGetFederatedSettingsIdentityProviderResult(GetFederatedSettingsIdentityProviderResult): # pylint: disable=using-constant-test @@ -208,19 +285,26 @@ def __await__(self): acs_url=self.acs_url, associated_domains=self.associated_domains, associated_orgs=self.associated_orgs, + audience_claims=self.audience_claims, audience_uri=self.audience_uri, + client_id=self.client_id, display_name=self.display_name, federation_settings_id=self.federation_settings_id, + groups_claim=self.groups_claim, id=self.id, identity_provider_id=self.identity_provider_id, + idp_id=self.idp_id, issuer_uri=self.issuer_uri, okta_idp_id=self.okta_idp_id, pem_file_infos=self.pem_file_infos, + protocol=self.protocol, request_binding=self.request_binding, + requested_scopes=self.requested_scopes, response_signature_algorithm=self.response_signature_algorithm, sso_debug_enabled=self.sso_debug_enabled, sso_url=self.sso_url, - status=self.status) + status=self.status, + user_claim=self.user_claim) def get_federated_settings_identity_provider(federation_settings_id: Optional[str] = None, @@ -229,6 +313,8 @@ def get_federated_settings_identity_provider(federation_settings_id: Optional[st """ `FederatedSettingsIdentityProvider` provides a federated settings identity provider data source. Atlas federated settings identity provider provides federated settings outputs for the configured identity provider. + > **NOTE:** OIDC Workforce IdP is currently in preview. To learn more about OIDC and existing limitations see the [OIDC Authentication Documentation](https://www.mongodb.com/docs/atlas/security-oidc/) + ## Example Usage ```python @@ -250,7 +336,6 @@ def get_federated_settings_identity_provider(federation_settings_id: Optional[st :param str federation_settings_id: Unique 24-hexadecimal digit string that identifies the federated authentication configuration. - :param str identity_provider_id: Unique 20-hexadecimal digit string that identifies the IdP. """ __args__ = dict() __args__['federationSettingsId'] = federation_settings_id @@ -262,19 +347,26 @@ def get_federated_settings_identity_provider(federation_settings_id: Optional[st acs_url=pulumi.get(__ret__, 'acs_url'), associated_domains=pulumi.get(__ret__, 'associated_domains'), associated_orgs=pulumi.get(__ret__, 'associated_orgs'), + audience_claims=pulumi.get(__ret__, 'audience_claims'), audience_uri=pulumi.get(__ret__, 'audience_uri'), + client_id=pulumi.get(__ret__, 'client_id'), display_name=pulumi.get(__ret__, 'display_name'), federation_settings_id=pulumi.get(__ret__, 'federation_settings_id'), + groups_claim=pulumi.get(__ret__, 'groups_claim'), id=pulumi.get(__ret__, 'id'), identity_provider_id=pulumi.get(__ret__, 'identity_provider_id'), + idp_id=pulumi.get(__ret__, 'idp_id'), issuer_uri=pulumi.get(__ret__, 'issuer_uri'), okta_idp_id=pulumi.get(__ret__, 'okta_idp_id'), pem_file_infos=pulumi.get(__ret__, 'pem_file_infos'), + protocol=pulumi.get(__ret__, 'protocol'), request_binding=pulumi.get(__ret__, 'request_binding'), + requested_scopes=pulumi.get(__ret__, 'requested_scopes'), response_signature_algorithm=pulumi.get(__ret__, 'response_signature_algorithm'), sso_debug_enabled=pulumi.get(__ret__, 'sso_debug_enabled'), sso_url=pulumi.get(__ret__, 'sso_url'), - status=pulumi.get(__ret__, 'status')) + status=pulumi.get(__ret__, 'status'), + user_claim=pulumi.get(__ret__, 'user_claim')) @_utilities.lift_output_func(get_federated_settings_identity_provider) @@ -284,6 +376,8 @@ def get_federated_settings_identity_provider_output(federation_settings_id: Opti """ `FederatedSettingsIdentityProvider` provides a federated settings identity provider data source. Atlas federated settings identity provider provides federated settings outputs for the configured identity provider. + > **NOTE:** OIDC Workforce IdP is currently in preview. To learn more about OIDC and existing limitations see the [OIDC Authentication Documentation](https://www.mongodb.com/docs/atlas/security-oidc/) + ## Example Usage ```python @@ -305,6 +399,5 @@ def get_federated_settings_identity_provider_output(federation_settings_id: Opti :param str federation_settings_id: Unique 24-hexadecimal digit string that identifies the federated authentication configuration. - :param str identity_provider_id: Unique 20-hexadecimal digit string that identifies the IdP. """ ... diff --git a/sdk/python/pulumi_mongodbatlas/get_federated_settings_identity_providers.py b/sdk/python/pulumi_mongodbatlas/get_federated_settings_identity_providers.py index 95d3fbfb..3f944faa 100644 --- a/sdk/python/pulumi_mongodbatlas/get_federated_settings_identity_providers.py +++ b/sdk/python/pulumi_mongodbatlas/get_federated_settings_identity_providers.py @@ -94,6 +94,8 @@ def get_federated_settings_identity_providers(federation_settings_id: Optional[s """ `get_federated_settings_identity_providers` provides an Federated Settings Identity Providers datasource. Atlas Cloud Federated Settings Identity Providers provides federated settings outputs for the configured Identity Providers. + > **NOTE:** OIDC Workforce IdP is currently in preview. To learn more about OIDC and existing limitations see the [OIDC Authentication Documentation](https://www.mongodb.com/docs/atlas/security-oidc/). + ## Example Usage ```python @@ -138,6 +140,8 @@ def get_federated_settings_identity_providers_output(federation_settings_id: Opt """ `get_federated_settings_identity_providers` provides an Federated Settings Identity Providers datasource. Atlas Cloud Federated Settings Identity Providers provides federated settings outputs for the configured Identity Providers. + > **NOTE:** OIDC Workforce IdP is currently in preview. To learn more about OIDC and existing limitations see the [OIDC Authentication Documentation](https://www.mongodb.com/docs/atlas/security-oidc/). + ## Example Usage ```python diff --git a/sdk/python/pulumi_mongodbatlas/get_organization.py b/sdk/python/pulumi_mongodbatlas/get_organization.py index a39d5fbf..e023e441 100644 --- a/sdk/python/pulumi_mongodbatlas/get_organization.py +++ b/sdk/python/pulumi_mongodbatlas/get_organization.py @@ -22,7 +22,10 @@ class GetOrganizationResult: """ A collection of values returned by getOrganization. """ - def __init__(__self__, id=None, is_deleted=None, links=None, name=None, org_id=None): + def __init__(__self__, api_access_list_required=None, id=None, is_deleted=None, links=None, multi_factor_auth_required=None, name=None, org_id=None, restrict_employee_access=None): + if api_access_list_required and not isinstance(api_access_list_required, bool): + raise TypeError("Expected argument 'api_access_list_required' to be a bool") + pulumi.set(__self__, "api_access_list_required", api_access_list_required) if id and not isinstance(id, str): raise TypeError("Expected argument 'id' to be a str") pulumi.set(__self__, "id", id) @@ -32,12 +35,26 @@ def __init__(__self__, id=None, is_deleted=None, links=None, name=None, org_id=N if links and not isinstance(links, list): raise TypeError("Expected argument 'links' to be a list") pulumi.set(__self__, "links", links) + if multi_factor_auth_required and not isinstance(multi_factor_auth_required, bool): + raise TypeError("Expected argument 'multi_factor_auth_required' to be a bool") + pulumi.set(__self__, "multi_factor_auth_required", multi_factor_auth_required) if name and not isinstance(name, str): raise TypeError("Expected argument 'name' to be a str") pulumi.set(__self__, "name", name) if org_id and not isinstance(org_id, str): raise TypeError("Expected argument 'org_id' to be a str") pulumi.set(__self__, "org_id", org_id) + if restrict_employee_access and not isinstance(restrict_employee_access, bool): + raise TypeError("Expected argument 'restrict_employee_access' to be a bool") + pulumi.set(__self__, "restrict_employee_access", restrict_employee_access) + + @property + @pulumi.getter(name="apiAccessListRequired") + def api_access_list_required(self) -> bool: + """ + (Optional) Flag that indicates whether to require API operations to originate from an IP Address added to the API access list for the specified organization. + """ + return pulumi.get(self, "api_access_list_required") @property @pulumi.getter @@ -60,6 +77,14 @@ def is_deleted(self) -> bool: def links(self) -> Sequence['outputs.GetOrganizationLinkResult']: return pulumi.get(self, "links") + @property + @pulumi.getter(name="multiFactorAuthRequired") + def multi_factor_auth_required(self) -> bool: + """ + (Optional) Flag that indicates whether to require users to set up Multi-Factor Authentication (MFA) before accessing the specified organization. To learn more, see: https://www.mongodb.com/docs/atlas/security-multi-factor-authentication/. + """ + return pulumi.get(self, "multi_factor_auth_required") + @property @pulumi.getter def name(self) -> str: @@ -73,6 +98,14 @@ def name(self) -> str: def org_id(self) -> str: return pulumi.get(self, "org_id") + @property + @pulumi.getter(name="restrictEmployeeAccess") + def restrict_employee_access(self) -> bool: + """ + (Optional) Flag that indicates whether to block MongoDB Support from accessing Atlas infrastructure for any deployment in the specified organization without explicit permission. Once this setting is turned on, you can grant MongoDB Support a 24-hour bypass access to the Atlas deployment to resolve support issues. To learn more, see: https://www.mongodb.com/docs/atlas/security-restrict-support-access/. + """ + return pulumi.get(self, "restrict_employee_access") + class AwaitableGetOrganizationResult(GetOrganizationResult): # pylint: disable=using-constant-test @@ -80,11 +113,14 @@ def __await__(self): if False: yield self return GetOrganizationResult( + api_access_list_required=self.api_access_list_required, id=self.id, is_deleted=self.is_deleted, links=self.links, + multi_factor_auth_required=self.multi_factor_auth_required, name=self.name, - org_id=self.org_id) + org_id=self.org_id, + restrict_employee_access=self.restrict_employee_access) def get_organization(org_id: Optional[str] = None, @@ -110,11 +146,14 @@ def get_organization(org_id: Optional[str] = None, __ret__ = pulumi.runtime.invoke('mongodbatlas:index/getOrganization:getOrganization', __args__, opts=opts, typ=GetOrganizationResult).value return AwaitableGetOrganizationResult( + api_access_list_required=pulumi.get(__ret__, 'api_access_list_required'), id=pulumi.get(__ret__, 'id'), is_deleted=pulumi.get(__ret__, 'is_deleted'), links=pulumi.get(__ret__, 'links'), + multi_factor_auth_required=pulumi.get(__ret__, 'multi_factor_auth_required'), name=pulumi.get(__ret__, 'name'), - org_id=pulumi.get(__ret__, 'org_id')) + org_id=pulumi.get(__ret__, 'org_id'), + restrict_employee_access=pulumi.get(__ret__, 'restrict_employee_access')) @_utilities.lift_output_func(get_organization) diff --git a/sdk/python/pulumi_mongodbatlas/get_organizations.py b/sdk/python/pulumi_mongodbatlas/get_organizations.py index 226cea8a..90defaab 100644 --- a/sdk/python/pulumi_mongodbatlas/get_organizations.py +++ b/sdk/python/pulumi_mongodbatlas/get_organizations.py @@ -56,6 +56,9 @@ def id(self) -> str: @property @pulumi.getter(name="includeDeletedOrgs") def include_deleted_orgs(self) -> Optional[bool]: + warnings.warn("""this parameter is deprecated and will be removed in version 1.16.0""", DeprecationWarning) + pulumi.log.warn("""include_deleted_orgs is deprecated: this parameter is deprecated and will be removed in version 1.16.0""") + return pulumi.get(self, "include_deleted_orgs") @property diff --git a/sdk/python/pulumi_mongodbatlas/get_project.py b/sdk/python/pulumi_mongodbatlas/get_project.py index c5ecc2be..45f4a9e4 100644 --- a/sdk/python/pulumi_mongodbatlas/get_project.py +++ b/sdk/python/pulumi_mongodbatlas/get_project.py @@ -22,7 +22,7 @@ class GetProjectResult: """ A collection of values returned by getProject. """ - def __init__(__self__, cluster_count=None, created=None, id=None, is_collect_database_specifics_statistics_enabled=None, is_data_explorer_enabled=None, is_extended_storage_sizes_enabled=None, is_performance_advisor_enabled=None, is_realtime_performance_panel_enabled=None, is_schema_advisor_enabled=None, limits=None, name=None, org_id=None, project_id=None, region_usage_restrictions=None, teams=None): + def __init__(__self__, cluster_count=None, created=None, id=None, ip_addresses=None, is_collect_database_specifics_statistics_enabled=None, is_data_explorer_enabled=None, is_extended_storage_sizes_enabled=None, is_performance_advisor_enabled=None, is_realtime_performance_panel_enabled=None, is_schema_advisor_enabled=None, limits=None, name=None, org_id=None, project_id=None, region_usage_restrictions=None, teams=None): if cluster_count and not isinstance(cluster_count, int): raise TypeError("Expected argument 'cluster_count' to be a int") pulumi.set(__self__, "cluster_count", cluster_count) @@ -32,6 +32,9 @@ def __init__(__self__, cluster_count=None, created=None, id=None, is_collect_dat if id and not isinstance(id, str): raise TypeError("Expected argument 'id' to be a str") pulumi.set(__self__, "id", id) + if ip_addresses and not isinstance(ip_addresses, dict): + raise TypeError("Expected argument 'ip_addresses' to be a dict") + pulumi.set(__self__, "ip_addresses", ip_addresses) if is_collect_database_specifics_statistics_enabled and not isinstance(is_collect_database_specifics_statistics_enabled, bool): raise TypeError("Expected argument 'is_collect_database_specifics_statistics_enabled' to be a bool") pulumi.set(__self__, "is_collect_database_specifics_statistics_enabled", is_collect_database_specifics_statistics_enabled) @@ -82,13 +85,6 @@ def cluster_count(self) -> int: def created(self) -> str: """ The ISO-8601-formatted timestamp of when Atlas created the project. - * `teams.#.team_id` - The unique identifier of the team you want to associate with the project. The team and project must share the same parent organization. - * `teams.#.role_names` - Each string in the array represents a project role assigned to the team. Every user associated with the team inherits these roles. The [MongoDB Documentation](https://www.mongodb.com/docs/atlas/reference/user-roles/#organization-roles) describes the roles a user can have. - * `limits.#.name` - Human-readable label that identifies this project limit. - * `limits.#.value` - Amount the limit is set to. - * `limits.#.current_usage` - Amount that indicates the current usage of the limit. - * `limits.#.default_limit` - Default value of the limit. - * `limits.#.maximum_limit` - Maximum value of the limit. """ return pulumi.get(self, "created") @@ -97,6 +93,14 @@ def created(self) -> str: def id(self) -> str: return pulumi.get(self, "id") + @property + @pulumi.getter(name="ipAddresses") + def ip_addresses(self) -> 'outputs.GetProjectIpAddressesResult': + """ + IP addresses in a project categorized by services. See IP Addresses. + """ + return pulumi.get(self, "ip_addresses") + @property @pulumi.getter(name="isCollectDatabaseSpecificsStatisticsEnabled") def is_collect_database_specifics_statistics_enabled(self) -> bool: @@ -148,13 +152,16 @@ def is_schema_advisor_enabled(self) -> bool: @property @pulumi.getter def limits(self) -> Sequence['outputs.GetProjectLimitResult']: + """ + The limits for the specified project. See Limits. + """ return pulumi.get(self, "limits") @property @pulumi.getter def name(self) -> Optional[str]: """ - The name of the project you want to create. + Human-readable label that identifies this project limit. """ return pulumi.get(self, "name") @@ -182,6 +189,9 @@ def region_usage_restrictions(self) -> str: @property @pulumi.getter def teams(self) -> Sequence['outputs.GetProjectTeamResult']: + """ + Returns all teams to which the authenticated user has access in the project. See Teams. + """ return pulumi.get(self, "teams") @@ -194,6 +204,7 @@ def __await__(self): cluster_count=self.cluster_count, created=self.created, id=self.id, + ip_addresses=self.ip_addresses, is_collect_database_specifics_statistics_enabled=self.is_collect_database_specifics_statistics_enabled, is_data_explorer_enabled=self.is_data_explorer_enabled, is_extended_storage_sizes_enabled=self.is_extended_storage_sizes_enabled, @@ -234,6 +245,7 @@ def get_project(name: Optional[str] = None, cluster_count=pulumi.get(__ret__, 'cluster_count'), created=pulumi.get(__ret__, 'created'), id=pulumi.get(__ret__, 'id'), + ip_addresses=pulumi.get(__ret__, 'ip_addresses'), is_collect_database_specifics_statistics_enabled=pulumi.get(__ret__, 'is_collect_database_specifics_statistics_enabled'), is_data_explorer_enabled=pulumi.get(__ret__, 'is_data_explorer_enabled'), is_extended_storage_sizes_enabled=pulumi.get(__ret__, 'is_extended_storage_sizes_enabled'), diff --git a/sdk/python/pulumi_mongodbatlas/get_search_deployment.py b/sdk/python/pulumi_mongodbatlas/get_search_deployment.py index ae804f67..e565085e 100644 --- a/sdk/python/pulumi_mongodbatlas/get_search_deployment.py +++ b/sdk/python/pulumi_mongodbatlas/get_search_deployment.py @@ -42,23 +42,32 @@ def __init__(__self__, cluster_name=None, id=None, project_id=None, specs=None, @property @pulumi.getter(name="clusterName") def cluster_name(self) -> str: + """ + Label that identifies the cluster to return the search nodes for. + """ return pulumi.get(self, "cluster_name") @property @pulumi.getter def id(self) -> str: + """ + Unique 24-hexadecimal digit string that identifies the search deployment. + """ return pulumi.get(self, "id") @property @pulumi.getter(name="projectId") def project_id(self) -> str: + """ + Unique 24-hexadecimal digit string that identifies your project. + """ return pulumi.get(self, "project_id") @property @pulumi.getter def specs(self) -> Sequence['outputs.GetSearchDeploymentSpecResult']: """ - List of settings that configure the search nodes for your cluster. See specs. + List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. """ return pulumi.get(self, "specs") @@ -66,7 +75,7 @@ def specs(self) -> Sequence['outputs.GetSearchDeploymentSpecResult']: @pulumi.getter(name="stateName") def state_name(self) -> str: """ - Human-readable label that indicates the current operating condition of this search node deployment. + Human-readable label that indicates the current operating condition of this search deployment. """ return pulumi.get(self, "state_name") @@ -92,17 +101,9 @@ def get_search_deployment(cluster_name: Optional[str] = None, ## Example Usage - ```python - import pulumi - import pulumi_mongodbatlas as mongodbatlas - - test = mongodbatlas.get_search_deployment(cluster_name="", - project_id="") - ``` - - :param str cluster_name: The name of the cluster containing a search node deployment. - :param str project_id: The unique identifier for the [project](https://docs.atlas.mongodb.com/organizations-projects/#std-label-projects) that contains the specified cluster. + :param str cluster_name: Label that identifies the cluster to return the search nodes for. + :param str project_id: Unique 24-hexadecimal digit string that identifies your project. """ __args__ = dict() __args__['clusterName'] = cluster_name @@ -127,16 +128,8 @@ def get_search_deployment_output(cluster_name: Optional[pulumi.Input[str]] = Non ## Example Usage - ```python - import pulumi - import pulumi_mongodbatlas as mongodbatlas - - test = mongodbatlas.get_search_deployment(cluster_name="", - project_id="") - ``` - - :param str cluster_name: The name of the cluster containing a search node deployment. - :param str project_id: The unique identifier for the [project](https://docs.atlas.mongodb.com/organizations-projects/#std-label-projects) that contains the specified cluster. + :param str cluster_name: Label that identifies the cluster to return the search nodes for. + :param str project_id: Unique 24-hexadecimal digit string that identifies your project. """ ... diff --git a/sdk/python/pulumi_mongodbatlas/get_search_index.py b/sdk/python/pulumi_mongodbatlas/get_search_index.py index 459acbc6..081477cc 100644 --- a/sdk/python/pulumi_mongodbatlas/get_search_index.py +++ b/sdk/python/pulumi_mongodbatlas/get_search_index.py @@ -167,6 +167,9 @@ def search_analyzer(self) -> Optional[str]: @property @pulumi.getter def status(self) -> str: + """ + Current status of the index. + """ return pulumi.get(self, "status") @property @@ -222,7 +225,6 @@ def get_search_index(analyzer: Optional[str] = None, name: Optional[str] = None, project_id: Optional[str] = None, search_analyzer: Optional[str] = None, - status: Optional[str] = None, type: Optional[str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetSearchIndexResult: """ @@ -267,7 +269,6 @@ def get_search_index(analyzer: Optional[str] = None, __args__['name'] = name __args__['projectId'] = project_id __args__['searchAnalyzer'] = search_analyzer - __args__['status'] = status __args__['type'] = type opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke('mongodbatlas:index/getSearchIndex:getSearchIndex', __args__, opts=opts, typ=GetSearchIndexResult).value @@ -304,7 +305,6 @@ def get_search_index_output(analyzer: Optional[pulumi.Input[Optional[str]]] = No name: Optional[pulumi.Input[Optional[str]]] = None, project_id: Optional[pulumi.Input[str]] = None, search_analyzer: Optional[pulumi.Input[Optional[str]]] = None, - status: Optional[pulumi.Input[Optional[str]]] = None, type: Optional[pulumi.Input[Optional[str]]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSearchIndexResult]: """ diff --git a/sdk/python/pulumi_mongodbatlas/get_search_indexes.py b/sdk/python/pulumi_mongodbatlas/get_search_indexes.py index fb4c0bf4..10de5607 100644 --- a/sdk/python/pulumi_mongodbatlas/get_search_indexes.py +++ b/sdk/python/pulumi_mongodbatlas/get_search_indexes.py @@ -22,7 +22,7 @@ class GetSearchIndexesResult: """ A collection of values returned by getSearchIndexes. """ - def __init__(__self__, cluster_name=None, collection_name=None, database=None, id=None, items_per_page=None, page_num=None, project_id=None, results=None, total_count=None): + def __init__(__self__, cluster_name=None, collection_name=None, database=None, id=None, project_id=None, results=None, total_count=None): if cluster_name and not isinstance(cluster_name, str): raise TypeError("Expected argument 'cluster_name' to be a str") pulumi.set(__self__, "cluster_name", cluster_name) @@ -35,12 +35,6 @@ def __init__(__self__, cluster_name=None, collection_name=None, database=None, i if id and not isinstance(id, str): raise TypeError("Expected argument 'id' to be a str") pulumi.set(__self__, "id", id) - if items_per_page and not isinstance(items_per_page, int): - raise TypeError("Expected argument 'items_per_page' to be a int") - pulumi.set(__self__, "items_per_page", items_per_page) - if page_num and not isinstance(page_num, int): - raise TypeError("Expected argument 'page_num' to be a int") - pulumi.set(__self__, "page_num", page_num) if project_id and not isinstance(project_id, str): raise TypeError("Expected argument 'project_id' to be a str") pulumi.set(__self__, "project_id", project_id) @@ -80,22 +74,6 @@ def id(self) -> str: """ return pulumi.get(self, "id") - @property - @pulumi.getter(name="itemsPerPage") - def items_per_page(self) -> Optional[int]: - warnings.warn("""this parameter is deprecated and will be removed in version 1.15.0""", DeprecationWarning) - pulumi.log.warn("""items_per_page is deprecated: this parameter is deprecated and will be removed in version 1.15.0""") - - return pulumi.get(self, "items_per_page") - - @property - @pulumi.getter(name="pageNum") - def page_num(self) -> Optional[int]: - warnings.warn("""this parameter is deprecated and will be removed in version 1.15.0""", DeprecationWarning) - pulumi.log.warn("""page_num is deprecated: this parameter is deprecated and will be removed in version 1.15.0""") - - return pulumi.get(self, "page_num") - @property @pulumi.getter(name="projectId") def project_id(self) -> str: @@ -128,8 +106,6 @@ def __await__(self): collection_name=self.collection_name, database=self.database, id=self.id, - items_per_page=self.items_per_page, - page_num=self.page_num, project_id=self.project_id, results=self.results, total_count=self.total_count) @@ -138,8 +114,6 @@ def __await__(self): def get_search_indexes(cluster_name: Optional[str] = None, collection_name: Optional[str] = None, database: Optional[str] = None, - items_per_page: Optional[int] = None, - page_num: Optional[int] = None, project_id: Optional[str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetSearchIndexesResult: """ @@ -151,16 +125,12 @@ def get_search_indexes(cluster_name: Optional[str] = None, :param str cluster_name: Name of the cluster containing the collection with one or more Atlas Search indexes. :param str collection_name: Name of the collection with one or more Atlas Search indexes. :param str database: (Required) Name of the database the collection is in. - :param int items_per_page: Number of items that Atlas returns per page, up to a maximum of 500. **WARNING:** this parameter is deprecated and will be removed in version 1.15.0 - :param int page_num: Page number, starting with one, that Atlas returns of the total number of objects. **WARNING:** this parameter is deprecated and will be removed in version 1.15.0 :param str project_id: Unique identifier for the [project](https://docs.atlas.mongodb.com/organizations-projects/#std-label-projects) that contains the specified cluster. """ __args__ = dict() __args__['clusterName'] = cluster_name __args__['collectionName'] = collection_name __args__['database'] = database - __args__['itemsPerPage'] = items_per_page - __args__['pageNum'] = page_num __args__['projectId'] = project_id opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke('mongodbatlas:index/getSearchIndexes:getSearchIndexes', __args__, opts=opts, typ=GetSearchIndexesResult).value @@ -170,8 +140,6 @@ def get_search_indexes(cluster_name: Optional[str] = None, collection_name=pulumi.get(__ret__, 'collection_name'), database=pulumi.get(__ret__, 'database'), id=pulumi.get(__ret__, 'id'), - items_per_page=pulumi.get(__ret__, 'items_per_page'), - page_num=pulumi.get(__ret__, 'page_num'), project_id=pulumi.get(__ret__, 'project_id'), results=pulumi.get(__ret__, 'results'), total_count=pulumi.get(__ret__, 'total_count')) @@ -181,8 +149,6 @@ def get_search_indexes(cluster_name: Optional[str] = None, def get_search_indexes_output(cluster_name: Optional[pulumi.Input[str]] = None, collection_name: Optional[pulumi.Input[str]] = None, database: Optional[pulumi.Input[str]] = None, - items_per_page: Optional[pulumi.Input[Optional[int]]] = None, - page_num: Optional[pulumi.Input[Optional[int]]] = None, project_id: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSearchIndexesResult]: """ @@ -194,8 +160,6 @@ def get_search_indexes_output(cluster_name: Optional[pulumi.Input[str]] = None, :param str cluster_name: Name of the cluster containing the collection with one or more Atlas Search indexes. :param str collection_name: Name of the collection with one or more Atlas Search indexes. :param str database: (Required) Name of the database the collection is in. - :param int items_per_page: Number of items that Atlas returns per page, up to a maximum of 500. **WARNING:** this parameter is deprecated and will be removed in version 1.15.0 - :param int page_num: Page number, starting with one, that Atlas returns of the total number of objects. **WARNING:** this parameter is deprecated and will be removed in version 1.15.0 :param str project_id: Unique identifier for the [project](https://docs.atlas.mongodb.com/organizations-projects/#std-label-projects) that contains the specified cluster. """ ... diff --git a/sdk/python/pulumi_mongodbatlas/network_container.py b/sdk/python/pulumi_mongodbatlas/network_container.py index 7d3aec2a..2119df0f 100644 --- a/sdk/python/pulumi_mongodbatlas/network_container.py +++ b/sdk/python/pulumi_mongodbatlas/network_container.py @@ -370,7 +370,7 @@ def __init__(__self__, regions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, __props__=None): """ - `NetworkContainer` provides a Network Peering Container resource. The resource lets you create, edit and delete network peering containers. The resource requires your Project ID. Each cloud provider requires slightly different attributes so read the argument reference carefully. + `NetworkContainer` provides a Network Peering Container resource. The resource lets you create, edit and delete network peering containers. You must delete network peering containers before creating clusters in your project. You can't delete a network peering container if your project contains clusters. The resource requires your Project ID. Each cloud provider requires slightly different attributes so read the argument reference carefully. Network peering container is a general term used to describe any cloud providers' VPC/VNet concept. Containers only need to be created if the peering connection to the cloud provider will be created before the first cluster that requires the container. If the cluster has been/will be created first Atlas automatically creates the required container per the "containers per cloud provider" information that follows (in this case you can obtain the container id from the cluster resource attribute `container_id`). @@ -455,7 +455,7 @@ def __init__(__self__, args: NetworkContainerArgs, opts: Optional[pulumi.ResourceOptions] = None): """ - `NetworkContainer` provides a Network Peering Container resource. The resource lets you create, edit and delete network peering containers. The resource requires your Project ID. Each cloud provider requires slightly different attributes so read the argument reference carefully. + `NetworkContainer` provides a Network Peering Container resource. The resource lets you create, edit and delete network peering containers. You must delete network peering containers before creating clusters in your project. You can't delete a network peering container if your project contains clusters. The resource requires your Project ID. Each cloud provider requires slightly different attributes so read the argument reference carefully. Network peering container is a general term used to describe any cloud providers' VPC/VNet concept. Containers only need to be created if the peering connection to the cloud provider will be created before the first cluster that requires the container. If the cluster has been/will be created first Atlas automatically creates the required container per the "containers per cloud provider" information that follows (in this case you can obtain the container id from the cluster resource attribute `container_id`). diff --git a/sdk/python/pulumi_mongodbatlas/organization.py b/sdk/python/pulumi_mongodbatlas/organization.py index f872281b..2010c1ed 100644 --- a/sdk/python/pulumi_mongodbatlas/organization.py +++ b/sdk/python/pulumi_mongodbatlas/organization.py @@ -17,22 +17,34 @@ def __init__(__self__, *, description: pulumi.Input[str], org_owner_id: pulumi.Input[str], role_names: pulumi.Input[Sequence[pulumi.Input[str]]], + api_access_list_required: Optional[pulumi.Input[bool]] = None, federation_settings_id: Optional[pulumi.Input[str]] = None, - name: Optional[pulumi.Input[str]] = None): + multi_factor_auth_required: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + restrict_employee_access: Optional[pulumi.Input[bool]] = None): """ The set of arguments for constructing a Organization resource. :param pulumi.Input[str] org_owner_id: Unique 24-hexadecimal digit string that identifies the Atlas user that you want to assign the Organization Owner role. This user must be a member of the same organization as the calling API key. This is only required when authenticating with Programmatic API Keys. [MongoDB Atlas Admin API - Get User By Username](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/MongoDB-Cloud-Users/operation/getUserByUsername) :param pulumi.Input[Sequence[pulumi.Input[str]]] role_names: List of Organization roles that the Programmatic API key needs to have. Ensure that you provide at least one role and ensure all roles are valid for the Organization. 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/#organization-roles) describes the roles that you can assign to a Programmatic API key. - :param pulumi.Input[str] federation_settings_id: (Optional) Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation. + :param pulumi.Input[bool] api_access_list_required: Flag that indicates whether to require API operations to originate from an IP Address added to the API access list for the specified organization. + :param pulumi.Input[str] federation_settings_id: Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation. + :param pulumi.Input[bool] multi_factor_auth_required: Flag that indicates whether to require users to set up Multi-Factor Authentication (MFA) before accessing the specified organization. To learn more, see: https://www.mongodb.com/docs/atlas/security-multi-factor-authentication/. :param pulumi.Input[str] name: The name of the organization you want to create. (Cannot be changed via this Provider after creation.) + :param pulumi.Input[bool] restrict_employee_access: Flag that indicates whether to block MongoDB Support from accessing Atlas infrastructure for any deployment in the specified organization without explicit permission. Once this setting is turned on, you can grant MongoDB Support a 24-hour bypass access to the Atlas deployment to resolve support issues. To learn more, see: https://www.mongodb.com/docs/atlas/security-restrict-support-access/. """ pulumi.set(__self__, "description", description) pulumi.set(__self__, "org_owner_id", org_owner_id) pulumi.set(__self__, "role_names", role_names) + if api_access_list_required is not None: + pulumi.set(__self__, "api_access_list_required", api_access_list_required) if federation_settings_id is not None: pulumi.set(__self__, "federation_settings_id", federation_settings_id) + if multi_factor_auth_required is not None: + pulumi.set(__self__, "multi_factor_auth_required", multi_factor_auth_required) if name is not None: pulumi.set(__self__, "name", name) + if restrict_employee_access is not None: + pulumi.set(__self__, "restrict_employee_access", restrict_employee_access) @property @pulumi.getter @@ -67,11 +79,23 @@ def role_names(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: def role_names(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): pulumi.set(self, "role_names", value) + @property + @pulumi.getter(name="apiAccessListRequired") + def api_access_list_required(self) -> Optional[pulumi.Input[bool]]: + """ + Flag that indicates whether to require API operations to originate from an IP Address added to the API access list for the specified organization. + """ + return pulumi.get(self, "api_access_list_required") + + @api_access_list_required.setter + def api_access_list_required(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "api_access_list_required", value) + @property @pulumi.getter(name="federationSettingsId") def federation_settings_id(self) -> Optional[pulumi.Input[str]]: """ - (Optional) Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation. + Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation. """ return pulumi.get(self, "federation_settings_id") @@ -79,6 +103,18 @@ def federation_settings_id(self) -> Optional[pulumi.Input[str]]: def federation_settings_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "federation_settings_id", value) + @property + @pulumi.getter(name="multiFactorAuthRequired") + def multi_factor_auth_required(self) -> Optional[pulumi.Input[bool]]: + """ + Flag that indicates whether to require users to set up Multi-Factor Authentication (MFA) before accessing the specified organization. To learn more, see: https://www.mongodb.com/docs/atlas/security-multi-factor-authentication/. + """ + return pulumi.get(self, "multi_factor_auth_required") + + @multi_factor_auth_required.setter + def multi_factor_auth_required(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "multi_factor_auth_required", value) + @property @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: @@ -91,31 +127,53 @@ def name(self) -> Optional[pulumi.Input[str]]: def name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "name", value) + @property + @pulumi.getter(name="restrictEmployeeAccess") + def restrict_employee_access(self) -> Optional[pulumi.Input[bool]]: + """ + Flag that indicates whether to block MongoDB Support from accessing Atlas infrastructure for any deployment in the specified organization without explicit permission. Once this setting is turned on, you can grant MongoDB Support a 24-hour bypass access to the Atlas deployment to resolve support issues. To learn more, see: https://www.mongodb.com/docs/atlas/security-restrict-support-access/. + """ + return pulumi.get(self, "restrict_employee_access") + + @restrict_employee_access.setter + def restrict_employee_access(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "restrict_employee_access", value) + @pulumi.input_type class _OrganizationState: def __init__(__self__, *, + api_access_list_required: Optional[pulumi.Input[bool]] = None, description: Optional[pulumi.Input[str]] = None, federation_settings_id: Optional[pulumi.Input[str]] = None, + multi_factor_auth_required: Optional[pulumi.Input[bool]] = None, name: Optional[pulumi.Input[str]] = None, org_id: Optional[pulumi.Input[str]] = None, org_owner_id: Optional[pulumi.Input[str]] = None, private_key: Optional[pulumi.Input[str]] = None, public_key: Optional[pulumi.Input[str]] = None, + restrict_employee_access: Optional[pulumi.Input[bool]] = None, role_names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): """ Input properties used for looking up and filtering Organization resources. - :param pulumi.Input[str] federation_settings_id: (Optional) Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation. + :param pulumi.Input[bool] api_access_list_required: Flag that indicates whether to require API operations to originate from an IP Address added to the API access list for the specified organization. + :param pulumi.Input[str] federation_settings_id: Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation. + :param pulumi.Input[bool] multi_factor_auth_required: Flag that indicates whether to require users to set up Multi-Factor Authentication (MFA) before accessing the specified organization. To learn more, see: https://www.mongodb.com/docs/atlas/security-multi-factor-authentication/. :param pulumi.Input[str] name: The name of the organization you want to create. (Cannot be changed via this Provider after creation.) :param pulumi.Input[str] org_id: The organization id. :param pulumi.Input[str] org_owner_id: Unique 24-hexadecimal digit string that identifies the Atlas user that you want to assign the Organization Owner role. This user must be a member of the same organization as the calling API key. This is only required when authenticating with Programmatic API Keys. [MongoDB Atlas Admin API - Get User By Username](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/MongoDB-Cloud-Users/operation/getUserByUsername) :param pulumi.Input[str] public_key: Public API key value set for the specified organization API key. + :param pulumi.Input[bool] restrict_employee_access: Flag that indicates whether to block MongoDB Support from accessing Atlas infrastructure for any deployment in the specified organization without explicit permission. Once this setting is turned on, you can grant MongoDB Support a 24-hour bypass access to the Atlas deployment to resolve support issues. To learn more, see: https://www.mongodb.com/docs/atlas/security-restrict-support-access/. :param pulumi.Input[Sequence[pulumi.Input[str]]] role_names: List of Organization roles that the Programmatic API key needs to have. Ensure that you provide at least one role and ensure all roles are valid for the Organization. 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/#organization-roles) describes the roles that you can assign to a Programmatic API key. """ + if api_access_list_required is not None: + pulumi.set(__self__, "api_access_list_required", api_access_list_required) if description is not None: pulumi.set(__self__, "description", description) if federation_settings_id is not None: pulumi.set(__self__, "federation_settings_id", federation_settings_id) + if multi_factor_auth_required is not None: + pulumi.set(__self__, "multi_factor_auth_required", multi_factor_auth_required) if name is not None: pulumi.set(__self__, "name", name) if org_id is not None: @@ -126,9 +184,23 @@ def __init__(__self__, *, pulumi.set(__self__, "private_key", private_key) if public_key is not None: pulumi.set(__self__, "public_key", public_key) + if restrict_employee_access is not None: + pulumi.set(__self__, "restrict_employee_access", restrict_employee_access) if role_names is not None: pulumi.set(__self__, "role_names", role_names) + @property + @pulumi.getter(name="apiAccessListRequired") + def api_access_list_required(self) -> Optional[pulumi.Input[bool]]: + """ + Flag that indicates whether to require API operations to originate from an IP Address added to the API access list for the specified organization. + """ + return pulumi.get(self, "api_access_list_required") + + @api_access_list_required.setter + def api_access_list_required(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "api_access_list_required", value) + @property @pulumi.getter def description(self) -> Optional[pulumi.Input[str]]: @@ -142,7 +214,7 @@ def description(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="federationSettingsId") def federation_settings_id(self) -> Optional[pulumi.Input[str]]: """ - (Optional) Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation. + Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation. """ return pulumi.get(self, "federation_settings_id") @@ -150,6 +222,18 @@ def federation_settings_id(self) -> Optional[pulumi.Input[str]]: def federation_settings_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "federation_settings_id", value) + @property + @pulumi.getter(name="multiFactorAuthRequired") + def multi_factor_auth_required(self) -> Optional[pulumi.Input[bool]]: + """ + Flag that indicates whether to require users to set up Multi-Factor Authentication (MFA) before accessing the specified organization. To learn more, see: https://www.mongodb.com/docs/atlas/security-multi-factor-authentication/. + """ + return pulumi.get(self, "multi_factor_auth_required") + + @multi_factor_auth_required.setter + def multi_factor_auth_required(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "multi_factor_auth_required", value) + @property @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: @@ -207,6 +291,18 @@ def public_key(self) -> Optional[pulumi.Input[str]]: def public_key(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "public_key", value) + @property + @pulumi.getter(name="restrictEmployeeAccess") + def restrict_employee_access(self) -> Optional[pulumi.Input[bool]]: + """ + Flag that indicates whether to block MongoDB Support from accessing Atlas infrastructure for any deployment in the specified organization without explicit permission. Once this setting is turned on, you can grant MongoDB Support a 24-hour bypass access to the Atlas deployment to resolve support issues. To learn more, see: https://www.mongodb.com/docs/atlas/security-restrict-support-access/. + """ + return pulumi.get(self, "restrict_employee_access") + + @restrict_employee_access.setter + def restrict_employee_access(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "restrict_employee_access", value) + @property @pulumi.getter(name="roleNames") def role_names(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: @@ -225,16 +321,23 @@ class Organization(pulumi.CustomResource): def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + api_access_list_required: Optional[pulumi.Input[bool]] = None, description: Optional[pulumi.Input[str]] = None, federation_settings_id: Optional[pulumi.Input[str]] = None, + multi_factor_auth_required: Optional[pulumi.Input[bool]] = None, name: Optional[pulumi.Input[str]] = None, org_owner_id: Optional[pulumi.Input[str]] = None, + restrict_employee_access: Optional[pulumi.Input[bool]] = None, role_names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, __props__=None): """ `Organization` provides programmatic management (including creation) of a MongoDB Atlas Organization resource. - > **IMPORTANT NOTE:** When you establish an Atlas organization using this resource, it automatically generates a set of initial public and private Programmatic API Keys. These key values are vital to store because you'll need to use them to grant access to the newly created Atlas organization. + > **IMPORTANT NOTE:** When you establish an Atlas organization using this resource, it automatically generates a set of initial public and private Programmatic API Keys. These key values are vital to store because you'll need to use them to grant access to the newly created Atlas organization. To use this resource, `role_names` for new API Key must have the ORG_OWNER role specified. + + > **IMPORTANT NOTE:** To use this resource, the requesting API Key must have the Organization Owner role. The requesting API Key's organization must be a paying organization. To learn more, see Configure a Paying Organization in the MongoDB Atlas documentation. + + > **NOTE** Import command is currently not supported for this resource. ## Example Usage @@ -248,22 +351,14 @@ def __init__(__self__, role_names=["ORG_OWNER"]) ``` - ## Import - - Organization must be imported using organization ID, e.g. - - ```sh - $ pulumi import mongodbatlas:index/organization:Organization my_org 5d09d6a59ccf6445652a444a - ``` - For more information see[MongoDB Atlas Admin API Organization](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Organizations/operation/createOrganization) - - Documentation for more information. - :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] federation_settings_id: (Optional) Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation. + :param pulumi.Input[bool] api_access_list_required: Flag that indicates whether to require API operations to originate from an IP Address added to the API access list for the specified organization. + :param pulumi.Input[str] federation_settings_id: Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation. + :param pulumi.Input[bool] multi_factor_auth_required: Flag that indicates whether to require users to set up Multi-Factor Authentication (MFA) before accessing the specified organization. To learn more, see: https://www.mongodb.com/docs/atlas/security-multi-factor-authentication/. :param pulumi.Input[str] name: The name of the organization you want to create. (Cannot be changed via this Provider after creation.) :param pulumi.Input[str] org_owner_id: Unique 24-hexadecimal digit string that identifies the Atlas user that you want to assign the Organization Owner role. This user must be a member of the same organization as the calling API key. This is only required when authenticating with Programmatic API Keys. [MongoDB Atlas Admin API - Get User By Username](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/MongoDB-Cloud-Users/operation/getUserByUsername) + :param pulumi.Input[bool] restrict_employee_access: Flag that indicates whether to block MongoDB Support from accessing Atlas infrastructure for any deployment in the specified organization without explicit permission. Once this setting is turned on, you can grant MongoDB Support a 24-hour bypass access to the Atlas deployment to resolve support issues. To learn more, see: https://www.mongodb.com/docs/atlas/security-restrict-support-access/. :param pulumi.Input[Sequence[pulumi.Input[str]]] role_names: List of Organization roles that the Programmatic API key needs to have. Ensure that you provide at least one role and ensure all roles are valid for the Organization. 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/#organization-roles) describes the roles that you can assign to a Programmatic API key. """ ... @@ -275,7 +370,11 @@ def __init__(__self__, """ `Organization` provides programmatic management (including creation) of a MongoDB Atlas Organization resource. - > **IMPORTANT NOTE:** When you establish an Atlas organization using this resource, it automatically generates a set of initial public and private Programmatic API Keys. These key values are vital to store because you'll need to use them to grant access to the newly created Atlas organization. + > **IMPORTANT NOTE:** When you establish an Atlas organization using this resource, it automatically generates a set of initial public and private Programmatic API Keys. These key values are vital to store because you'll need to use them to grant access to the newly created Atlas organization. To use this resource, `role_names` for new API Key must have the ORG_OWNER role specified. + + > **IMPORTANT NOTE:** To use this resource, the requesting API Key must have the Organization Owner role. The requesting API Key's organization must be a paying organization. To learn more, see Configure a Paying Organization in the MongoDB Atlas documentation. + + > **NOTE** Import command is currently not supported for this resource. ## Example Usage @@ -289,17 +388,6 @@ def __init__(__self__, role_names=["ORG_OWNER"]) ``` - ## Import - - Organization must be imported using organization ID, e.g. - - ```sh - $ pulumi import mongodbatlas:index/organization:Organization my_org 5d09d6a59ccf6445652a444a - ``` - For more information see[MongoDB Atlas Admin API Organization](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Organizations/operation/createOrganization) - - Documentation for more information. - :param str resource_name: The name of the resource. :param OrganizationArgs args: The arguments to use to populate this resource's properties. :param pulumi.ResourceOptions opts: Options for the resource. @@ -315,10 +403,13 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + api_access_list_required: Optional[pulumi.Input[bool]] = None, description: Optional[pulumi.Input[str]] = None, federation_settings_id: Optional[pulumi.Input[str]] = None, + multi_factor_auth_required: Optional[pulumi.Input[bool]] = None, name: Optional[pulumi.Input[str]] = None, org_owner_id: Optional[pulumi.Input[str]] = None, + restrict_employee_access: Optional[pulumi.Input[bool]] = None, role_names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -329,14 +420,17 @@ def _internal_init(__self__, raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') __props__ = OrganizationArgs.__new__(OrganizationArgs) + __props__.__dict__["api_access_list_required"] = api_access_list_required if description is None and not opts.urn: raise TypeError("Missing required property 'description'") __props__.__dict__["description"] = description __props__.__dict__["federation_settings_id"] = federation_settings_id + __props__.__dict__["multi_factor_auth_required"] = multi_factor_auth_required __props__.__dict__["name"] = name if org_owner_id is None and not opts.urn: raise TypeError("Missing required property 'org_owner_id'") __props__.__dict__["org_owner_id"] = org_owner_id + __props__.__dict__["restrict_employee_access"] = restrict_employee_access if role_names is None and not opts.urn: raise TypeError("Missing required property 'role_names'") __props__.__dict__["role_names"] = role_names @@ -355,13 +449,16 @@ def _internal_init(__self__, def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, + api_access_list_required: Optional[pulumi.Input[bool]] = None, description: Optional[pulumi.Input[str]] = None, federation_settings_id: Optional[pulumi.Input[str]] = None, + multi_factor_auth_required: Optional[pulumi.Input[bool]] = None, name: Optional[pulumi.Input[str]] = None, org_id: Optional[pulumi.Input[str]] = None, org_owner_id: Optional[pulumi.Input[str]] = None, private_key: Optional[pulumi.Input[str]] = None, public_key: Optional[pulumi.Input[str]] = None, + restrict_employee_access: Optional[pulumi.Input[bool]] = None, role_names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None) -> 'Organization': """ Get an existing Organization resource's state with the given name, id, and optional extra @@ -370,27 +467,41 @@ def get(resource_name: str, :param str resource_name: The unique name of the resulting resource. :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] federation_settings_id: (Optional) Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation. + :param pulumi.Input[bool] api_access_list_required: Flag that indicates whether to require API operations to originate from an IP Address added to the API access list for the specified organization. + :param pulumi.Input[str] federation_settings_id: Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation. + :param pulumi.Input[bool] multi_factor_auth_required: Flag that indicates whether to require users to set up Multi-Factor Authentication (MFA) before accessing the specified organization. To learn more, see: https://www.mongodb.com/docs/atlas/security-multi-factor-authentication/. :param pulumi.Input[str] name: The name of the organization you want to create. (Cannot be changed via this Provider after creation.) :param pulumi.Input[str] org_id: The organization id. :param pulumi.Input[str] org_owner_id: Unique 24-hexadecimal digit string that identifies the Atlas user that you want to assign the Organization Owner role. This user must be a member of the same organization as the calling API key. This is only required when authenticating with Programmatic API Keys. [MongoDB Atlas Admin API - Get User By Username](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/MongoDB-Cloud-Users/operation/getUserByUsername) :param pulumi.Input[str] public_key: Public API key value set for the specified organization API key. + :param pulumi.Input[bool] restrict_employee_access: Flag that indicates whether to block MongoDB Support from accessing Atlas infrastructure for any deployment in the specified organization without explicit permission. Once this setting is turned on, you can grant MongoDB Support a 24-hour bypass access to the Atlas deployment to resolve support issues. To learn more, see: https://www.mongodb.com/docs/atlas/security-restrict-support-access/. :param pulumi.Input[Sequence[pulumi.Input[str]]] role_names: List of Organization roles that the Programmatic API key needs to have. Ensure that you provide at least one role and ensure all roles are valid for the Organization. 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/#organization-roles) describes the roles that you can assign to a Programmatic API key. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) __props__ = _OrganizationState.__new__(_OrganizationState) + __props__.__dict__["api_access_list_required"] = api_access_list_required __props__.__dict__["description"] = description __props__.__dict__["federation_settings_id"] = federation_settings_id + __props__.__dict__["multi_factor_auth_required"] = multi_factor_auth_required __props__.__dict__["name"] = name __props__.__dict__["org_id"] = org_id __props__.__dict__["org_owner_id"] = org_owner_id __props__.__dict__["private_key"] = private_key __props__.__dict__["public_key"] = public_key + __props__.__dict__["restrict_employee_access"] = restrict_employee_access __props__.__dict__["role_names"] = role_names return Organization(resource_name, opts=opts, __props__=__props__) + @property + @pulumi.getter(name="apiAccessListRequired") + def api_access_list_required(self) -> pulumi.Output[bool]: + """ + Flag that indicates whether to require API operations to originate from an IP Address added to the API access list for the specified organization. + """ + return pulumi.get(self, "api_access_list_required") + @property @pulumi.getter def description(self) -> pulumi.Output[str]: @@ -400,10 +511,18 @@ def description(self) -> pulumi.Output[str]: @pulumi.getter(name="federationSettingsId") def federation_settings_id(self) -> pulumi.Output[Optional[str]]: """ - (Optional) Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation. + Unique 24-hexadecimal digit string that identifies the federation to link the newly created organization to. If specified, the proposed Organization Owner of the new organization must have the Organization Owner role in an organization associated with the federation. """ return pulumi.get(self, "federation_settings_id") + @property + @pulumi.getter(name="multiFactorAuthRequired") + def multi_factor_auth_required(self) -> pulumi.Output[bool]: + """ + Flag that indicates whether to require users to set up Multi-Factor Authentication (MFA) before accessing the specified organization. To learn more, see: https://www.mongodb.com/docs/atlas/security-multi-factor-authentication/. + """ + return pulumi.get(self, "multi_factor_auth_required") + @property @pulumi.getter def name(self) -> pulumi.Output[str]: @@ -441,6 +560,14 @@ def public_key(self) -> pulumi.Output[str]: """ return pulumi.get(self, "public_key") + @property + @pulumi.getter(name="restrictEmployeeAccess") + def restrict_employee_access(self) -> pulumi.Output[bool]: + """ + Flag that indicates whether to block MongoDB Support from accessing Atlas infrastructure for any deployment in the specified organization without explicit permission. Once this setting is turned on, you can grant MongoDB Support a 24-hour bypass access to the Atlas deployment to resolve support issues. To learn more, see: https://www.mongodb.com/docs/atlas/security-restrict-support-access/. + """ + return pulumi.get(self, "restrict_employee_access") + @property @pulumi.getter(name="roleNames") def role_names(self) -> pulumi.Output[Sequence[str]]: diff --git a/sdk/python/pulumi_mongodbatlas/outputs.py b/sdk/python/pulumi_mongodbatlas/outputs.py index 42753ad5..c8f69822 100644 --- a/sdk/python/pulumi_mongodbatlas/outputs.py +++ b/sdk/python/pulumi_mongodbatlas/outputs.py @@ -47,7 +47,6 @@ 'CloudProviderAccessAuthorizationAws', 'CloudProviderAccessAuthorizationAzure', 'CloudProviderAccessAuthorizationFeatureUsage', - 'CloudProviderAccessFeatureUsage', 'CloudProviderAccessSetupAwsConfig', 'CloudProviderAccessSetupAzureConfig', 'ClusterAdvancedConfiguration', @@ -105,6 +104,9 @@ 'PrivateLinkEndpointServiceEndpoint', 'ProjectApiKeyProjectAssignment', 'ProjectIpAccessListTimeouts', + 'ProjectIpAddresses', + 'ProjectIpAddressesServices', + 'ProjectIpAddressesServicesCluster', 'ProjectLimit', 'ProjectTeam', 'SearchDeploymentSpec', @@ -183,8 +185,6 @@ 'GetCloudBackupSnapshotRestoreJobsResultResult', 'GetCloudBackupSnapshotsResultResult', 'GetCloudBackupSnapshotsResultMemberResult', - 'GetCloudProviderAccessAwsIamRoleResult', - 'GetCloudProviderAccessAwsIamRoleFeatureUsageResult', 'GetCloudProviderAccessSetupAwsConfigResult', 'GetCloudProviderAccessSetupAzureConfigResult', 'GetClusterAdvancedConfigurationResult', @@ -319,9 +319,15 @@ 'GetProjectApiKeyProjectAssignmentResult', 'GetProjectApiKeysResultResult', 'GetProjectApiKeysResultProjectAssignmentResult', + 'GetProjectIpAddressesResult', + 'GetProjectIpAddressesServicesResult', + 'GetProjectIpAddressesServicesClusterResult', 'GetProjectLimitResult', 'GetProjectTeamResult', 'GetProjectsResultResult', + 'GetProjectsResultIpAddressesResult', + 'GetProjectsResultIpAddressesServicesResult', + 'GetProjectsResultIpAddressesServicesClusterResult', 'GetProjectsResultLimitResult', 'GetProjectsResultTeamResult', 'GetSearchDeploymentSpecResult', @@ -1742,7 +1748,7 @@ def __init__(__self__, *, :param str api_token: Slack API token. Required for the SLACK notifications type. If the token later becomes invalid, Atlas sends an email to the project owner and eventually removes the token. :param str channel_name: Slack channel name. Required for the SLACK notifications type. :param str datadog_api_key: Datadog API Key. Found in the Datadog dashboard. Required for the DATADOG notifications type. - :param str datadog_region: Region that indicates which API URL to use. Accepted regions are: `US`, `EU`. The default Datadog region is US. + :param str datadog_region: Region that indicates which API URL to use. See the `datadogRegion` field in the `notifications` request parameter of [MongoDB API Alert Configuration documentation](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/v2/#tag/Alert-Configurations/operation/createAlertConfiguration) for more details. The default Datadog region is US. :param int delay_min: Number of minutes to wait after an alert condition is detected before sending out the first notification. :param str email_address: Email address to which alert notifications are sent. Required for the EMAIL notifications type. :param bool email_enabled: Flag indicating email notifications should be sent. This flag is only valid if `type_name` is set to `ORG`, `GROUP`, or `USER`. @@ -1859,7 +1865,7 @@ def datadog_api_key(self) -> Optional[str]: @pulumi.getter(name="datadogRegion") def datadog_region(self) -> Optional[str]: """ - Region that indicates which API URL to use. Accepted regions are: `US`, `EU`. The default Datadog region is US. + Region that indicates which API URL to use. See the `datadogRegion` field in the `notifications` request parameter of [MongoDB API Alert Configuration documentation](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/v2/#tag/Alert-Configurations/operation/createAlertConfiguration) for more details. The default Datadog region is US. """ return pulumi.get(self, "datadog_region") @@ -3360,46 +3366,6 @@ def feature_type(self) -> Optional[str]: return pulumi.get(self, "feature_type") -@pulumi.output_type -class CloudProviderAccessFeatureUsage(dict): - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "featureId": - suggest = "feature_id" - elif key == "featureType": - suggest = "feature_type" - - if suggest: - pulumi.log.warn(f"Key '{key}' not found in CloudProviderAccessFeatureUsage. Access the value via the '{suggest}' property getter instead.") - - def __getitem__(self, key: str) -> Any: - CloudProviderAccessFeatureUsage.__key_warning(key) - return super().__getitem__(key) - - def get(self, key: str, default = None) -> Any: - CloudProviderAccessFeatureUsage.__key_warning(key) - return super().get(key, default) - - def __init__(__self__, *, - feature_id: Optional[Mapping[str, Any]] = None, - feature_type: Optional[str] = None): - if feature_id is not None: - pulumi.set(__self__, "feature_id", feature_id) - if feature_type is not None: - pulumi.set(__self__, "feature_type", feature_type) - - @property - @pulumi.getter(name="featureId") - def feature_id(self) -> Optional[Mapping[str, Any]]: - return pulumi.get(self, "feature_id") - - @property - @pulumi.getter(name="featureType") - def feature_type(self) -> Optional[str]: - return pulumi.get(self, "feature_type") - - @pulumi.output_type class CloudProviderAccessSetupAwsConfig(dict): @staticmethod @@ -5160,7 +5126,7 @@ def __init__(__self__, *, role_name: str, collection_name: Optional[str] = None): """ - :param str database_name: Database on which the user has the specified role. A role on the `admin` database can include privileges that apply to the other databases. + :param str database_name: Database on which the user has the specified role. A role on the `admin` database can include privileges that apply to the other databases. This field should be set to `admin` for a custom MongoDB role. :param str role_name: Name of the role to grant. See [Create a Database User](https://docs.atlas.mongodb.com/reference/api/database-users-create-a-user/) `roles.roleName` for valid values and restrictions. :param str collection_name: Collection for which the role applies. You can specify a collection for the `read` and `readWrite` roles. If you do not specify a collection for `read` and `readWrite`, the role applies to all collections in the database (excluding some collections in the `system`. database). """ @@ -5173,7 +5139,7 @@ def __init__(__self__, *, @pulumi.getter(name="databaseName") def database_name(self) -> str: """ - Database on which the user has the specified role. A role on the `admin` database can include privileges that apply to the other databases. + Database on which the user has the specified role. A role on the `admin` database can include privileges that apply to the other databases. This field should be set to `admin` for a custom MongoDB role. """ return pulumi.get(self, "database_name") @@ -5261,7 +5227,7 @@ def __init__(__self__, *, :param str customer_master_key_id: The AWS customer master key used to encrypt and decrypt the MongoDB master keys. :param bool enabled: Specifies whether Encryption at Rest is enabled for an Atlas project, To disable Encryption at Rest, pass only this parameter with a value of false, When you disable Encryption at Rest, Atlas also removes the configuration details. :param str region: The AWS region in which the AWS customer master key exists: CA_CENTRAL_1, US_EAST_1, US_EAST_2, US_WEST_1, US_WEST_2, SA_EAST_1 - :param str role_id: ID of an AWS IAM role authorized to manage an AWS customer master key. To find the ID for an existing IAM role check the `role_id` attribute of the `CloudProviderAccess` resource. + :param str role_id: ID of an AWS IAM role authorized to manage an AWS customer master key. To find the ID for an existing IAM role check the `role_id` attribute of the `mongodbatlas_cloud_provider_access` resource. """ if access_key_id is not None: pulumi.set(__self__, "access_key_id", access_key_id) @@ -5309,7 +5275,7 @@ def region(self) -> Optional[str]: @pulumi.getter(name="roleId") def role_id(self) -> Optional[str]: """ - ID of an AWS IAM role authorized to manage an AWS customer master key. To find the ID for an existing IAM role check the `role_id` attribute of the `CloudProviderAccess` resource. + ID of an AWS IAM role authorized to manage an AWS customer master key. To find the ID for an existing IAM role check the `role_id` attribute of the `mongodbatlas_cloud_provider_access` resource. """ return pulumi.get(self, "role_id") @@ -7105,6 +7071,78 @@ def read(self) -> Optional[str]: return pulumi.get(self, "read") +@pulumi.output_type +class ProjectIpAddresses(dict): + def __init__(__self__, *, + services: Optional['outputs.ProjectIpAddressesServices'] = None): + if services is not None: + pulumi.set(__self__, "services", services) + + @property + @pulumi.getter + def services(self) -> Optional['outputs.ProjectIpAddressesServices']: + return pulumi.get(self, "services") + + +@pulumi.output_type +class ProjectIpAddressesServices(dict): + def __init__(__self__, *, + clusters: Optional[Sequence['outputs.ProjectIpAddressesServicesCluster']] = None): + if clusters is not None: + pulumi.set(__self__, "clusters", clusters) + + @property + @pulumi.getter + def clusters(self) -> Optional[Sequence['outputs.ProjectIpAddressesServicesCluster']]: + return pulumi.get(self, "clusters") + + +@pulumi.output_type +class ProjectIpAddressesServicesCluster(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "clusterName": + suggest = "cluster_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ProjectIpAddressesServicesCluster. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ProjectIpAddressesServicesCluster.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ProjectIpAddressesServicesCluster.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + cluster_name: Optional[str] = None, + inbounds: Optional[Sequence[str]] = None, + outbounds: Optional[Sequence[str]] = None): + if cluster_name is not None: + pulumi.set(__self__, "cluster_name", cluster_name) + if inbounds is not None: + pulumi.set(__self__, "inbounds", inbounds) + if outbounds is not None: + pulumi.set(__self__, "outbounds", outbounds) + + @property + @pulumi.getter(name="clusterName") + def cluster_name(self) -> Optional[str]: + return pulumi.get(self, "cluster_name") + + @property + @pulumi.getter + def inbounds(self) -> Optional[Sequence[str]]: + return pulumi.get(self, "inbounds") + + @property + @pulumi.getter + def outbounds(self) -> Optional[Sequence[str]]: + return pulumi.get(self, "outbounds") + + @pulumi.output_type class ProjectLimit(dict): @staticmethod @@ -7348,7 +7386,7 @@ def __init__(__self__, *, """ :param str analyzer: [Analyzer](https://docs.atlas.mongodb.com/reference/atlas-search/analyzers/#std-label-analyzers-ref) to use when creating the index. Defaults to [lucene.standard](https://docs.atlas.mongodb.com/reference/atlas-search/analyzers/standard/#std-label-ref-standard-analyzer) :param str name: The name of the search index you want to create. - :param str source_collection: Name of the source MongoDB collection for the synonyms. Documents in this collection must be in the format described in the [Synonyms Source Collection Documents](https://docs.atlas.mongodb.com/reference/atlas-search/synonyms/#std-label-synonyms-coll-spec). + :param str source_collection: (Required) Name of the source MongoDB collection for the synonyms. Documents in this collection must be in the format described in the [Synonyms Source Collection Documents](https://docs.atlas.mongodb.com/reference/atlas-search/synonyms/#std-label-synonyms-coll-spec). """ pulumi.set(__self__, "analyzer", analyzer) pulumi.set(__self__, "name", name) @@ -7374,7 +7412,7 @@ def name(self) -> str: @pulumi.getter(name="sourceCollection") def source_collection(self) -> str: """ - Name of the source MongoDB collection for the synonyms. Documents in this collection must be in the format described in the [Synonyms Source Collection Documents](https://docs.atlas.mongodb.com/reference/atlas-search/synonyms/#std-label-synonyms-coll-spec). + (Required) Name of the source MongoDB collection for the synonyms. Documents in this collection must be in the format described in the [Synonyms Source Collection Documents](https://docs.atlas.mongodb.com/reference/atlas-search/synonyms/#std-label-synonyms-coll-spec). """ return pulumi.get(self, "source_collection") @@ -9507,7 +9545,7 @@ def __init__(__self__, *, :param str api_token: Slack API token. Required for the SLACK notifications type. If the token later becomes invalid, Atlas sends an email to the project owner and eventually removes the token. :param str channel_name: Slack channel name. Required for the SLACK notifications type. :param str datadog_api_key: Datadog API Key. Found in the Datadog dashboard. Required for the DATADOG notifications type. - :param str datadog_region: Region that indicates which API URL to use. Accepted regions are: `US`, `EU`. The default Datadog region is US. + :param str datadog_region: Region that indicates which API URL to use. See the `datadogRegion` field in the `notifications` request parameter of [MongoDB API Alert Configuration documentation](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/v2/#tag/Alert-Configurations/operation/createAlertConfiguration) for more details. The default Datadog region is US. :param int delay_min: Number of minutes to wait after an alert condition is detected before sending out the first notification. :param str email_address: Email address to which alert notifications are sent. Required for the EMAIL notifications type. :param bool email_enabled: Flag indicating email notifications should be sent. Atlas returns this value if `type_name` is set to `ORG`, `GROUP`, or `USER`. @@ -9583,7 +9621,7 @@ def datadog_api_key(self) -> str: @pulumi.getter(name="datadogRegion") def datadog_region(self) -> str: """ - Region that indicates which API URL to use. Accepted regions are: `US`, `EU`. The default Datadog region is US. + Region that indicates which API URL to use. See the `datadogRegion` field in the `notifications` request parameter of [MongoDB API Alert Configuration documentation](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/v2/#tag/Alert-Configurations/operation/createAlertConfiguration) for more details. The default Datadog region is US. """ return pulumi.get(self, "datadog_region") @@ -10125,7 +10163,7 @@ def __init__(__self__, *, :param str api_token: Slack API token. Required for the SLACK notifications type. If the token later becomes invalid, Atlas sends an email to the project owner and eventually removes the token. :param str channel_name: Slack channel name. Required for the SLACK notifications type. :param str datadog_api_key: Datadog API Key. Found in the Datadog dashboard. Required for the DATADOG notifications type. - :param str datadog_region: Region that indicates which API URL to use. Accepted regions are: `US`, `EU`. The default Datadog region is US. + :param str datadog_region: Region that indicates which API URL to use. See the `datadogRegion` field in the `notifications` request parameter of [MongoDB API Alert Configuration documentation](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/v2/#tag/Alert-Configurations/operation/createAlertConfiguration) for more details. The default Datadog region is US. :param int delay_min: Number of minutes to wait after an alert condition is detected before sending out the first notification. :param str email_address: Email address to which alert notifications are sent. Required for the EMAIL notifications type. :param bool email_enabled: Flag indicating email notifications should be sent. Atlas returns this value if `type_name` is set to `ORG`, `GROUP`, or `USER`. @@ -10201,7 +10239,7 @@ def datadog_api_key(self) -> str: @pulumi.getter(name="datadogRegion") def datadog_region(self) -> str: """ - Region that indicates which API URL to use. Accepted regions are: `US`, `EU`. The default Datadog region is US. + Region that indicates which API URL to use. See the `datadogRegion` field in the `notifications` request parameter of [MongoDB API Alert Configuration documentation](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/v2/#tag/Alert-Configurations/operation/createAlertConfiguration) for more details. The default Datadog region is US. """ return pulumi.get(self, "datadog_region") @@ -12084,120 +12122,6 @@ def replica_set_name(self) -> str: return pulumi.get(self, "replica_set_name") -@pulumi.output_type -class GetCloudProviderAccessAwsIamRoleResult(dict): - def __init__(__self__, *, - atlas_assumed_role_external_id: str, - atlas_aws_account_arn: str, - authorized_date: str, - created_date: str, - feature_usages: Sequence['outputs.GetCloudProviderAccessAwsIamRoleFeatureUsageResult'], - iam_assumed_role_arn: str, - provider_name: str, - role_id: str): - """ - :param str atlas_assumed_role_external_id: Unique external ID Atlas uses when assuming the IAM role in your AWS account. - :param str atlas_aws_account_arn: ARN associated with the Atlas AWS account used to assume IAM roles in your AWS account. - :param str authorized_date: Date on which this role was authorized. - :param str created_date: Date on which this role was created. - :param Sequence['GetCloudProviderAccessAwsIamRoleFeatureUsageArgs'] feature_usages: Atlas features this AWS IAM role is linked to. - :param str iam_assumed_role_arn: ARN of the IAM Role that Atlas assumes when accessing resources in your AWS account. - :param str provider_name: Name of the cloud provider. Currently limited to AWS. - :param str role_id: Unique ID of this role. - """ - pulumi.set(__self__, "atlas_assumed_role_external_id", atlas_assumed_role_external_id) - pulumi.set(__self__, "atlas_aws_account_arn", atlas_aws_account_arn) - pulumi.set(__self__, "authorized_date", authorized_date) - pulumi.set(__self__, "created_date", created_date) - pulumi.set(__self__, "feature_usages", feature_usages) - pulumi.set(__self__, "iam_assumed_role_arn", iam_assumed_role_arn) - pulumi.set(__self__, "provider_name", provider_name) - pulumi.set(__self__, "role_id", role_id) - - @property - @pulumi.getter(name="atlasAssumedRoleExternalId") - def atlas_assumed_role_external_id(self) -> str: - """ - Unique external ID Atlas uses when assuming the IAM role in your AWS account. - """ - return pulumi.get(self, "atlas_assumed_role_external_id") - - @property - @pulumi.getter(name="atlasAwsAccountArn") - def atlas_aws_account_arn(self) -> str: - """ - ARN associated with the Atlas AWS account used to assume IAM roles in your AWS account. - """ - return pulumi.get(self, "atlas_aws_account_arn") - - @property - @pulumi.getter(name="authorizedDate") - def authorized_date(self) -> str: - """ - Date on which this role was authorized. - """ - return pulumi.get(self, "authorized_date") - - @property - @pulumi.getter(name="createdDate") - def created_date(self) -> str: - """ - Date on which this role was created. - """ - return pulumi.get(self, "created_date") - - @property - @pulumi.getter(name="featureUsages") - def feature_usages(self) -> Sequence['outputs.GetCloudProviderAccessAwsIamRoleFeatureUsageResult']: - """ - Atlas features this AWS IAM role is linked to. - """ - return pulumi.get(self, "feature_usages") - - @property - @pulumi.getter(name="iamAssumedRoleArn") - def iam_assumed_role_arn(self) -> str: - """ - ARN of the IAM Role that Atlas assumes when accessing resources in your AWS account. - """ - return pulumi.get(self, "iam_assumed_role_arn") - - @property - @pulumi.getter(name="providerName") - def provider_name(self) -> str: - """ - Name of the cloud provider. Currently limited to AWS. - """ - return pulumi.get(self, "provider_name") - - @property - @pulumi.getter(name="roleId") - def role_id(self) -> str: - """ - Unique ID of this role. - """ - return pulumi.get(self, "role_id") - - -@pulumi.output_type -class GetCloudProviderAccessAwsIamRoleFeatureUsageResult(dict): - def __init__(__self__, *, - feature_id: Mapping[str, Any], - feature_type: str): - pulumi.set(__self__, "feature_id", feature_id) - pulumi.set(__self__, "feature_type", feature_type) - - @property - @pulumi.getter(name="featureId") - def feature_id(self) -> Mapping[str, Any]: - return pulumi.get(self, "feature_id") - - @property - @pulumi.getter(name="featureType") - def feature_type(self) -> str: - return pulumi.get(self, "feature_type") - - @pulumi.output_type class GetCloudProviderAccessSetupAwsConfigResult(dict): def __init__(__self__, *, @@ -15110,6 +15034,9 @@ def oidc_auth_type(self) -> str: @property @pulumi.getter def password(self) -> str: + warnings.warn("""this parameter is deprecated and will be removed in version 1.16.0""", DeprecationWarning) + pulumi.log.warn("""password is deprecated: this parameter is deprecated and will be removed in version 1.16.0""") + return pulumi.get(self, "password") @property @@ -16724,7 +16651,6 @@ def __init__(__self__, *, """ :param Sequence[str] domain_allow_lists: List that contains the approved domains from which organization users can log in. :param bool domain_restriction_enabled: Flag that indicates whether domain restriction is enabled for the connected organization. - :param str identity_provider_id: Unique 20-hexadecimal digit string that identifies the IdP. :param str org_id: Unique 24-hexadecimal digit string that identifies the organization that contains your projects. :param Sequence[str] post_auth_role_grants: List that contains the default roles granted to users who authenticate through the IdP in a connected organization. If you provide a postAuthRoleGrants field in the request, the array that you provide replaces the current postAuthRoleGrants. """ @@ -16755,9 +16681,6 @@ def domain_restriction_enabled(self) -> bool: @property @pulumi.getter(name="identityProviderId") def identity_provider_id(self) -> str: - """ - Unique 20-hexadecimal digit string that identifies the IdP. - """ return pulumi.get(self, "identity_provider_id") @property @@ -16989,46 +16912,67 @@ def __init__(__self__, *, acs_url: str, associated_domains: Sequence[str], associated_orgs: Sequence['outputs.GetFederatedSettingsIdentityProvidersResultAssociatedOrgResult'], + audience_claims: Sequence[str], audience_uri: str, + client_id: str, display_name: str, + groups_claim: str, + idp_id: str, issuer_uri: str, okta_idp_id: str, pem_file_infos: Sequence['outputs.GetFederatedSettingsIdentityProvidersResultPemFileInfoResult'], + protocol: str, request_binding: str, + requested_scopes: Sequence[str], response_signature_algorithm: str, sso_debug_enabled: bool, sso_url: str, - status: str): + status: str, + user_claim: str): """ :param str acs_url: Assertion consumer service URL to which the IdP sends the SAML response. :param Sequence[str] associated_domains: List that contains the configured domains from which users can log in for this IdP. :param Sequence['GetFederatedSettingsIdentityProvidersResultAssociatedOrgArgs'] associated_orgs: List that contains the configured domains from which users can log in for this IdP. + :param Sequence[str] audience_claims: Identifier of the intended recipient of the token. :param str audience_uri: Identifier for the intended audience of the SAML Assertion. + :param str client_id: Client identifier that is assigned to an application by the Identity Provider. :param str display_name: Human-readable label that identifies the IdP. + :param str groups_claim: Identifier of the claim which contains IdP Group IDs in the token. + :param str idp_id: Unique 20-hexadecimal digit string that identifies the IdP. :param str issuer_uri: Identifier for the issuer of the SAML Assertion. + :param str protocol: The protocol of the identity provider :param str request_binding: SAML Authentication Request Protocol binding used to send the AuthNRequest. Atlas supports the following binding values: - HTTP POST - HTTP REDIRECT + :param Sequence[str] requested_scopes: Scopes that MongoDB applications will request from the authorization endpoint. :param str response_signature_algorithm: Algorithm used to encrypt the IdP signature. Atlas supports the following signature algorithm values: - SHA-1 - SHA-256 :param bool sso_debug_enabled: Flag that indicates whether the IdP has enabled Bypass SAML Mode. Enabling this mode generates a URL that allows you bypass SAML and login to your organizations at any point. You can authenticate with this special URL only when Bypass Mode is enabled. Set this parameter to true during testing. This keeps you from getting locked out of MongoDB. :param str sso_url: URL of the receiver of the SAML AuthNRequest. :param str status: Label that indicates whether the identity provider is active. The IdP is Inactive until you map at least one domain to the IdP. + :param str user_claim: Identifier of the claim which contains the user ID in the token. """ pulumi.set(__self__, "acs_url", acs_url) pulumi.set(__self__, "associated_domains", associated_domains) pulumi.set(__self__, "associated_orgs", associated_orgs) + pulumi.set(__self__, "audience_claims", audience_claims) pulumi.set(__self__, "audience_uri", audience_uri) + pulumi.set(__self__, "client_id", client_id) pulumi.set(__self__, "display_name", display_name) + pulumi.set(__self__, "groups_claim", groups_claim) + pulumi.set(__self__, "idp_id", idp_id) pulumi.set(__self__, "issuer_uri", issuer_uri) pulumi.set(__self__, "okta_idp_id", okta_idp_id) pulumi.set(__self__, "pem_file_infos", pem_file_infos) + pulumi.set(__self__, "protocol", protocol) pulumi.set(__self__, "request_binding", request_binding) + pulumi.set(__self__, "requested_scopes", requested_scopes) pulumi.set(__self__, "response_signature_algorithm", response_signature_algorithm) pulumi.set(__self__, "sso_debug_enabled", sso_debug_enabled) pulumi.set(__self__, "sso_url", sso_url) pulumi.set(__self__, "status", status) + pulumi.set(__self__, "user_claim", user_claim) @property @pulumi.getter(name="acsUrl") @@ -17054,6 +16998,14 @@ def associated_orgs(self) -> Sequence['outputs.GetFederatedSettingsIdentityProvi """ return pulumi.get(self, "associated_orgs") + @property + @pulumi.getter(name="audienceClaims") + def audience_claims(self) -> Sequence[str]: + """ + Identifier of the intended recipient of the token. + """ + return pulumi.get(self, "audience_claims") + @property @pulumi.getter(name="audienceUri") def audience_uri(self) -> str: @@ -17062,6 +17014,14 @@ def audience_uri(self) -> str: """ return pulumi.get(self, "audience_uri") + @property + @pulumi.getter(name="clientId") + def client_id(self) -> str: + """ + Client identifier that is assigned to an application by the Identity Provider. + """ + return pulumi.get(self, "client_id") + @property @pulumi.getter(name="displayName") def display_name(self) -> str: @@ -17070,6 +17030,22 @@ def display_name(self) -> str: """ return pulumi.get(self, "display_name") + @property + @pulumi.getter(name="groupsClaim") + def groups_claim(self) -> str: + """ + Identifier of the claim which contains IdP Group IDs in the token. + """ + return pulumi.get(self, "groups_claim") + + @property + @pulumi.getter(name="idpId") + def idp_id(self) -> str: + """ + Unique 20-hexadecimal digit string that identifies the IdP. + """ + return pulumi.get(self, "idp_id") + @property @pulumi.getter(name="issuerUri") def issuer_uri(self) -> str: @@ -17088,6 +17064,14 @@ def okta_idp_id(self) -> str: def pem_file_infos(self) -> Sequence['outputs.GetFederatedSettingsIdentityProvidersResultPemFileInfoResult']: return pulumi.get(self, "pem_file_infos") + @property + @pulumi.getter + def protocol(self) -> str: + """ + The protocol of the identity provider + """ + return pulumi.get(self, "protocol") + @property @pulumi.getter(name="requestBinding") def request_binding(self) -> str: @@ -17098,6 +17082,14 @@ def request_binding(self) -> str: """ return pulumi.get(self, "request_binding") + @property + @pulumi.getter(name="requestedScopes") + def requested_scopes(self) -> Sequence[str]: + """ + Scopes that MongoDB applications will request from the authorization endpoint. + """ + return pulumi.get(self, "requested_scopes") + @property @pulumi.getter(name="responseSignatureAlgorithm") def response_signature_algorithm(self) -> str: @@ -17132,6 +17124,14 @@ def status(self) -> str: """ return pulumi.get(self, "status") + @property + @pulumi.getter(name="userClaim") + def user_claim(self) -> str: + """ + Identifier of the claim which contains the user ID in the token. + """ + return pulumi.get(self, "user_claim") + @pulumi.output_type class GetFederatedSettingsIdentityProvidersResultAssociatedOrgResult(dict): @@ -18817,21 +18817,38 @@ def rel(self) -> str: @pulumi.output_type class GetOrganizationsResultResult(dict): def __init__(__self__, *, + api_access_list_required: bool, id: str, is_deleted: bool, links: Sequence['outputs.GetOrganizationsResultLinkResult'], - name: str): + multi_factor_auth_required: bool, + name: str, + restrict_employee_access: bool): """ + :param bool api_access_list_required: Flag that indicates whether to require API operations to originate from an IP Address added to the API access list for the specified organization. :param str id: Autogenerated Unique ID for this data source. :param bool is_deleted: Flag that indicates whether this organization has been deleted. + :param bool multi_factor_auth_required: Flag that indicates whether to require users to set up Multi-Factor Authentication (MFA) before accessing the specified organization. To learn more, see: https://www.mongodb.com/docs/atlas/security-multi-factor-authentication/. + :param str name: Human-readable label that identifies the organization. + :param bool restrict_employee_access: Flag that indicates whether to block MongoDB Support from accessing Atlas infrastructure for any deployment in the specified organization without explicit permission. Once this setting is turned on, you can grant MongoDB Support a 24-hour bypass access to the Atlas deployment to resolve support issues. To learn more, see: https://www.mongodb.com/docs/atlas/security-restrict-support-access/. See [MongoDB Atlas API - Organizations](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Organizations/operation/listOrganizations) Documentation for more information. - :param str name: Human-readable label that identifies the organization. """ + pulumi.set(__self__, "api_access_list_required", api_access_list_required) pulumi.set(__self__, "id", id) pulumi.set(__self__, "is_deleted", is_deleted) pulumi.set(__self__, "links", links) + pulumi.set(__self__, "multi_factor_auth_required", multi_factor_auth_required) pulumi.set(__self__, "name", name) + pulumi.set(__self__, "restrict_employee_access", restrict_employee_access) + + @property + @pulumi.getter(name="apiAccessListRequired") + def api_access_list_required(self) -> bool: + """ + Flag that indicates whether to require API operations to originate from an IP Address added to the API access list for the specified organization. + """ + return pulumi.get(self, "api_access_list_required") @property @pulumi.getter @@ -18846,8 +18863,6 @@ def id(self) -> str: def is_deleted(self) -> bool: """ Flag that indicates whether this organization has been deleted. - - See [MongoDB Atlas API - Organizations](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Organizations/operation/listOrganizations) Documentation for more information. """ return pulumi.get(self, "is_deleted") @@ -18856,6 +18871,14 @@ def is_deleted(self) -> bool: def links(self) -> Sequence['outputs.GetOrganizationsResultLinkResult']: return pulumi.get(self, "links") + @property + @pulumi.getter(name="multiFactorAuthRequired") + def multi_factor_auth_required(self) -> bool: + """ + Flag that indicates whether to require users to set up Multi-Factor Authentication (MFA) before accessing the specified organization. To learn more, see: https://www.mongodb.com/docs/atlas/security-multi-factor-authentication/. + """ + return pulumi.get(self, "multi_factor_auth_required") + @property @pulumi.getter def name(self) -> str: @@ -18864,6 +18887,16 @@ def name(self) -> str: """ return pulumi.get(self, "name") + @property + @pulumi.getter(name="restrictEmployeeAccess") + def restrict_employee_access(self) -> bool: + """ + Flag that indicates whether to block MongoDB Support from accessing Atlas infrastructure for any deployment in the specified organization without explicit permission. Once this setting is turned on, you can grant MongoDB Support a 24-hour bypass access to the Atlas deployment to resolve support issues. To learn more, see: https://www.mongodb.com/docs/atlas/security-restrict-support-access/. + + See [MongoDB Atlas API - Organizations](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Organizations/operation/listOrganizations) Documentation for more information. + """ + return pulumi.get(self, "restrict_employee_access") + @pulumi.output_type class GetOrganizationsResultLinkResult(dict): @@ -19186,6 +19219,56 @@ def role_names(self) -> Sequence[str]: return pulumi.get(self, "role_names") +@pulumi.output_type +class GetProjectIpAddressesResult(dict): + def __init__(__self__, *, + services: 'outputs.GetProjectIpAddressesServicesResult'): + pulumi.set(__self__, "services", services) + + @property + @pulumi.getter + def services(self) -> 'outputs.GetProjectIpAddressesServicesResult': + return pulumi.get(self, "services") + + +@pulumi.output_type +class GetProjectIpAddressesServicesResult(dict): + def __init__(__self__, *, + clusters: Sequence['outputs.GetProjectIpAddressesServicesClusterResult']): + pulumi.set(__self__, "clusters", clusters) + + @property + @pulumi.getter + def clusters(self) -> Sequence['outputs.GetProjectIpAddressesServicesClusterResult']: + return pulumi.get(self, "clusters") + + +@pulumi.output_type +class GetProjectIpAddressesServicesClusterResult(dict): + def __init__(__self__, *, + cluster_name: str, + inbounds: Sequence[str], + outbounds: Sequence[str]): + pulumi.set(__self__, "cluster_name", cluster_name) + pulumi.set(__self__, "inbounds", inbounds) + pulumi.set(__self__, "outbounds", outbounds) + + @property + @pulumi.getter(name="clusterName") + def cluster_name(self) -> str: + return pulumi.get(self, "cluster_name") + + @property + @pulumi.getter + def inbounds(self) -> Sequence[str]: + return pulumi.get(self, "inbounds") + + @property + @pulumi.getter + def outbounds(self) -> Sequence[str]: + return pulumi.get(self, "outbounds") + + @pulumi.output_type class GetProjectLimitResult(dict): def __init__(__self__, *, @@ -19195,9 +19278,13 @@ def __init__(__self__, *, name: str, value: int): """ + :param int current_usage: Amount that indicates the current usage of the limit. + :param int default_limit: Default value of the limit. + :param int maximum_limit: Maximum value of the limit. :param str name: The unique ID for the project. > **IMPORTANT:** Either `project_id` or `name` must be configurated. + :param int value: Amount the limit is set to. """ pulumi.set(__self__, "current_usage", current_usage) pulumi.set(__self__, "default_limit", default_limit) @@ -19208,16 +19295,25 @@ def __init__(__self__, *, @property @pulumi.getter(name="currentUsage") def current_usage(self) -> int: + """ + Amount that indicates the current usage of the limit. + """ return pulumi.get(self, "current_usage") @property @pulumi.getter(name="defaultLimit") def default_limit(self) -> int: + """ + Default value of the limit. + """ return pulumi.get(self, "default_limit") @property @pulumi.getter(name="maximumLimit") def maximum_limit(self) -> int: + """ + Maximum value of the limit. + """ return pulumi.get(self, "maximum_limit") @property @@ -19233,6 +19329,9 @@ def name(self) -> str: @property @pulumi.getter def value(self) -> int: + """ + Amount the limit is set to. + """ return pulumi.get(self, "value") @@ -19241,17 +19340,27 @@ class GetProjectTeamResult(dict): def __init__(__self__, *, role_names: Sequence[str], team_id: str): + """ + :param Sequence[str] role_names: Each string in the array represents a project role assigned to the team. Every user associated with the team inherits these roles. The [MongoDB Documentation](https://www.mongodb.com/docs/atlas/reference/user-roles/#organization-roles) describes the roles a user can have. + :param str team_id: The unique identifier of the team you want to associate with the project. The team and project must share the same parent organization. + """ pulumi.set(__self__, "role_names", role_names) pulumi.set(__self__, "team_id", team_id) @property @pulumi.getter(name="roleNames") def role_names(self) -> Sequence[str]: + """ + Each string in the array represents a project role assigned to the team. Every user associated with the team inherits these roles. The [MongoDB Documentation](https://www.mongodb.com/docs/atlas/reference/user-roles/#organization-roles) describes the roles a user can have. + """ return pulumi.get(self, "role_names") @property @pulumi.getter(name="teamId") def team_id(self) -> str: + """ + The unique identifier of the team you want to associate with the project. The team and project must share the same parent organization. + """ return pulumi.get(self, "team_id") @@ -19261,6 +19370,7 @@ def __init__(__self__, *, cluster_count: int, created: str, id: str, + ip_addresses: 'outputs.GetProjectsResultIpAddressesResult', is_collect_database_specifics_statistics_enabled: bool, is_data_explorer_enabled: bool, is_extended_storage_sizes_enabled: bool, @@ -19276,29 +19386,24 @@ def __init__(__self__, *, """ :param int cluster_count: The number of Atlas clusters deployed in the project. :param str created: The ISO-8601-formatted timestamp of when Atlas created the project. - * `teams.#.team_id` - The unique identifier of the team you want to associate with the project. The team and project must share the same parent organization. - * `teams.#.role_names` - Each string in the array represents a project role assigned to the team. Every user associated with the team inherits these roles. The [MongoDB Documentation](https://www.mongodb.com/docs/atlas/reference/user-roles/#organization-roles) describes the roles a user can have. - * `limits.#.name` - Human-readable label that identifies this project limit. - * `limits.#.value` - Amount the limit is set to. - * `limits.#.current_usage` - Amount that indicates the current usage of the limit. - * `limits.#.default_limit` - Default value of the limit. - * `limits.#.maximum_limit` - Maximum value of the limit. :param str id: Autogenerated Unique ID for this data source. + :param 'GetProjectsResultIpAddressesArgs' ip_addresses: IP addresses in a project categorized by services. See IP Addresses. :param bool is_collect_database_specifics_statistics_enabled: Flag that indicates whether to enable statistics in [cluster metrics](https://www.mongodb.com/docs/atlas/monitor-cluster-metrics/) collection for the project. :param bool is_data_explorer_enabled: Flag that indicates whether to enable Data Explorer for the project. If enabled, you can query your database with an easy to use interface. :param bool is_extended_storage_sizes_enabled: Flag that indicates whether to enable extended storage sizes for the specified project. :param bool is_performance_advisor_enabled: Flag that indicates whether to enable Performance Advisor and Profiler for the project. If enabled, you can analyze database logs to recommend performance improvements. :param bool is_realtime_performance_panel_enabled: Flag that indicates whether to enable Real Time Performance Panel for the project. If enabled, you can see real time metrics from your MongoDB database. :param bool is_schema_advisor_enabled: Flag that indicates whether to enable Schema Advisor for the project. If enabled, you receive customized recommendations to optimize your data model and enhance performance. Disable this setting to disable schema suggestions in the [Performance Advisor](https://www.mongodb.com/docs/atlas/performance-advisor/#std-label-performance-advisor) and the [Data Explorer](https://www.mongodb.com/docs/atlas/atlas-ui/#std-label-atlas-ui). - :param str name: The name of the project you want to create. + :param Sequence['GetProjectsResultLimitArgs'] limits: The limits for the specified project. See Limits. + :param str name: Human-readable label that identifies this project limit. :param str org_id: The ID of the organization you want to create the project within. :param str region_usage_restrictions: If GOV_REGIONS_ONLY the project can be used for government regions only, otherwise defaults to standard regions. For more information see [MongoDB Atlas for Government](https://www.mongodb.com/docs/atlas/government/api/#creating-a-project). - - See [MongoDB Atlas API - Projects](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Projects) - [and MongoDB Atlas API - Teams](https://docs.atlas.mongodb.com/reference/api/project-get-teams/) Documentation for more information. + :param Sequence['GetProjectsResultTeamArgs'] teams: Returns all teams to which the authenticated user has access in the project. See Teams. """ pulumi.set(__self__, "cluster_count", cluster_count) pulumi.set(__self__, "created", created) pulumi.set(__self__, "id", id) + pulumi.set(__self__, "ip_addresses", ip_addresses) pulumi.set(__self__, "is_collect_database_specifics_statistics_enabled", is_collect_database_specifics_statistics_enabled) pulumi.set(__self__, "is_data_explorer_enabled", is_data_explorer_enabled) pulumi.set(__self__, "is_extended_storage_sizes_enabled", is_extended_storage_sizes_enabled) @@ -19325,13 +19430,6 @@ def cluster_count(self) -> int: def created(self) -> str: """ The ISO-8601-formatted timestamp of when Atlas created the project. - * `teams.#.team_id` - The unique identifier of the team you want to associate with the project. The team and project must share the same parent organization. - * `teams.#.role_names` - Each string in the array represents a project role assigned to the team. Every user associated with the team inherits these roles. The [MongoDB Documentation](https://www.mongodb.com/docs/atlas/reference/user-roles/#organization-roles) describes the roles a user can have. - * `limits.#.name` - Human-readable label that identifies this project limit. - * `limits.#.value` - Amount the limit is set to. - * `limits.#.current_usage` - Amount that indicates the current usage of the limit. - * `limits.#.default_limit` - Default value of the limit. - * `limits.#.maximum_limit` - Maximum value of the limit. """ return pulumi.get(self, "created") @@ -19343,6 +19441,14 @@ def id(self) -> str: """ return pulumi.get(self, "id") + @property + @pulumi.getter(name="ipAddresses") + def ip_addresses(self) -> 'outputs.GetProjectsResultIpAddressesResult': + """ + IP addresses in a project categorized by services. See IP Addresses. + """ + return pulumi.get(self, "ip_addresses") + @property @pulumi.getter(name="isCollectDatabaseSpecificsStatisticsEnabled") def is_collect_database_specifics_statistics_enabled(self) -> bool: @@ -19394,13 +19500,16 @@ def is_schema_advisor_enabled(self) -> bool: @property @pulumi.getter def limits(self) -> Sequence['outputs.GetProjectsResultLimitResult']: + """ + The limits for the specified project. See Limits. + """ return pulumi.get(self, "limits") @property @pulumi.getter def name(self) -> str: """ - The name of the project you want to create. + Human-readable label that identifies this project limit. """ return pulumi.get(self, "name") @@ -19422,17 +19531,68 @@ def project_id(self) -> str: def region_usage_restrictions(self) -> str: """ If GOV_REGIONS_ONLY the project can be used for government regions only, otherwise defaults to standard regions. For more information see [MongoDB Atlas for Government](https://www.mongodb.com/docs/atlas/government/api/#creating-a-project). - - See [MongoDB Atlas API - Projects](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Projects) - [and MongoDB Atlas API - Teams](https://docs.atlas.mongodb.com/reference/api/project-get-teams/) Documentation for more information. """ return pulumi.get(self, "region_usage_restrictions") @property @pulumi.getter def teams(self) -> Sequence['outputs.GetProjectsResultTeamResult']: + """ + Returns all teams to which the authenticated user has access in the project. See Teams. + """ return pulumi.get(self, "teams") +@pulumi.output_type +class GetProjectsResultIpAddressesResult(dict): + def __init__(__self__, *, + services: 'outputs.GetProjectsResultIpAddressesServicesResult'): + pulumi.set(__self__, "services", services) + + @property + @pulumi.getter + def services(self) -> 'outputs.GetProjectsResultIpAddressesServicesResult': + return pulumi.get(self, "services") + + +@pulumi.output_type +class GetProjectsResultIpAddressesServicesResult(dict): + def __init__(__self__, *, + clusters: Sequence['outputs.GetProjectsResultIpAddressesServicesClusterResult']): + pulumi.set(__self__, "clusters", clusters) + + @property + @pulumi.getter + def clusters(self) -> Sequence['outputs.GetProjectsResultIpAddressesServicesClusterResult']: + return pulumi.get(self, "clusters") + + +@pulumi.output_type +class GetProjectsResultIpAddressesServicesClusterResult(dict): + def __init__(__self__, *, + cluster_name: str, + inbounds: Sequence[str], + outbounds: Sequence[str]): + pulumi.set(__self__, "cluster_name", cluster_name) + pulumi.set(__self__, "inbounds", inbounds) + pulumi.set(__self__, "outbounds", outbounds) + + @property + @pulumi.getter(name="clusterName") + def cluster_name(self) -> str: + return pulumi.get(self, "cluster_name") + + @property + @pulumi.getter + def inbounds(self) -> Sequence[str]: + return pulumi.get(self, "inbounds") + + @property + @pulumi.getter + def outbounds(self) -> Sequence[str]: + return pulumi.get(self, "outbounds") + + @pulumi.output_type class GetProjectsResultLimitResult(dict): def __init__(__self__, *, @@ -19442,7 +19602,11 @@ def __init__(__self__, *, name: str, value: int): """ - :param str name: The name of the project you want to create. + :param int current_usage: Amount that indicates the current usage of the limit. + :param int default_limit: Default value of the limit. + :param int maximum_limit: Maximum value of the limit. + :param str name: Human-readable label that identifies this project limit. + :param int value: Amount the limit is set to. """ pulumi.set(__self__, "current_usage", current_usage) pulumi.set(__self__, "default_limit", default_limit) @@ -19453,29 +19617,41 @@ def __init__(__self__, *, @property @pulumi.getter(name="currentUsage") def current_usage(self) -> int: + """ + Amount that indicates the current usage of the limit. + """ return pulumi.get(self, "current_usage") @property @pulumi.getter(name="defaultLimit") def default_limit(self) -> int: + """ + Default value of the limit. + """ return pulumi.get(self, "default_limit") @property @pulumi.getter(name="maximumLimit") def maximum_limit(self) -> int: + """ + Maximum value of the limit. + """ return pulumi.get(self, "maximum_limit") @property @pulumi.getter def name(self) -> str: """ - The name of the project you want to create. + Human-readable label that identifies this project limit. """ return pulumi.get(self, "name") @property @pulumi.getter def value(self) -> int: + """ + Amount the limit is set to. + """ return pulumi.get(self, "value") @@ -19484,17 +19660,27 @@ class GetProjectsResultTeamResult(dict): def __init__(__self__, *, role_names: Sequence[str], team_id: str): + """ + :param Sequence[str] role_names: Each string in the array represents a project role assigned to the team. Every user associated with the team inherits these roles. The [MongoDB Documentation](https://www.mongodb.com/docs/atlas/reference/user-roles/#organization-roles) describes the roles a user can have. + :param str team_id: The unique identifier of the team you want to associate with the project. The team and project must share the same parent organization. + """ pulumi.set(__self__, "role_names", role_names) pulumi.set(__self__, "team_id", team_id) @property @pulumi.getter(name="roleNames") def role_names(self) -> Sequence[str]: + """ + Each string in the array represents a project role assigned to the team. Every user associated with the team inherits these roles. The [MongoDB Documentation](https://www.mongodb.com/docs/atlas/reference/user-roles/#organization-roles) describes the roles a user can have. + """ return pulumi.get(self, "role_names") @property @pulumi.getter(name="teamId") def team_id(self) -> str: + """ + The unique identifier of the team you want to associate with the project. The team and project must share the same parent organization. + """ return pulumi.get(self, "team_id") @@ -19504,8 +19690,8 @@ def __init__(__self__, *, instance_size: str, node_count: int): """ - :param str instance_size: (Required) Hardware specification for the search node instance sizes. The [MongoDB Atlas API](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Atlas-Search/operation/createAtlasSearchDeployment) describes the valid values. More details can also be found in the [Search Node Documentation](https://www.mongodb.com/docs/atlas/cluster-config/multi-cloud-distribution/#search-tier). - :param int node_count: (Required) Number of search nodes in the cluster. + :param str instance_size: Hardware specification for the search node instance sizes. The [MongoDB Atlas API](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Atlas-Search/operation/createAtlasSearchDeployment) describes the valid values. More details can also be found in the [Search Node Documentation](https://www.mongodb.com/docs/atlas/cluster-config/multi-cloud-distribution/#search-tier). + :param int node_count: Number of search nodes in the cluster. """ pulumi.set(__self__, "instance_size", instance_size) pulumi.set(__self__, "node_count", node_count) @@ -19514,7 +19700,7 @@ def __init__(__self__, *, @pulumi.getter(name="instanceSize") def instance_size(self) -> str: """ - (Required) Hardware specification for the search node instance sizes. The [MongoDB Atlas API](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Atlas-Search/operation/createAtlasSearchDeployment) describes the valid values. More details can also be found in the [Search Node Documentation](https://www.mongodb.com/docs/atlas/cluster-config/multi-cloud-distribution/#search-tier). + Hardware specification for the search node instance sizes. The [MongoDB Atlas API](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Atlas-Search/operation/createAtlasSearchDeployment) describes the valid values. More details can also be found in the [Search Node Documentation](https://www.mongodb.com/docs/atlas/cluster-config/multi-cloud-distribution/#search-tier). """ return pulumi.get(self, "instance_size") @@ -19522,7 +19708,7 @@ def instance_size(self) -> str: @pulumi.getter(name="nodeCount") def node_count(self) -> int: """ - (Required) Number of search nodes in the cluster. + Number of search nodes in the cluster. """ return pulumi.get(self, "node_count") @@ -19588,6 +19774,7 @@ def __init__(__self__, *, :param str database: (Required) Name of the database the collection is in. :param str name: Name of the index. :param str project_id: Unique identifier for the [project](https://docs.atlas.mongodb.com/organizations-projects/#std-label-projects) that contains the specified cluster. + :param str status: Current status of the index. :param str analyzer: [Analyzer](https://docs.atlas.mongodb.com/reference/atlas-search/analyzers/#std-label-analyzers-ref) to use when creating the index. :param str analyzers: [Custom analyzers](https://docs.atlas.mongodb.com/reference/atlas-search/analyzers/custom/#std-label-custom-analyzers) to use in this index (this is an array of objects). :param bool mappings_dynamic: Flag indicating whether the index uses dynamic or static mappings. @@ -19672,6 +19859,9 @@ def project_id(self) -> str: @property @pulumi.getter def status(self) -> str: + """ + Current status of the index. + """ return pulumi.get(self, "status") @property diff --git a/sdk/python/pulumi_mongodbatlas/project.py b/sdk/python/pulumi_mongodbatlas/project.py index 4951a326..a73d8b22 100644 --- a/sdk/python/pulumi_mongodbatlas/project.py +++ b/sdk/python/pulumi_mongodbatlas/project.py @@ -225,6 +225,7 @@ class _ProjectState: def __init__(__self__, *, cluster_count: Optional[pulumi.Input[int]] = None, created: Optional[pulumi.Input[str]] = None, + ip_addresses: Optional[pulumi.Input['ProjectIpAddressesArgs']] = None, is_collect_database_specifics_statistics_enabled: Optional[pulumi.Input[bool]] = None, is_data_explorer_enabled: Optional[pulumi.Input[bool]] = None, is_extended_storage_sizes_enabled: Optional[pulumi.Input[bool]] = None, @@ -240,8 +241,9 @@ def __init__(__self__, *, with_default_alerts_settings: Optional[pulumi.Input[bool]] = None): """ Input properties used for looking up and filtering Project resources. - :param pulumi.Input[int] cluster_count: The number of Atlas clusters deployed in the project.. - :param pulumi.Input[str] created: The ISO-8601-formatted timestamp of when Atlas created the project.. + :param pulumi.Input[int] cluster_count: The number of Atlas clusters deployed in the project. + :param pulumi.Input[str] created: The ISO-8601-formatted timestamp of when Atlas created the project. + :param pulumi.Input['ProjectIpAddressesArgs'] ip_addresses: IP addresses in a project categorized by services. See IP Addresses. :param pulumi.Input[bool] is_collect_database_specifics_statistics_enabled: Flag that indicates whether to enable statistics in [cluster metrics](https://www.mongodb.com/docs/atlas/monitor-cluster-metrics/) collection for the project. By default, this flag is set to true. :param pulumi.Input[bool] is_data_explorer_enabled: Flag that indicates whether to enable Data Explorer for the project. If enabled, you can query your database with an easy to use interface. When Data Explorer is disabled, you cannot terminate slow operations from the [Real-Time Performance Panel](https://www.mongodb.com/docs/atlas/real-time-performance-panel/#std-label-real-time-metrics-status-tab) or create indexes from the [Performance Advisor](https://www.mongodb.com/docs/atlas/performance-advisor/#std-label-performance-advisor). You can still view Performance Advisor recommendations, but you must create those indexes from [mongosh](https://www.mongodb.com/docs/mongodb-shell/#mongodb-binary-bin.mongosh). By default, this flag is set to true. :param pulumi.Input[bool] is_extended_storage_sizes_enabled: Flag that indicates whether to enable extended storage sizes for the specified project. Clusters with extended storage sizes must be on AWS or GCP, and cannot span multiple regions. When extending storage size, initial syncs and cross-project snapshot restores will be slow. This setting should only be used as a measure of temporary relief; consider sharding if more storage is required. @@ -258,6 +260,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cluster_count", cluster_count) if created is not None: pulumi.set(__self__, "created", created) + if ip_addresses is not None: + pulumi.set(__self__, "ip_addresses", ip_addresses) if is_collect_database_specifics_statistics_enabled is not None: pulumi.set(__self__, "is_collect_database_specifics_statistics_enabled", is_collect_database_specifics_statistics_enabled) if is_data_explorer_enabled is not None: @@ -289,7 +293,7 @@ def __init__(__self__, *, @pulumi.getter(name="clusterCount") def cluster_count(self) -> Optional[pulumi.Input[int]]: """ - The number of Atlas clusters deployed in the project.. + The number of Atlas clusters deployed in the project. """ return pulumi.get(self, "cluster_count") @@ -301,7 +305,7 @@ def cluster_count(self, value: Optional[pulumi.Input[int]]): @pulumi.getter def created(self) -> Optional[pulumi.Input[str]]: """ - The ISO-8601-formatted timestamp of when Atlas created the project.. + The ISO-8601-formatted timestamp of when Atlas created the project. """ return pulumi.get(self, "created") @@ -309,6 +313,18 @@ def created(self) -> Optional[pulumi.Input[str]]: def created(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "created", value) + @property + @pulumi.getter(name="ipAddresses") + def ip_addresses(self) -> Optional[pulumi.Input['ProjectIpAddressesArgs']]: + """ + IP addresses in a project categorized by services. See IP Addresses. + """ + return pulumi.get(self, "ip_addresses") + + @ip_addresses.setter + def ip_addresses(self, value: Optional[pulumi.Input['ProjectIpAddressesArgs']]): + pulumi.set(self, "ip_addresses", value) + @property @pulumi.getter(name="isCollectDatabaseSpecificsStatisticsEnabled") def is_collect_database_specifics_statistics_enabled(self) -> Optional[pulumi.Input[bool]]: @@ -663,6 +679,7 @@ def _internal_init(__self__, __props__.__dict__["with_default_alerts_settings"] = with_default_alerts_settings __props__.__dict__["cluster_count"] = None __props__.__dict__["created"] = None + __props__.__dict__["ip_addresses"] = None super(Project, __self__).__init__( 'mongodbatlas:index/project:Project', resource_name, @@ -675,6 +692,7 @@ def get(resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, cluster_count: Optional[pulumi.Input[int]] = None, created: Optional[pulumi.Input[str]] = None, + ip_addresses: Optional[pulumi.Input[pulumi.InputType['ProjectIpAddressesArgs']]] = None, is_collect_database_specifics_statistics_enabled: Optional[pulumi.Input[bool]] = None, is_data_explorer_enabled: Optional[pulumi.Input[bool]] = None, is_extended_storage_sizes_enabled: Optional[pulumi.Input[bool]] = None, @@ -695,8 +713,9 @@ def get(resource_name: str, :param str resource_name: The unique name of the resulting resource. :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[int] cluster_count: The number of Atlas clusters deployed in the project.. - :param pulumi.Input[str] created: The ISO-8601-formatted timestamp of when Atlas created the project.. + :param pulumi.Input[int] cluster_count: The number of Atlas clusters deployed in the project. + :param pulumi.Input[str] created: The ISO-8601-formatted timestamp of when Atlas created the project. + :param pulumi.Input[pulumi.InputType['ProjectIpAddressesArgs']] ip_addresses: IP addresses in a project categorized by services. See IP Addresses. :param pulumi.Input[bool] is_collect_database_specifics_statistics_enabled: Flag that indicates whether to enable statistics in [cluster metrics](https://www.mongodb.com/docs/atlas/monitor-cluster-metrics/) collection for the project. By default, this flag is set to true. :param pulumi.Input[bool] is_data_explorer_enabled: Flag that indicates whether to enable Data Explorer for the project. If enabled, you can query your database with an easy to use interface. When Data Explorer is disabled, you cannot terminate slow operations from the [Real-Time Performance Panel](https://www.mongodb.com/docs/atlas/real-time-performance-panel/#std-label-real-time-metrics-status-tab) or create indexes from the [Performance Advisor](https://www.mongodb.com/docs/atlas/performance-advisor/#std-label-performance-advisor). You can still view Performance Advisor recommendations, but you must create those indexes from [mongosh](https://www.mongodb.com/docs/mongodb-shell/#mongodb-binary-bin.mongosh). By default, this flag is set to true. :param pulumi.Input[bool] is_extended_storage_sizes_enabled: Flag that indicates whether to enable extended storage sizes for the specified project. Clusters with extended storage sizes must be on AWS or GCP, and cannot span multiple regions. When extending storage size, initial syncs and cross-project snapshot restores will be slow. This setting should only be used as a measure of temporary relief; consider sharding if more storage is required. @@ -715,6 +734,7 @@ def get(resource_name: str, __props__.__dict__["cluster_count"] = cluster_count __props__.__dict__["created"] = created + __props__.__dict__["ip_addresses"] = ip_addresses __props__.__dict__["is_collect_database_specifics_statistics_enabled"] = is_collect_database_specifics_statistics_enabled __props__.__dict__["is_data_explorer_enabled"] = is_data_explorer_enabled __props__.__dict__["is_extended_storage_sizes_enabled"] = is_extended_storage_sizes_enabled @@ -734,7 +754,7 @@ def get(resource_name: str, @pulumi.getter(name="clusterCount") def cluster_count(self) -> pulumi.Output[int]: """ - The number of Atlas clusters deployed in the project.. + The number of Atlas clusters deployed in the project. """ return pulumi.get(self, "cluster_count") @@ -742,10 +762,18 @@ def cluster_count(self) -> pulumi.Output[int]: @pulumi.getter def created(self) -> pulumi.Output[str]: """ - The ISO-8601-formatted timestamp of when Atlas created the project.. + The ISO-8601-formatted timestamp of when Atlas created the project. """ return pulumi.get(self, "created") + @property + @pulumi.getter(name="ipAddresses") + def ip_addresses(self) -> pulumi.Output['outputs.ProjectIpAddresses']: + """ + IP addresses in a project categorized by services. See IP Addresses. + """ + return pulumi.get(self, "ip_addresses") + @property @pulumi.getter(name="isCollectDatabaseSpecificsStatisticsEnabled") def is_collect_database_specifics_statistics_enabled(self) -> pulumi.Output[bool]: diff --git a/sdk/python/pulumi_mongodbatlas/search_deployment.py b/sdk/python/pulumi_mongodbatlas/search_deployment.py index 79d43614..0cb98402 100644 --- a/sdk/python/pulumi_mongodbatlas/search_deployment.py +++ b/sdk/python/pulumi_mongodbatlas/search_deployment.py @@ -22,10 +22,9 @@ def __init__(__self__, *, timeouts: Optional[pulumi.Input['SearchDeploymentTimeoutsArgs']] = None): """ The set of arguments for constructing a SearchDeployment resource. - :param pulumi.Input[str] cluster_name: Label that identifies the cluster to create search nodes for. - :param pulumi.Input[str] project_id: Unique 24-hexadecimal digit string that identifies your project. - :param pulumi.Input[Sequence[pulumi.Input['SearchDeploymentSpecArgs']]] specs: List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. See specs. - :param pulumi.Input['SearchDeploymentTimeoutsArgs'] timeouts: The time to wait for search nodes to be created, updated, or deleted. The timeout value is defined by a signed sequence of decimal numbers with a time unit suffix such as: `1h45m`, `300s`, `10m`, .... The valid time units are: `ns`, `us` (or `µs`), `ms`, `s`, `m`, `h`. The attribute must be defined with nested attributes. + :param pulumi.Input[str] cluster_name: Label that identifies the cluster to return the search nodes for. + :param pulumi.Input[str] project_id: Unique 24-hexadecimal character string that identifies the project. + :param pulumi.Input[Sequence[pulumi.Input['SearchDeploymentSpecArgs']]] specs: List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. """ pulumi.set(__self__, "cluster_name", cluster_name) pulumi.set(__self__, "project_id", project_id) @@ -37,7 +36,7 @@ def __init__(__self__, *, @pulumi.getter(name="clusterName") def cluster_name(self) -> pulumi.Input[str]: """ - Label that identifies the cluster to create search nodes for. + Label that identifies the cluster to return the search nodes for. """ return pulumi.get(self, "cluster_name") @@ -49,7 +48,7 @@ def cluster_name(self, value: pulumi.Input[str]): @pulumi.getter(name="projectId") def project_id(self) -> pulumi.Input[str]: """ - Unique 24-hexadecimal digit string that identifies your project. + Unique 24-hexadecimal character string that identifies the project. """ return pulumi.get(self, "project_id") @@ -61,7 +60,7 @@ def project_id(self, value: pulumi.Input[str]): @pulumi.getter def specs(self) -> pulumi.Input[Sequence[pulumi.Input['SearchDeploymentSpecArgs']]]: """ - List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. See specs. + List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. """ return pulumi.get(self, "specs") @@ -72,9 +71,6 @@ def specs(self, value: pulumi.Input[Sequence[pulumi.Input['SearchDeploymentSpecA @property @pulumi.getter def timeouts(self) -> Optional[pulumi.Input['SearchDeploymentTimeoutsArgs']]: - """ - The time to wait for search nodes to be created, updated, or deleted. The timeout value is defined by a signed sequence of decimal numbers with a time unit suffix such as: `1h45m`, `300s`, `10m`, .... The valid time units are: `ns`, `us` (or `µs`), `ms`, `s`, `m`, `h`. The attribute must be defined with nested attributes. - """ return pulumi.get(self, "timeouts") @timeouts.setter @@ -92,11 +88,10 @@ def __init__(__self__, *, timeouts: Optional[pulumi.Input['SearchDeploymentTimeoutsArgs']] = None): """ Input properties used for looking up and filtering SearchDeployment resources. - :param pulumi.Input[str] cluster_name: Label that identifies the cluster to create search nodes for. - :param pulumi.Input[str] project_id: Unique 24-hexadecimal digit string that identifies your project. - :param pulumi.Input[Sequence[pulumi.Input['SearchDeploymentSpecArgs']]] specs: List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. See specs. - :param pulumi.Input[str] state_name: Human-readable label that indicates the current operating condition of this search node deployment. - :param pulumi.Input['SearchDeploymentTimeoutsArgs'] timeouts: The time to wait for search nodes to be created, updated, or deleted. The timeout value is defined by a signed sequence of decimal numbers with a time unit suffix such as: `1h45m`, `300s`, `10m`, .... The valid time units are: `ns`, `us` (or `µs`), `ms`, `s`, `m`, `h`. The attribute must be defined with nested attributes. + :param pulumi.Input[str] cluster_name: Label that identifies the cluster to return the search nodes for. + :param pulumi.Input[str] project_id: Unique 24-hexadecimal character string that identifies the project. + :param pulumi.Input[Sequence[pulumi.Input['SearchDeploymentSpecArgs']]] specs: List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. + :param pulumi.Input[str] state_name: Human-readable label that indicates the current operating condition of this search deployment. """ if cluster_name is not None: pulumi.set(__self__, "cluster_name", cluster_name) @@ -113,7 +108,7 @@ def __init__(__self__, *, @pulumi.getter(name="clusterName") def cluster_name(self) -> Optional[pulumi.Input[str]]: """ - Label that identifies the cluster to create search nodes for. + Label that identifies the cluster to return the search nodes for. """ return pulumi.get(self, "cluster_name") @@ -125,7 +120,7 @@ def cluster_name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="projectId") def project_id(self) -> Optional[pulumi.Input[str]]: """ - Unique 24-hexadecimal digit string that identifies your project. + Unique 24-hexadecimal character string that identifies the project. """ return pulumi.get(self, "project_id") @@ -137,7 +132,7 @@ def project_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def specs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SearchDeploymentSpecArgs']]]]: """ - List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. See specs. + List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. """ return pulumi.get(self, "specs") @@ -149,7 +144,7 @@ def specs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SearchDeploy @pulumi.getter(name="stateName") def state_name(self) -> Optional[pulumi.Input[str]]: """ - Human-readable label that indicates the current operating condition of this search node deployment. + Human-readable label that indicates the current operating condition of this search deployment. """ return pulumi.get(self, "state_name") @@ -160,9 +155,6 @@ def state_name(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter def timeouts(self) -> Optional[pulumi.Input['SearchDeploymentTimeoutsArgs']]: - """ - The time to wait for search nodes to be created, updated, or deleted. The timeout value is defined by a signed sequence of decimal numbers with a time unit suffix such as: `1h45m`, `300s`, `10m`, .... The valid time units are: `ns`, `us` (or `µs`), `ms`, `s`, `m`, `h`. The attribute must be defined with nested attributes. - """ return pulumi.get(self, "timeouts") @timeouts.setter @@ -187,21 +179,13 @@ def __init__(__self__, > **NOTE:** Only a single search deployment resource can be defined for each cluster. - ## Import - - Search node resource can be imported using the project ID and cluster name, in the format `PROJECT_ID-CLUSTER_NAME`, e.g. - - ```sh - $ pulumi import mongodbatlas:index/searchDeployment:SearchDeployment test 650972848269185c55f40ca1-Cluster0 - ``` - For more information see[MongoDB Atlas API - Search Node](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Atlas-Search/operation/createAtlasSearchDeployment) Documentation. + ## Example Usage :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] cluster_name: Label that identifies the cluster to create search nodes for. - :param pulumi.Input[str] project_id: Unique 24-hexadecimal digit string that identifies your project. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SearchDeploymentSpecArgs']]]] specs: List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. See specs. - :param pulumi.Input[pulumi.InputType['SearchDeploymentTimeoutsArgs']] timeouts: The time to wait for search nodes to be created, updated, or deleted. The timeout value is defined by a signed sequence of decimal numbers with a time unit suffix such as: `1h45m`, `300s`, `10m`, .... The valid time units are: `ns`, `us` (or `µs`), `ms`, `s`, `m`, `h`. The attribute must be defined with nested attributes. + :param pulumi.Input[str] cluster_name: Label that identifies the cluster to return the search nodes for. + :param pulumi.Input[str] project_id: Unique 24-hexadecimal character string that identifies the project. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SearchDeploymentSpecArgs']]]] specs: List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. """ ... @overload @@ -216,14 +200,7 @@ def __init__(__self__, > **NOTE:** Only a single search deployment resource can be defined for each cluster. - ## Import - - Search node resource can be imported using the project ID and cluster name, in the format `PROJECT_ID-CLUSTER_NAME`, e.g. - - ```sh - $ pulumi import mongodbatlas:index/searchDeployment:SearchDeployment test 650972848269185c55f40ca1-Cluster0 - ``` - For more information see[MongoDB Atlas API - Search Node](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/#tag/Atlas-Search/operation/createAtlasSearchDeployment) Documentation. + ## Example Usage :param str resource_name: The name of the resource. :param SearchDeploymentArgs args: The arguments to use to populate this resource's properties. @@ -286,11 +263,10 @@ def get(resource_name: str, :param str resource_name: The unique name of the resulting resource. :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] cluster_name: Label that identifies the cluster to create search nodes for. - :param pulumi.Input[str] project_id: Unique 24-hexadecimal digit string that identifies your project. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SearchDeploymentSpecArgs']]]] specs: List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. See specs. - :param pulumi.Input[str] state_name: Human-readable label that indicates the current operating condition of this search node deployment. - :param pulumi.Input[pulumi.InputType['SearchDeploymentTimeoutsArgs']] timeouts: The time to wait for search nodes to be created, updated, or deleted. The timeout value is defined by a signed sequence of decimal numbers with a time unit suffix such as: `1h45m`, `300s`, `10m`, .... The valid time units are: `ns`, `us` (or `µs`), `ms`, `s`, `m`, `h`. The attribute must be defined with nested attributes. + :param pulumi.Input[str] cluster_name: Label that identifies the cluster to return the search nodes for. + :param pulumi.Input[str] project_id: Unique 24-hexadecimal character string that identifies the project. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SearchDeploymentSpecArgs']]]] specs: List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. + :param pulumi.Input[str] state_name: Human-readable label that indicates the current operating condition of this search deployment. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -307,7 +283,7 @@ def get(resource_name: str, @pulumi.getter(name="clusterName") def cluster_name(self) -> pulumi.Output[str]: """ - Label that identifies the cluster to create search nodes for. + Label that identifies the cluster to return the search nodes for. """ return pulumi.get(self, "cluster_name") @@ -315,7 +291,7 @@ def cluster_name(self) -> pulumi.Output[str]: @pulumi.getter(name="projectId") def project_id(self) -> pulumi.Output[str]: """ - Unique 24-hexadecimal digit string that identifies your project. + Unique 24-hexadecimal character string that identifies the project. """ return pulumi.get(self, "project_id") @@ -323,7 +299,7 @@ def project_id(self) -> pulumi.Output[str]: @pulumi.getter def specs(self) -> pulumi.Output[Sequence['outputs.SearchDeploymentSpec']]: """ - List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. See specs. + List of settings that configure the search nodes for your cluster. This list is currently limited to defining a single element. """ return pulumi.get(self, "specs") @@ -331,15 +307,12 @@ def specs(self) -> pulumi.Output[Sequence['outputs.SearchDeploymentSpec']]: @pulumi.getter(name="stateName") def state_name(self) -> pulumi.Output[str]: """ - Human-readable label that indicates the current operating condition of this search node deployment. + Human-readable label that indicates the current operating condition of this search deployment. """ return pulumi.get(self, "state_name") @property @pulumi.getter def timeouts(self) -> pulumi.Output[Optional['outputs.SearchDeploymentTimeouts']]: - """ - The time to wait for search nodes to be created, updated, or deleted. The timeout value is defined by a signed sequence of decimal numbers with a time unit suffix such as: `1h45m`, `300s`, `10m`, .... The valid time units are: `ns`, `us` (or `µs`), `ms`, `s`, `m`, `h`. The attribute must be defined with nested attributes. - """ return pulumi.get(self, "timeouts") diff --git a/sdk/python/pulumi_mongodbatlas/search_index.py b/sdk/python/pulumi_mongodbatlas/search_index.py index effebfec..ab5bcd0c 100644 --- a/sdk/python/pulumi_mongodbatlas/search_index.py +++ b/sdk/python/pulumi_mongodbatlas/search_index.py @@ -27,7 +27,6 @@ def __init__(__self__, *, mappings_fields: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, search_analyzer: Optional[pulumi.Input[str]] = None, - status: Optional[pulumi.Input[str]] = None, synonyms: Optional[pulumi.Input[Sequence[pulumi.Input['SearchIndexSynonymArgs']]]] = None, type: Optional[pulumi.Input[str]] = None, wait_for_index_build_completion: Optional[pulumi.Input[bool]] = None): @@ -65,8 +64,6 @@ def __init__(__self__, *, pulumi.set(__self__, "name", name) if search_analyzer is not None: pulumi.set(__self__, "search_analyzer", search_analyzer) - if status is not None: - pulumi.set(__self__, "status", status) if synonyms is not None: pulumi.set(__self__, "synonyms", synonyms) if type is not None: @@ -206,15 +203,6 @@ def search_analyzer(self) -> Optional[pulumi.Input[str]]: def search_analyzer(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "search_analyzer", value) - @property - @pulumi.getter - def status(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "status") - - @status.setter - def status(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "status", value) - @property @pulumi.getter def synonyms(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SearchIndexSynonymArgs']]]]: @@ -281,6 +269,7 @@ def __init__(__self__, *, :param pulumi.Input[str] name: The name of the search index you want to create. :param pulumi.Input[str] project_id: The ID of the organization or project you want to create the search index within. :param pulumi.Input[str] search_analyzer: [Analyzer](https://docs.atlas.mongodb.com/reference/atlas-search/analyzers/#std-label-analyzers-ref) to use when searching the index. Defaults to [lucene.standard](https://docs.atlas.mongodb.com/reference/atlas-search/analyzers/standard/#std-label-ref-standard-analyzer) + :param pulumi.Input[str] status: Current status of the index. :param pulumi.Input[Sequence[pulumi.Input['SearchIndexSynonymArgs']]] synonyms: Synonyms mapping definition to use in this index. :param pulumi.Input[str] type: Type of index: `search` or `vectorSearch`. Default type is `search`. """ @@ -461,6 +450,9 @@ def search_analyzer(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter def status(self) -> Optional[pulumi.Input[str]]: + """ + Current status of the index. + """ return pulumi.get(self, "status") @status.setter @@ -517,7 +509,6 @@ def __init__(__self__, name: Optional[pulumi.Input[str]] = None, project_id: Optional[pulumi.Input[str]] = None, search_analyzer: Optional[pulumi.Input[str]] = None, - status: Optional[pulumi.Input[str]] = None, synonyms: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SearchIndexSynonymArgs']]]]] = None, type: Optional[pulumi.Input[str]] = None, wait_for_index_build_completion: Optional[pulumi.Input[bool]] = None, @@ -782,7 +773,6 @@ def _internal_init(__self__, name: Optional[pulumi.Input[str]] = None, project_id: Optional[pulumi.Input[str]] = None, search_analyzer: Optional[pulumi.Input[str]] = None, - status: Optional[pulumi.Input[str]] = None, synonyms: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SearchIndexSynonymArgs']]]]] = None, type: Optional[pulumi.Input[str]] = None, wait_for_index_build_completion: Optional[pulumi.Input[bool]] = None, @@ -814,11 +804,11 @@ def _internal_init(__self__, raise TypeError("Missing required property 'project_id'") __props__.__dict__["project_id"] = project_id __props__.__dict__["search_analyzer"] = search_analyzer - __props__.__dict__["status"] = status __props__.__dict__["synonyms"] = synonyms __props__.__dict__["type"] = type __props__.__dict__["wait_for_index_build_completion"] = wait_for_index_build_completion __props__.__dict__["index_id"] = None + __props__.__dict__["status"] = None super(SearchIndex, __self__).__init__( 'mongodbatlas:index/searchIndex:SearchIndex', resource_name, @@ -863,6 +853,7 @@ def get(resource_name: str, :param pulumi.Input[str] name: The name of the search index you want to create. :param pulumi.Input[str] project_id: The ID of the organization or project you want to create the search index within. :param pulumi.Input[str] search_analyzer: [Analyzer](https://docs.atlas.mongodb.com/reference/atlas-search/analyzers/#std-label-analyzers-ref) to use when searching the index. Defaults to [lucene.standard](https://docs.atlas.mongodb.com/reference/atlas-search/analyzers/standard/#std-label-ref-standard-analyzer) + :param pulumi.Input[str] status: Current status of the index. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SearchIndexSynonymArgs']]]] synonyms: Synonyms mapping definition to use in this index. :param pulumi.Input[str] type: Type of index: `search` or `vectorSearch`. Default type is `search`. """ @@ -984,6 +975,9 @@ def search_analyzer(self) -> pulumi.Output[Optional[str]]: @property @pulumi.getter def status(self) -> pulumi.Output[str]: + """ + Current status of the index. + """ return pulumi.get(self, "status") @property