atlasapi package

atlasapi.atlas module

Atlas module

Core module which provides access to MongoDB Atlas Cloud Provider APIs

class atlasapi.atlas.AlertsGetAll(atlas, status, pageNum, itemsPerPage)

Bases: atlasapi.atlas.AtlasPagination

Pagination for Alerts : Get All

fetch(pageNum, itemsPerPage)

Intermediate fetching

Parameters:
  • pageNum (int) – Page number
  • itemsPerPage (int) – Number of Users per Page
Returns:

Response payload

Return type:

dict

class atlasapi.atlas.Atlas(user, password, group)

Bases: object

Atlas constructor

Parameters:
  • user (str) – Atlas user
  • password (str) – Atlas password
  • group (str) – Atlas group
class atlasapi.atlas.AtlasPagination(atlas, fetch, pageNum: int, itemsPerPage: int)

Bases: object

Atlas Pagination Generic Implementation

Constructor

Parameters:
  • atlas (Atlas) – Atlas instance
  • fetch (function) – The function “get_all” to call
  • pageNum (int) – Page number
  • itemsPerPage (int) – Number of Users per Page
class atlasapi.atlas.ClustersGetAll(atlas, pageNum, itemsPerPage)

Bases: atlasapi.atlas.AtlasPagination

Pagination for Clusters : Get All

class atlasapi.atlas.DatabaseUsersGetAll(atlas, pageNum, itemsPerPage)

Bases: atlasapi.atlas.AtlasPagination

Pagination for Database User : Get All

class atlasapi.atlas.EventsGetForProject(atlas: atlasapi.atlas.Atlas, pageNum: int, itemsPerPage: int)

Bases: atlasapi.atlas.AtlasPagination

class atlasapi.atlas.HostsGetAll(atlas: atlasapi.atlas.Atlas, pageNum: int, itemsPerPage: int)

Bases: atlasapi.atlas.AtlasPagination

Pagination for Processes : Get All

class atlasapi.atlas.WhitelistGetAll(atlas, pageNum, itemsPerPage)

Bases: atlasapi.atlas.AtlasPagination

Pagination for Database User : Get All

atlasapi.atlas_types module

atlasapi.alerts module

class atlasapi.alerts.Alert(data_dict: dict)

Bases: object

atlasapi.clusters module

Classes related to Atlas clusters.

Supports the creation and configuration of Atlas clusters of various types.

Enums are used in order to minimize invalid configuration values.

class atlasapi.clusters.AdvancedOptions(failIndexKeyTooLong: Optional[bool] = None, javascriptEnabled: Optional[bool] = None, minimumEnabledTlsProtocol: Optional[atlasapi.clusters.TLSProtocols] = None, noTableScan: Optional[bool] = None, oplogSizeMB: Optional[int] = None, sampleSizeBIConnector: Optional[int] = None, sampleRefreshIntervalBIConnector: Optional[int] = None)

Bases: object

Container for Atlas Cluster Advanced options

Parameters:
  • failIndexKeyTooLong – When true, documents can only be updated or inserted if, for all indexed fields on the target collection, the corresponding index entries do not exceed 1024 bytes.When false, mongod writes documents that breach the limit but does not index them.
  • javascriptEnabled – When true, the cluster allows execution of operations that perform server-side executions of JavaScript. When false, the cluster disables execution of those operations.
  • minimumEnabledTlsProtocol – The minimum Transport Layer Security (TLS) version the cluster accepts for incoming connections.
  • noTableScan – When true, the cluster disables the execution of any query that requires a collection scan to return results. When false, the cluster allows the execution of those operations.
  • oplogSizeMB – The custom oplog size of the cluster. A value of null indicates that the cluster uses the default oplog size calculated by Atlas.
  • sampleSizeBIConnector – Number of documents per database to sample when gathering schema information.
  • sampleRefreshIntervalBIConnector – Interval in seconds at which the mongosqld process re-samples data to create its relational schema.
as_dict

Returns a json-able dict of only non-null properties.

Returns:
classmethod fill_from_dict(data_dict: dict)

Fills the advanced options object from an Atlas Dict

Parameters:data_dict (dict) – A dict as returned from Atlas
Returns:
class atlasapi.clusters.AtlasBasicReplicaSet(name: str, size: atlasapi.clusters.InstanceSizeName = <InstanceSizeName.M10: 'M10'>, disk_size: int = 10, provider: atlasapi.clusters.ProviderName = <ProviderName.AWS: 'Amazon Web Services'>, region: str = 'US_WEST_2', version: atlasapi.clusters.MongoDBMajorVersion = <MongoDBMajorVersion.v4_0: '4.0'>)

Bases: object

Helper object for the creation of a basic replica set with default options.

Only the cluster name is required.

Other parameters will default to An M10 cluster on AWS US_WEST_2 running 4.0 with a 10 GB disk.

Args:
name: The name given to the cluster/replica set. size: The InstanceSizeName of the cluster/replica set disk_size: Size of disks on all members provider: The Cloud provider region: The region in the cloud provider version: The MongoDB major version
class atlasapi.clusters.ClusterConfig(backup_enabled: bool = False, cluster_type: atlasapi.clusters.ClusterType = <ClusterType.REPLICASET: 'Replica Set'>, disk_size_gb: int = 32, name: str = None, mongodb_major_version: atlasapi.clusters.MongoDBMajorVersion = <MongoDBMajorVersion.v4_0: '4.0'>, mongodb_version: Optional[str] = None, num_shards: int = 1, mongo_uri: Optional[str] = None, mongo_uri_updated: Optional[str] = None, mongo_uri_with_options: Optional[str] = None, paused: bool = False, pit_enabled: bool = False, replication_factor: Optional[int] = None, state_name: Optional[atlasapi.clusters.ClusterStates] = None, autoscaling: dict = None, replication_specs: atlasapi.clusters.ReplicationSpecs = None, srv_address: Optional[str] = None, providerSettings: Optional[atlasapi.clusters.ProviderSettings] = None, links: list = None, id: Optional[str] = None)

Bases: object

Stores the Atlas Cluster Config, is sent back to the API for any reconfiguations.

https://docs.atlas.mongodb.com/reference/api/clusters-get-one/#http-response-elements

Args:
backup_enabled: cluster_type: disk_size_gb: name: mongodb_major_version: mongodb_version: num_shards: mongo_uri: mongo_uri_updated: mongo_uri_with_options: paused: pit_enabled: replication_factor: state_name: autoscaling: replication_specs: srv_address: providerSettings: links:
as_create_dict() → dict

Returns the config object in a format acceptable for the POST (create) endpoint.

Removes properties which are read-only.

TODO: Refactor to identify which properties are RO in the spec, and automatically loop through and remove.

Returns:dict: A dict containing a valid create object for the POST endpoint.
as_dict() → dict
as_modify_dict() → dict

Returns the config object in a format acceptable for the PATCH (modify) endpoint.

Removes properties which are read-only.

TODO: Refactor to identify which properties are RO in the spec, and automatically loop through and remove.

Returns:dict: A dict containing a valid create object for the POST endpoint.
classmethod fill_from_dict(data_dict: dict)
class atlasapi.clusters.ClusterStates

Bases: enum.Enum

The states of Atlas clusters. RO attribute.

CREATING = 'Creating'
DELETED = 'Deleted'
DELETING = 'Deleting'
IDLE = 'Idle'
REPAIRING = 'Repairing'
UNKNOWN = 'Unknown'
UPDATING = 'Updating'
class atlasapi.clusters.ClusterType

Bases: enum.Enum

The types of clusteres available in Atlas.

GEOSHARDED is a Global write cluster sharded by geo information.

GEOSHARDED = 'Global Cluster'
REPLICASET = 'Replica Set'
SHARDED = 'Sharded Cluster'
class atlasapi.clusters.InstanceSizeName

Bases: enum.Enum

The Atlas instance sizes, which are equivalent across all providers.

NVME suggixed types provide loval NVME disk.

M0 = 'M0'
M10 = 'M10'
M140 = 'M140'
M2 = 'M2'
M20 = 'M20'
M200 = 'M200'
M200_NVME = 'M200_NVME'
M30 = 'M30'
M300 = 'M300'
M40 = 'M40'
M400 = 'M400'
M400_NVME = 'M400_NVME'
M40_NVME = 'M40 NVME'
M5 = 'M5'
M50 = 'M50'
M50_NVME = 'M50 NVME'
M60 = 'M60'
M60_NVME = 'M60 NVME'
M80_NVME = 'M80 NVME'
R40 = 'R40'
R400 = 'R400'
R50 = 'R50'
R60 = 'R60'
R80 = 'R80'
class atlasapi.clusters.MongoDBMajorVersion

Bases: enum.Enum

An enumeration.

v3_4 = '3.4'
v3_6 = '3.6'
v4_0 = '4.0'
v4_2 = '4.2'
vX_x = 'Unknown'
class atlasapi.clusters.ProviderName

Bases: enum.Enum

An enumeration.

AWS = 'Amazon Web Services'
AZURE = 'Microsoft Azure'
GCP = 'Google Cloud Platform'
TENANT = 'Shared Tier'
class atlasapi.clusters.ProviderSettings(size: atlasapi.clusters.InstanceSizeName = <InstanceSizeName.M10: 'M10'>, provider: atlasapi.clusters.ProviderName = <ProviderName.AWS: 'Amazon Web Services'>, region: str = 'US_WEST_1', autoScaling: Optional[dict] = None, diskIOPS: int = None, encryptEBSVolume: bool = True, volumeType: atlasapi.clusters.VolumeTypes = <VolumeTypes.STANDARD: 'Standard'>)

Bases: object

as_dict() → dict
classmethod from_dict(data_dict: dict)
class atlasapi.clusters.RegionConfig(electable_node_count: int = 3, priority: int = 7, read_only_node_count: int = 0, analytics_node_count: int = 0)

Bases: object

Configuration object for each region.

Allows for the configuration of each region independently. Includes sane defaults.

Parameters:
  • electable_node_count (int) – Number of electable nodes.
  • priority – Priority of the region in the replica set.
  • read_only_node_count – Count of read_only nodes.
  • analytics_node_count – Count of analytics nodes.
class atlasapi.clusters.ReplicationSpecs(id: Optional[str] = '6e94216e-4c98-4851-b93a-3ee642162cf4', num_shards: Optional[int] = 1, zone_name: Optional[str] = None, regions_config: Optional[dict] = None)

Bases: object

as_create_dict()
as_dict()
classmethod from_dict(data_dict: dict)
class atlasapi.clusters.ShardedClusterConfig(backup_enabled: bool = False, cluster_type: atlasapi.clusters.ClusterType = <ClusterType.REPLICASET: 'Replica Set'>, disk_size_gb: int = 32, name: str = None, mongodb_major_version: atlasapi.clusters.MongoDBMajorVersion = <MongoDBMajorVersion.v4_0: '4.0'>, mongodb_version: Optional[str] = None, num_shards: int = 1, mongo_uri: Optional[str] = None, mongo_uri_updated: Optional[str] = None, mongo_uri_with_options: Optional[str] = None, paused: bool = False, pit_enabled: bool = False, replication_factor: Optional[int] = None, state_name: Optional[atlasapi.clusters.ClusterStates] = None, autoscaling: dict = {}, replication_specs: list = [], srv_address: Optional[str] = None, providerSettings: Optional[atlasapi.clusters.ProviderSettings] = None, id: Optional[str] = None)

Bases: atlasapi.clusters.ClusterConfig

as_dict() → dict
class atlasapi.clusters.TLSProtocols

Bases: enum.Enum

An enumeration.

TLS1_0 = 'TLS1_0'
TLS1_1 = 'TLS1_1'
TLS1_2 = 'TLS1_2'
TLS1_3 = 'TLS1_3'
class atlasapi.clusters.VolumeTypes

Bases: enum.Enum

The volume types available on atlas

PROVISIONED = 'Provisioned'
STANDARD = 'Standard'

atlasapi.events module

class atlasapi.events.AtlasClusterEvent(value_dict: dict)

Bases: atlasapi.events._AtlasBaseEvent

class atlasapi.events.AtlasDataExplorerEvent(value_dict: dict)

Bases: atlasapi.events._AtlasUserBaseEvent

class atlasapi.events.AtlasEvent(value_dict: dict)

Bases: atlasapi.events._AtlasBaseEvent

class atlasapi.events.AtlasEventTypes

Bases: enum.Enum

An Enum of the possible event types seen in the Atlas Events API Endpoint.

UNKNOWN = “Unknown or None” is there as a catch all to avoid breaking when there is a missing event type.

ACCOUNT_CLOSED = 'Account Closed'
ACCOUNT_DOWNGRADED = 'Account Downgraded'
ACCOUNT_LOCKED_AUDIT = 'Account Locked Audit'
ACCOUNT_MODIFIED = 'Account Modified'
ACCOUNT_UNLOCKED_AUDIT = 'Account Unlocked Audit'
ACCOUNT_UPGRADED = 'Account Upgraded'
ACTIVATED = 'Activated'
ADD_HOST_AUDIT = 'Add Host Audit'
ADD_HOST_TO_REPLICA_SET_AUDIT = 'Add Host To Replica Set Audit'
AGENT_API_KEY_CREATED = 'Agent API Key Created'
AGENT_API_KEY_DELETED = 'Agent API Key Deleted'
AGENT_VERSION_FIXED = 'Agent Version Fixed'
AGENT_VERSION_UNFIXED = 'Agent Version Unfixed'
ALERT_ACKNOWLEDGED_AUDIT = 'Alert Acknowledged Audit'
ALERT_CONFIG_ADDED_AUDIT = 'Alert Config Added Audit'
ALERT_CONFIG_CHANGED_AUDIT = 'Alert Config Changed Audit'
ALERT_CONFIG_DELETED_AUDIT = 'Alert Config Deleted Audit'
ALERT_CONFIG_DISABLED_AUDIT = 'Alert Config Disabled Audit'
ALERT_CONFIG_ENABLED_AUDIT = 'Alert Config Enabled Audit'
ALERT_UNACKNOWLEDGED_AUDIT = 'Alert Unacknowledged Audit'
ALL_ORG_USERS_HAVE_MFA = 'All Org Users Have MFA'
ALL_USERS_HAVE_MULTI_FACTOR_AUTH = 'All Users Have Multi Factor Auth'
ANOMALOUS_VALUE_DETECTED = 'Anomalous Value Detected'
API_KEY_CREATED = 'API Key Created'
API_KEY_WHITELIST_ENTRY_ADDED = 'API Key Whitelist Entry Added'
ATLAS_MAINTENANCE_DEFERRED = 'Atlas Maintenance Deferred'
ATLAS_MAINTENANCE_START_ASAP = 'Atlas Maintenance Start Asap'
ATLAS_MAINTENANCE_WINDOW_ADDED = 'Atlas Maintenance Window Added'
ATLAS_MAINTENANCE_WINDOW_MODIFIED = 'Atlas Maintenance Window Modified'
ATLAS_MAINTENANCE_WINDOW_REMOVED = 'Atlas Maintenance Window Removed'
ATLAS_MLAB_SHARED_MIGRATION_LOGS = 'Atlas Mlab Shared Migration Logs'
ATLAS_MONGODUMP_LOGS = 'Atlas Mongodump Logs'
ATLAS_MONGOD_LOGS = 'Atlas Mongod Logs'
ATLAS_MONGOMIRROR_LOGS = 'Atlas Mongomirror Logs'
ATLAS_MONGORESTORE_LOGS = 'Atlas Mongorestore Logs'
ATLAS_MONGOSQLD_LOGS = 'Atlas Mongosqld Logs'
ATLAS_MONGOS_LOGS = 'Atlas Mongos Logs'
ATLAS_MONGOT_LOGS = 'Atlas Mongot Logs'
ATLAS_PROXY_LOGS = 'Atlas Proxy Logs'
ATTEMPT_KILLOP_AUDIT = 'Attempt Killop Audit'
ATTEMPT_KILLSESSION_AUDIT = 'Attempt Killsession Audit'
AUDIT_LOG_CONFIGURATION_UPDATED = 'Audit Log Configuration Updated'
AUTOMATION_AGENT_DOWN = 'Automation Agent Down'
AUTOMATION_AGENT_LOGS = 'Automation Agent Logs'
AUTOMATION_AGENT_LOGS_CSV_DOWNLOAD = 'Automation Agent Logs CSV Download'
AUTOMATION_AGENT_UP = 'Automation Agent Up'
AUTOMATION_CONFIG_PUBLISHED_AUDIT = 'Automation Config Published Audit'
AUTO_CREATED_INDEX_AUDIT = 'Auto Created Index Audit'
AWS_AVAILABILITY_ZONE_DOWN = 'AWS Availability Zone Down'
AWS_AVAILABILITY_ZONE_OK = 'AWS Availability Zone Ok'
AWS_ENCRYPTION_KEY_NEEDS_ROTATION = 'AWS Encryption Key Needs Rotation'
AWS_ENCRYPTION_KEY_ROTATED = 'AWS Encryption Key Rotated'
AZURE_ENCRYPTION_KEY_NEEDS_ROTATION = 'Azure Encryption Key Needs Rotation'
AZURE_ENCRYPTION_KEY_ROTATED = 'Azure Encryption Key Rotated'
AZURE_PEER_ACTIVE = 'Azure Peer Active'
AZURE_PEER_CREATED = 'Azure Peer Created'
AZURE_PEER_DELETED = 'Azure Peer Deleted'
AZURE_PEER_UPDATED = 'Azure Peer Updated'
AZURE_REGION_DOWN = 'Azure Region Down'
AZURE_REGION_OK = 'Azure Region Ok'
BACKING_DATABASE_PROCESS_DOWN = 'Backing Database Process Down'
BACKING_DATABASE_PROCESS_NO_STARTUP_WARNINGS = 'Backing Database Process No Startup Warnings'
BACKING_DATABASE_PROCESS_STARTUP_WARNINGS = 'Backing Database Process Startup Warnings'
BACKING_DATABASE_PROCESS_UP = 'Backing Database Process Up'
BACKUP_AGENT_CONF_CALL_FAILURE = 'Backup Agent Conf Call Failure'
BACKUP_AGENT_CONF_CALL_OK = 'Backup Agent Conf Call Ok'
BACKUP_AGENT_DOWN = 'Backup Agent Down'
BACKUP_AGENT_LOGS = 'Backup Agent Logs'
BACKUP_AGENT_LOGS_CSV_DOWNLOAD = 'Backup Agent Logs CSV Download'
BACKUP_AGENT_UP = 'Backup Agent Up'
BACKUP_AGENT_VERSION_BEHIND = 'Backup Agent Version Behind'
BACKUP_AGENT_VERSION_CURRENT = 'Backup Agent Version Current'
BACKUP_IN_UNEXPECTED_STATE = 'Backup In Unexpected State'
BACKUP_JOB_NOT_BUSY = 'Backup Job Not Busy'
BACKUP_JOB_TOO_BUSY = 'Backup Job Too Busy'
BACKUP_MONGOD_LOGS = 'Backup Mongod Logs'
BACKUP_RECOVERED = 'Backup Recovered'
BACKUP_TOO_MANY_RETRIES = 'Backup Too Many Retries'
BAD_CLUSTERSHOTS = 'Bad Clustershots'
BALANCER_OFF = 'Balancer Off'
BALANCER_ON = 'Balancer On'
BILLABLE_HOSTS_INCREASED = 'Billable Hosts Increased'
BI_CONNECTOR_DOWN = 'Bi Connector Down'
BI_CONNECTOR_UP = 'Bi Connector Up'
BLOCKSTORE_JOB_RECOVERED = 'Blockstore Job Recovered'
BLOCKSTORE_JOB_TOO_MANY_RETRIES = 'Blockstore Job Too Many Retries'
BREAK_JOB = 'Break Job'
BULK_HEAD_MOVE = 'Bulk Head Move'
CASE_CREATED = 'Case Created'
CHARGE_FAILED = 'Charge Failed'
CHARGE_SUCCEEDED = 'Charge Succeeded'
CHECK_PAYMENT_RECEIVED = 'Check Payment Received'
CLUSTERSHOT_DELETED_AUDIT = 'Clustershot Deleted Audit'
CLUSTERSHOT_EXPIRY_UPDATED_AUDIT = 'Clustershot Expiry Updated Audit'
CLUSTER_BLACKLIST_UPDATED_AUDIT = 'Cluster Blacklist Updated Audit'
CLUSTER_CHECKPOINT_UPDATED_AUDIT = 'Cluster Checkpoint Updated Audit'
CLUSTER_CREATED = 'Cluster Created'
CLUSTER_CREDENTIAL_UPDATED_AUDIT = 'Cluster Credential Updated Audit'
CLUSTER_DELETED = 'Cluster Deleted'
CLUSTER_DELETE_SUBMITTED = 'Cluster Delete Submitted'
CLUSTER_IMPORT_ACKNOWLEDGED = 'Cluster Import Acknowledged'
CLUSTER_IMPORT_CANCELLED = 'Cluster Import Cancelled'
CLUSTER_IMPORT_CUTOVER = 'Cluster Import Cutover'
CLUSTER_IMPORT_EXPIRED = 'Cluster Import Expired'
CLUSTER_IMPORT_EXTENDED = 'Cluster Import Extended'
CLUSTER_IMPORT_RESTART_REQUESTED = 'Cluster Import Restart Requested'
CLUSTER_IMPORT_STARTED = 'Cluster Import Started'
CLUSTER_IMPORT_VALIDATION_FAIL = 'Cluster Import Validation Fail'
CLUSTER_IMPORT_VALIDATION_SUCCESS = 'Cluster Import Validation Success'
CLUSTER_INSTANCE_CONFIG_UPDATED = 'Cluster Instance Config Updated'
CLUSTER_INSTANCE_REPLACED = 'Cluster Instance Replaced'
CLUSTER_INSTANCE_RESTARTED = 'Cluster Instance Restarted'
CLUSTER_INSTANCE_RESYNC_REQUESTED = 'Cluster Instance Resync Requested'
CLUSTER_INSTANCE_SSL_REVOKED = 'Cluster Instance SSL Revoked'
CLUSTER_INSTANCE_SSL_ROTATED = 'Cluster Instance SSL Rotated'
CLUSTER_INSTANCE_STOP_START = 'Cluster Instance Stop Start'
CLUSTER_MONGOS_IS_MISSING = 'Cluster Mongos Is Missing'
CLUSTER_MONGOS_IS_PRESENT = 'Cluster Mongos Is Present'
CLUSTER_OPLOG_RESIZED = 'Cluster Oplog Resized'
CLUSTER_PROCESS_ARGS_UPDATE_SUBMITTED = 'Cluster Process Args Update Submitted'
CLUSTER_READY = 'Cluster Ready'
CLUSTER_SNAPSHOT_SCHEDULE_UPDATED_AUDIT = 'Cluster Snapshot Schedule Updated Audit'
CLUSTER_STATE_CHANGED_AUDIT = 'Cluster State Changed Audit'
CLUSTER_STORAGE_ENGINE_UPDATED_AUDIT = 'Cluster Storage Engine Updated Audit'
CLUSTER_UPDATE_COMPLETED = 'Cluster Update Completed'
CLUSTER_UPDATE_STARTED = 'Cluster Update Started'
CLUSTER_UPDATE_SUBMITTED = 'Cluster Update Submitted'
CLUSTER_VERSION_FIXED = 'Cluster Version Fixed'
CLUSTER_VERSION_UNFIXED = 'Cluster Version Unfixed'
COMPANY_NAME_OFAC_HIT = 'Company Name OFAC Hit'
COMPUTE_AUTO_SCALE_INITIATED = 'Compute Auto Scale Initiated'
COMPUTE_AUTO_SCALE_SKIPPED = 'Compute Auto Scale Skipped'
COMPUTE_AUTO_SCALE_TRIGGERED = 'Compute Auto Scale Triggered'
COMPUTE_AUTO_SCALE_UNNECESSARY = 'Compute Auto Scale Unnecessary'
CONFIGURATION_CHANGED = 'Configuration Changed'
CONSISTENT_BACKUP_CONFIGURATION = 'Consistent Backup Configuration'
CONTAINER_SUBNETS_UPDATE_REQUESTED = 'Container Subnets Update Requested'
CPS_RESTORE_REQUESTED_AUDIT = 'Cps Restore Requested Audit'
CPS_SNAPSHOT_DELETED_AUDIT = 'Cps Snapshot Deleted Audit'
CPS_SNAPSHOT_SCHEDULE_UPDATED_AUDIT = 'Cps Snapshot Schedule Updated Audit'
CREDIT_CARD_ABOUT_TO_EXPIRE = 'Credit Card About To Expire'
CREDIT_CARD_ADDED = 'Credit Card Added'
CREDIT_CARD_CURRENT = 'Credit Card Current'
CREDIT_CARD_UPDATED = 'Credit Card Updated'
CREDIT_ISSUED = 'Credit Issued'
CREDIT_PULLED_FWD = 'Credit Pulled Fwd'
CRON_JOB_COMPLETED = 'Cron Job Completed'
CRON_JOB_DISABLED = 'Cron Job Disabled'
CRON_JOB_ENABLED = 'Cron Job Enabled'
CRON_JOB_FAILED = 'Cron Job Failed'
CUSTOMER_X509_CRL_UPDATED = 'Customer X509 CRL Updated'
DAEMON_AVAILABLE_FOR_QUERYABLE_RESTORE_JOB = 'Daemon Available For Queryable Restore Job'
DAEMON_CONFIG_CHANGE = 'Daemon Config Change'
DAEMON_DELETED = 'Daemon Deleted'
DAEMON_DOWN = 'Daemon Down'
DAEMON_UP = 'Daemon Up'
DAILY_BILL_OVER_THRESHOLD = 'Daily Bill Over Threshold'
DAILY_BILL_UNDER_THRESHOLD = 'Daily Bill Under Threshold'
DATA_EXPLORER = 'Data Explorer'
DATA_EXPLORER_CRUD = 'Data Explorer Crud'
DATA_EXPLORER_CRUD_ATTEMPT = 'Data Explorer Crud Attempt'
DATA_EXPLORER_CRUD_ERROR = 'Data Explorer Crud Error'
DB_PROFILER_DISABLE_AUDIT = 'Db Profiler Disable Audit'
DB_PROFILER_ENABLE_AUDIT = 'Db Profiler Enable Audit'
DEACTIVATE_HOST_AUDIT = 'Deactivate Host Audit'
DELETE_HOST_AUDIT = 'Delete Host Audit'
DELINQUENT = 'Delinquent'
DISABLE_HOST_AUDIT = 'Disable Host Audit'
DISCOUNT_APPLIED = 'Discount Applied'
DOWNLOADED_MONITORING_GROUP_MONGOD_LOGS = 'Downloaded Monitoring Group Mongod Logs'
DOWNLOADED_MONITORING_HOST_SPECIFIC_MONGOD_LOGS = 'Downloaded Monitoring Host Specific Mongod Logs'
DUPLICATE_SUBSCRIPTION_USAGE = 'Duplicate Subscription Usage'
ELASTIC_INVOICING_MODE_ACTIVATED = 'Elastic Invoicing Mode Activated'
ELASTIC_INVOICING_MODE_DEACTIVATED = 'Elastic Invoicing Mode Deactivated'
ENCRYPTION_AT_REST_CONFIGURATION_UPDATED = 'Encryption At Rest Configuration Updated'
ENCRYPTION_AT_REST_CONFIGURATION_VALIDATION_FAILED = 'Encryption At Rest Configuration Validation Failed'
ENOUGH_HEALTHY_MEMBERS = 'Enough Healthy Members'
FLUSHED = 'Flushed'
FREE_UPGRADE_STARTED = 'Free Upgrade Started'
FTS_INDEX_DELETION_FAILED = 'Fts Index Deletion Failed'
GCP_ENCRYPTION_KEY_NEEDS_ROTATION = 'GCP Encryption Key Needs Rotation'
GCP_ENCRYPTION_KEY_ROTATED = 'GCP Encryption Key Rotated'
GCP_PEER_ACTIVE = 'GCP Peer Active'
GCP_PEER_CREATED = 'GCP Peer Created'
GCP_PEER_DELETED = 'GCP Peer Deleted'
GCP_PEER_INACTIVE = 'GCP Peer Inactive'
GCP_PEER_UPDATED = 'GCP Peer Updated'
GCP_ZONE_DOWN = 'GCP Zone Down'
GCP_ZONE_OK = 'GCP Zone Ok'
GOOD_CLUSTERSHOT = 'Good Clustershot'
GROUP_ACTIVATED = 'Group Activated'
GROUP_ALERT_PROCESSING_DISABLED = 'Group Alert Processing Disabled'
GROUP_ALERT_PROCESSING_ENABLED = 'Group Alert Processing Enabled'
GROUP_CHARTS_ACTIVATED = 'Group Charts Activated'
GROUP_CHARTS_ACTIVATION_REQUESTED = 'Group Charts Activation Requested'
GROUP_CHARTS_RESET = 'Group Charts Reset'
GROUP_CHARTS_UPGRADED = 'Group Charts Upgraded'
GROUP_CLOSED = 'Group Closed'
GROUP_CONFIG_CHANGE = 'Group Config Change'
GROUP_CREATED = 'Group Created'
GROUP_DELETED = 'Group Deleted'
GROUP_FLUSHED = 'Group Flushed'
GROUP_LOCKED = 'Group Locked'
GROUP_MOVED = 'Group Moved'
GROUP_NAME_CHANGED = 'Group Name Changed'
GROUP_STUCK_IN_CLOSING = 'Group Stuck In Closing'
GROUP_SUSPENDED = 'Group Suspended'
GROUP_TAGS_CHANGED = 'Group Tags Changed'
GROUP_TEMPORARILY_ACTIVATED = 'Group Temporarily Activated'
GROUP_UNEMBARGOED = 'Group Unembargoed'
HIDE_AND_DISABLE_HOST_AUDIT = 'Hide And Disable Host Audit'
HIDE_HOST_AUDIT = 'Hide Host Audit'
HOST_DOWN = 'Host Down'
HOST_DOWNGRADED = 'Host Downgraded'
HOST_EXPOSED = 'Host Exposed'
HOST_HAS_INDEX_SUGGESTIONS = 'Host Has Index Suggestions'
HOST_HAS_INDEX_SUGGESTIONS_WITHDRAWN = 'Host Has Index Suggestions Withdrawn'
HOST_IP_CHANGED_AUDIT = 'Host IP Changed Audit'
HOST_LOCKED_DOWN = 'Host Locked Down'
HOST_NOW_PRIMARY = 'Host Now Primary'
HOST_NOW_SECONDARY = 'Host Now Secondary'
HOST_NOW_STANDALONE = 'Host Now Standalone'
HOST_RECOVERED = 'Host Recovered'
HOST_RECOVERING = 'Host Recovering'
HOST_RESTARTED = 'Host Restarted'
HOST_ROLLBACK = 'Host Rollback'
HOST_SSL_CERTIFICATE_CURRENT = 'Host SSL Certificate Current'
HOST_SSL_CERTIFICATE_STALE = 'Host SSL Certificate Stale'
HOST_UP = 'Host Up'
HOST_UPGRADED = 'Host Upgraded'
HOST_VERSION_BEHIND = 'Host Version Behind'
HOST_VERSION_CHANGED = 'Host Version Changed'
HOST_VERSION_CURRENT = 'Host Version Current'
INCONSISTENT_BACKUP_CONFIGURATION = 'Inconsistent Backup Configuration'
INITIAL_SYNC_FINISHED_AUDIT = 'Initial Sync Finished Audit'
INITIAL_SYNC_STARTED_AUDIT = 'Initial Sync Started Audit'
INSIDE_METRIC_THRESHOLD = 'Inside Metric Threshold'
INSIDE_SPACE_USED_THRESHOLD = 'Inside Space Used Threshold'
INTERNAL_DIAGNOSTIC_RESTORE_REQUESTED_AUDIT = 'Internal Diagnostic Restore Requested Audit'
INVITED_TO_GROUP = 'Invited To Group'
INVITED_TO_ORG = 'Invited To Org'
INVOICE_ADDRESS_ADDED = 'Invoice Address Added'
INVOICE_ADDRESS_CHANGED = 'Invoice Address Changed'
INVOICE_BILLED_DOES_NOT_EQUAL_LINE_ITEMS_TOTAL = 'Invoice Billed Does Not Equal Line Items Total'
INVOICE_BILLED_DOES_NOT_EQUAL_PAID = 'Invoice Billed Does Not Equal Paid'
INVOICE_BILLED_EQUALS_LINE_ITEMS_TOTAL = 'Invoice Billed Equals Line Items Total'
INVOICE_BILLED_EQUALS_PAID = 'Invoice Billed Equals Paid'
INVOICE_CLOSED = 'Invoice Closed'
JOB_CHANGE = 'Job Change'
JOINED_GROUP = 'Joined Group'
JOINED_ORG = 'Joined Org'
JOINED_TEAM = 'Joined Team'
JOIN_GROUP_REQUEST_APPROVED_AUDIT = 'Join Group Request Approved Audit'
JOIN_GROUP_REQUEST_DENIED_AUDIT = 'Join Group Request Denied Audit'
LATE_SNAPSHOT = 'Late Snapshot'
LICENSE_ACCEPTED = 'License Accepted'
LOG_COLLECTION_REQUESTED = 'Log Collection Requested'
LOG_DEBUG_OVERRIDE_ACTIVE = 'Log Debug Override Active'
LOG_DOWNLOAD_STARTED = 'Log Download Started'
LOG_LEVEL_CHANGE = 'Log Level Change'
LOW_HEAD_FREE_SPACE = 'Low Head Free Space'
LOW_HEAD_FREE_SPACE_PERCENT = 'Low Head Free Space Percent'
MAINTENANCE_WINDOW_ADDED_AUDIT = 'Maintenance Window Added Audit'
MAINTENANCE_WINDOW_CHANGED_AUDIT = 'Maintenance Window Changed Audit'
MAINTENANCE_WINDOW_DELETED_AUDIT = 'Maintenance Window Deleted Audit'
MEMBER_ADDED = 'Member Added'
MEMBER_REMOVED = 'Member Removed'
MISSING_PAYMENT_METHOD = 'Missing Payment Method'
MLAB_MIGRATION_CANCELLED = 'Mlab Migration Cancelled'
MLAB_MIGRATION_COMPLETED = 'Mlab Migration Completed'
MLAB_MIGRATION_INITIATED = 'Mlab Migration Initiated'
MONGODB_ACCESS_HISTORY = 'Mongodb Access History'
MONGODB_LOGS_DOWNLOADED = 'Mongodb Logs Downloaded'
MONGODB_ROLE_ADDED = 'Mongodb Role Added'
MONGODB_ROLE_DELETED = 'Mongodb Role Deleted'
MONGODB_ROLE_UPDATED = 'Mongodb Role Updated'
MONGODB_USER_ADDED = 'Mongodb User Added'
MONGODB_USER_DELETED = 'Mongodb User Deleted'
MONGODB_USER_UPDATED = 'Mongodb User Updated'
MONGODB_USER_X509_CERT_CREATED = 'Mongodb User X509 Cert Created'
MONGODB_USER_X509_CERT_REVOKED = 'Mongodb User X509 Cert Revoked'
MONITORING_AGENT_DOWN = 'Monitoring Agent Down'
MONITORING_AGENT_LOGS = 'Monitoring Agent Logs'
MONITORING_AGENT_LOGS_CSV_DOWNLOAD = 'Monitoring Agent Logs CSV Download'
MONITORING_AGENT_UP = 'Monitoring Agent Up'
MONITORING_AGENT_VERSION_BEHIND = 'Monitoring Agent Version Behind'
MONITORING_AGENT_VERSION_CURRENT = 'Monitoring Agent Version Current'
MONITORING_DAILY_PING = 'Monitoring Daily Ping'
MONITORING_GROUP_PING = 'Monitoring Group Ping'
MONITORING_LATEST_HOST_SPECIFIC_PING = 'Monitoring Latest Host Specific Ping'
MONITORING_MONGOD_LOGS = 'Monitoring Mongod Logs'
MOVE_SKIPPED = 'Move Skipped'
MTM_CAPACITY_LOW = 'MTM Capacity Low'
MTM_CAPACITY_OK = 'MTM Capacity Ok'
MULTIPLE_INVOICES_FOR_MONTH = 'Multiple Invoices For Month'
MULTIPLE_PRIMARIES = 'Multiple Primaries'
MULTI_FACTOR_AUTH_RESET_AUDIT = 'Multi Factor Auth Reset Audit'
MULTI_FACTOR_AUTH_RESET_EMAIL_SENT_AUDIT = 'Multi Factor Auth Reset Email Sent Audit'
MULTI_FACTOR_AUTH_UPDATED_AUDIT = 'Multi Factor Auth Updated Audit'
NDS_HOST_LOGS_DOWNLOADED = 'Nds Host Logs Downloaded'
NDS_PROXY_DOWN = 'Nds Proxy Down'
NDS_PROXY_UP = 'Nds Proxy Up'
NDS_SET_CHEF_TARBALL_URI = 'Nds Set Chef Tarball Uri'
NDS_SET_IMAGE_OVERRIDES = 'Nds Set Image Overrides'
NETWORK_PERMISSION_ENTRY_ADDED = 'Network Permission Entry Added'
NETWORK_PERMISSION_ENTRY_REMOVED = 'Network Permission Entry Removed'
NETWORK_PERMISSION_ENTRY_UPDATED = 'Network Permission Entry Updated'
NEW_AGENT = 'New Agent'
NEW_HOST = 'New Host'
NONZERO_PENDING_REFUNDS = 'Nonzero Pending Refunds'
NO_DAEMON_AVAILABLE_FOR_QUERYABLE_RESTORE_JOB = 'No Daemon Available For Queryable Restore Job'
NO_DUPLICATE_SUBSCRIPTION_USAGE = 'No Duplicate Subscription Usage'
NO_NONZERO_PENDING_REFUNDS = 'No Nonzero Pending Refunds'
NO_PRIMARY = 'No Primary'
NO_RS_BIND_ERROR = 'No Rs Bind Error'
NO_STALE_PENDING_INVOICES = 'No Stale Pending Invoices'
NO_USERS_AWAITING_APPROVAL = 'No Users Awaiting Approval'
ONE_INVOICE_FOR_MONTH = 'One Invoice For Month'
ONE_PENDING_INVOICE = 'One Pending Invoice'
ONE_PRIMARY = 'One Primary'
OPLOG_BEHIND = 'Oplog Behind'
OPLOG_CURRENT = 'Oplog Current'
OPLOG_STORE_CONFIG_CHANGE = 'Oplog Store Config Change'
OPLOG_STORE_DELETED = 'Oplog Store Deleted'
OPLOG_TTL_RESIZE = 'Oplog Ttl Resize'
ORG_ACTIVATED = 'Org Activated'
ORG_ADMIN_SUSPENDED = 'Org Admin Suspended'
ORG_CLUSTERS_DELETED = 'Org Clusters Deleted'
ORG_CLUSTERS_PAUSED = 'Org Clusters Paused'
ORG_COMPANY_NAME_OFAC_HIT = 'Org Company Name OFAC Hit'
ORG_CONNECTED_TO_MLAB = 'Org Connected To Mlab'
ORG_CREATED = 'Org Created'
ORG_CREDIT_CARD_ABOUT_TO_EXPIRE = 'Org Credit Card About To Expire'
ORG_CREDIT_CARD_ADDED = 'Org Credit Card Added'
ORG_CREDIT_CARD_CURRENT = 'Org Credit Card Current'
ORG_CREDIT_CARD_UPDATED = 'Org Credit Card Updated'
ORG_DAILY_BILL_OVER_THRESHOLD = 'Org Daily Bill Over Threshold'
ORG_DAILY_BILL_UNDER_THRESHOLD = 'Org Daily Bill Under Threshold'
ORG_DELETED = 'Org Deleted'
ORG_DISCONNECTED_FROM_MLAB = 'Org Disconnected From Mlab'
ORG_EMBARGO_CONFIRMED = 'Org Embargo Confirmed'
ORG_EMPLOYEE_ACCESS_RESTRICTED = 'Org Employee Access Restricted'
ORG_EMPLOYEE_ACCESS_UNRESTRICTED = 'Org Employee Access Unrestricted'
ORG_GROUP_CHARGES_OVER_THRESHOLD = 'Org Group Charges Over Threshold'
ORG_GROUP_CHARGES_UNDER_THRESHOLD = 'Org Group Charges Under Threshold'
ORG_INVOICE_OVER_THRESHOLD = 'Org Invoice Over Threshold'
ORG_INVOICE_UNDER_THRESHOLD = 'Org Invoice Under Threshold'
ORG_IP_WHITELIST_DELETED = 'Org IP Whitelist Deleted'
ORG_LOCKED = 'Org Locked'
ORG_PAYPAL_LINKED = 'Org Paypal Linked'
ORG_PAYPAL_UPDATED = 'Org Paypal Updated'
ORG_PUBLIC_API_WHITELIST_NOT_REQUIRED = 'Org Public API Whitelist Not Required'
ORG_PUBLIC_API_WHITELIST_REQUIRED = 'Org Public API Whitelist Required'
ORG_RENAMED = 'Org Renamed'
ORG_SFDC_ACCOUNT_ID_CHANGED = 'Org Sfdc Account Id Changed'
ORG_SUSPENDED = 'Org Suspended'
ORG_TEMPORARILY_ACTIVATED = 'Org Temporarily Activated'
ORG_TWO_FACTOR_AUTH_OPTIONAL = 'Org Two Factor Auth Optional'
ORG_TWO_FACTOR_AUTH_REQUIRED = 'Org Two Factor Auth Required'
ORG_UNEMBARGOED = 'Org Unembargoed'
ORG_USERS_WITHOUT_MFA = 'Org Users Without MFA'
OS_MAINTENANCE = 'Os Maintenance'
OUTSIDE_METRIC_THRESHOLD = 'Outside Metric Threshold'
OUTSIDE_SPACE_USED_THRESHOLD = 'Outside Space Used Threshold'
PAID_IN_FULL = 'Paid In Full'
PASSWORD_RESET_AUDIT = 'Password Reset Audit'
PASSWORD_RESET_EMAIL_SENT_AUDIT = 'Password Reset Email Sent Audit'
PASSWORD_RESET_FAILED_AUDIT = 'Password Reset Failed Audit'
PASSWORD_RESET_FORM_VIEWED_AUDIT = 'Password Reset Form Viewed Audit'
PASSWORD_UPDATED_AUDIT = 'Password Updated Audit'
PAUSE_HOST_AUDIT = 'Pause Host Audit'
PAYMENT_FORGIVEN = 'Payment Forgiven'
PAYMENT_METHODS_REMOVED = 'Payment Methods Removed'
PAYMENT_METHOD_ADDED = 'Payment Method Added'
PEER_CREATED = 'Peer Created'
PEER_DELETED = 'Peer Deleted'
PEER_UPDATED = 'Peer Updated'
PENDING_INVOICE_OVER_THRESHOLD = 'Pending Invoice Over Threshold'
PENDING_INVOICE_UNDER_THRESHOLD = 'Pending Invoice Under Threshold'
PERFORMANCE_ADVISOR = 'Performance Advisor'
PLANNING_FAILURE = 'Planning Failure'
PLAN_ABANDONED = 'Plan Abandoned'
PLAN_ASAP_REQUESTED = 'Plan Asap Requested'
PLAN_FAILURE = 'Plan Failure'
PLAN_FAILURE_COUNT_RESET = 'Plan Failure Count Reset'
PREPAID_PLAN_ACTIVATED = 'Prepaid Plan Activated'
PREPAID_PLAN_MISSING_SKU = 'Prepaid Plan Missing Sku'
PREPAID_PLAN_NOT_MISSING_SKU = 'Prepaid Plan Not Missing Sku'
PRIMARY_ELECTED = 'Primary Elected'
PROJECT_LIMIT_UPDATED = 'Project Limit Updated'
PROJECT_SCHEDULED_MAINTENANCE = 'Project Scheduled Maintenance'
PROMO_CODE_APPLIED = 'Promo Code Applied'
PROVISIONING_CHANGE = 'Provisioning Change'
PROXY_RESTARTED = 'Proxy Restarted'
PUBLIC_API_LATEST_MONITORING_GROUP_PING = 'Public API Latest Monitoring Group Ping'
PUBLIC_API_LATEST_MONITORING_HOST_SPECIFIC_PING = 'Public API Latest Monitoring Host Specific Ping'
QUERY_ENGINE_TENANT_CREATED = 'Query Engine Tenant Created'
QUERY_ENGINE_TENANT_REMOVED = 'Query Engine Tenant Removed'
QUERY_ENGINE_TENANT_UPDATED = 'Query Engine Tenant Updated'
REACTIVATE_HOST_AUDIT = 'Reactivate Host Audit'
REAL_TIME_PERFORMANCE_PANEL = 'Real Time Performance Panel'
REFUND_ISSUED = 'Refund Issued'
REMOVED_FROM_GROUP = 'Removed From Group'
REMOVED_FROM_ORG = 'Removed From Org'
REMOVED_FROM_TEAM = 'Removed From Team'
REMOVE_HOST_FROM_REPLICA_SET_AUDIT = 'Remove Host From Replica Set Audit'
REPLICATION_OPLOG_WINDOW_HEALTHY = 'Replication Oplog Window Healthy'
REPLICATION_OPLOG_WINDOW_RUNNING_OUT = 'Replication Oplog Window Running Out'
REPLICATION_OPLOG_WINDOW_TREND_HEALTHY = 'Replication Oplog Window Trend Healthy'
REQUESTED_TO_JOIN_GROUP = 'Requested To Join Group'
REQUEST_INCOMPLETE = 'Request Incomplete'
RESTORE_REQUESTED_AUDIT = 'Restore Requested Audit'
RESTRICTED_EMPLOYEE_ACCESS_BYPASS = 'Restricted Employee Access Bypass'
RESUME_HOST_AUDIT = 'Resume Host Audit'
RESYNC_PERFORMED = 'Resync Performed'
RESYNC_REQUIRED = 'Resync Required'
RS_BIND_ERROR = 'Rs Bind Error'
RS_BLACKLIST_UPDATED_AUDIT = 'Rs Blacklist Updated Audit'
RS_CREDENTIAL_UPDATED_AUDIT = 'Rs Credential Updated Audit'
RS_ROTATE_MASTER_KEY_AUDIT = 'Rs Rotate Master Key Audit'
RS_SNAPSHOT_SCHEDULE_UPDATED_AUDIT = 'Rs Snapshot Schedule Updated Audit'
RS_STATE_CHANGED_AUDIT = 'Rs State Changed Audit'
RS_STORAGE_ENGINE_UPDATED_AUDIT = 'Rs Storage Engine Updated Audit'
SAMPLE_DATASET_LOAD_REQUESTED = 'Sample Dataset Load Requested'
SCHEDULED_MAINTENANCE = 'Scheduled Maintenance'
SCHEDULE_GROOM = 'Schedule Groom'
SHARD_ADDED = 'Shard Added'
SHARD_REMOVED = 'Shard Removed'
SNAPSHOT_DELETED_AUDIT = 'Snapshot Deleted Audit'
SNAPSHOT_EXPIRY_UPDATED_AUDIT = 'Snapshot Expiry Updated Audit'
SNAPSHOT_STORE_CONFIG_CHANGE = 'Snapshot Store Config Change'
SNAPSHOT_STORE_DELETED = 'Snapshot Store Deleted'
SSH_KEY_NDS_HOST_ACCESS_ATTEMPT = 'Ssh Key Nds Host Access Attempt'
SSH_KEY_NDS_HOST_ACCESS_GRANTED = 'Ssh Key Nds Host Access Granted'
SSH_KEY_NDS_HOST_ACCESS_REQUESTED = 'Ssh Key Nds Host Access Requested'
STALE_PENDING_INVOICES = 'Stale Pending Invoices'
SUCCESSFUL_LOGIN_AUDIT = 'Successful Login Audit'
SUFFICIENT_HEAD_FREE_SPACE = 'Sufficient Head Free Space'
SUPPORT_PLAN_ACTIVATED = 'Support Plan Activated'
SUPPORT_PLAN_CANCELLATION_SCHEDULED = 'Support Plan Cancellation Scheduled'
SUPPORT_PLAN_CANCELLED = 'Support Plan Cancelled'
SYNC_PENDING_AUDIT = 'Sync Pending Audit'
SYNC_REQUIRED_AUDIT = 'Sync Required Audit'
SYNC_SLICE_HAS_NOT_PROGRESSED = 'Sync Slice Has Not Progressed'
SYNC_SLICE_PROGRESSED = 'Sync Slice Progressed'
SYNC_STORE_CONFIG_CHANGE = 'Sync Store Config Change'
SYNC_STORE_DELETED = 'Sync Store Deleted'
TEAM_ADDED_TO_GROUP = 'Team Added To Group'
TEAM_CREATED = 'Team Created'
TEAM_DELETED = 'Team Deleted'
TEAM_NAME_CHANGED = 'Team Name Changed'
TEAM_REMOVED_FROM_GROUP = 'Team Removed From Group'
TEAM_ROLES_MODIFIED = 'Team Roles Modified'
TEAM_UPDATED = 'Team Updated'
TENANT_RESTORE_COMPLETED_AUDIT = 'Tenant Restore Completed Audit'
TENANT_RESTORE_FAILED = 'Tenant Restore Failed'
TENANT_RESTORE_REQUESTED_AUDIT = 'Tenant Restore Requested Audit'
TENANT_SNAPSHOT_COMPLETED_AUDIT = 'Tenant Snapshot Completed Audit'
TENANT_SNAPSHOT_DELETED_AUDIT = 'Tenant Snapshot Deleted Audit'
TENANT_SNAPSHOT_DOWNLOAD_REQUESTED_AUDIT = 'Tenant Snapshot Download Requested Audit'
TENANT_SNAPSHOT_FAILED = 'Tenant Snapshot Failed'
TENANT_SNAPSHOT_STARTED_AUDIT = 'Tenant Snapshot Started Audit'
TEST_FAILOVER_REQUESTED = 'Test Failover Requested'
THEFT_FAILED = 'Theft Failed'
TIMELY_SNAPSHOT = 'Timely Snapshot'
TOGGLEABLE_FEATURE_FLAG = 'Toggleable Feature Flag'
TOO_FEW_HEALTHY_MEMBERS = 'Too Few Healthy Members'
TOO_MANY_ELECTIONS = 'Too Many Elections'
TOO_MANY_PENDING_INVOICES = 'Too Many Pending Invoices'
TOO_MANY_UNHEALTHY_MEMBERS = 'Too Many Unhealthy Members'
UNDELETE_HOST_AUDIT = 'Undelete Host Audit'
UNKNOWN = 'Unknown or None'
UNSUCCESSFUL_LOGIN_AUDIT = 'Unsuccessful Login Audit'
USERS_AWAITING_APPROVAL = 'Users Awaiting Approval'
USERS_WITHOUT_MULTI_FACTOR_AUTH = 'Users Without Multi Factor Auth'
USER_ADDED_TO_TEAM = 'User Added To Team'
USER_CREATED_AUDIT = 'User Created Audit'
USER_DELETED_AUDIT = 'User Deleted Audit'
USER_EMAIL_ADDRESS_CHANGED_AUDIT = 'User Email Address Changed Audit'
USER_FIRST_NAME_LAST_NAME_CHANGED_AUDIT = 'User First Name Last Name Changed Audit'
USER_HARD_DELETED_AUDIT = 'User Hard Deleted Audit'
USER_NAME_OFAC_HIT = 'User Name OFAC Hit'
USER_PROFILE_CHANGED_AUDIT = 'User Profile Changed Audit'
USER_RESTORED_AUDIT = 'User Restored Audit'
USER_ROLES_CHANGED_AUDIT = 'User Roles Changed Audit'
USER_SALESFORCE_CONTACT_ID_CHANGED_AUDIT = 'User Salesforce Contact Id Changed Audit'
USER_SECURITY_SETTINGS_UPDATED = 'User Security Settings Updated'
USER_UNEMBARGOED = 'User Unembargoed'
VALUE_NO_LONGER_ANOMALOUS = 'Value No Longer Anomalous'
VIEWED_AUTOMATION_MONGOD_LOGS = 'Viewed Automation Mongod Logs'
VIEWED_MONITORING_HOST_SPECIFIC_MONGOD_LOGS = 'Viewed Monitoring Host Specific Mongod Logs'
VISUAL_PROFILER = 'Visual Profiler'
WIRE_TRANSFER_PAYMENT_RECEIVED = 'Wire Transfer Payment Received'
class atlasapi.events.AtlasFeatureEvent(value_dict: dict)

Bases: atlasapi.events._AtlasUserBaseEvent

class atlasapi.events.AtlasHostEvent(value_dict: dict)

Bases: atlasapi.events._AtlasBaseEvent

atlasapi.events.atlas_event_factory(value_dict: dict) → Union[atlasapi.events.AtlasEvent, atlasapi.events.AtlasDataExplorerEvent, atlasapi.events.AtlasClusterEvent, atlasapi.events.AtlasHostEvent, atlasapi.events.AtlasFeatureEvent]

atlasapi.measurements module

class atlasapi.measurements.AtlasMeasurement(name, period, granularity, measurements=[])

Bases: object

A point in time container for an Atlas measurement.

For a certain period, granularity and measurementType hoslds a list fo measurementValues.

Parameters:
as_dict

Returns the measurement as a dict, including the computed properties.

Returns:
Return type:dict
date_end

The date of the last measurement

Returns:The date of the last measurement.
Return type:datetime
date_start

The date of the first measurement.

Returns:The date of the first measurement.
Return type:datetime
measurements

Getter for the measurements.

Returns:An iterator containing values objects.
Return type:Iterator[AtlasMeasurementValue]
measurements_as_tuples()
measurements_count

The count of measurements

Returns:The count of measurements in the set
Return type:int
class atlasapi.measurements.AtlasMeasurementTypes

Bases: atlasapi.lib._GetAll

Helper class for all available atlas measurements.

All classes and embedded classes have a get_all class method that returns an iterator of all measurements and sub measurements.

class Asserts

Bases: atlasapi.lib._GetAll

msg = 'ASSERT_MSG'
regular = 'ASSERT_REGULAR'
user = 'ASSERT_USER'
warning = 'ASSERT_WARNING'
class CPU

Bases: atlasapi.lib._GetAll

class Process

Bases: atlasapi.lib._GetAll

children_kernel = 'PROCESS_CPU_CHILDREN_KERNEL'
children_user = 'PROCESS_CPU_CHILDREN_USER'
kernel = 'PROCESS_CPU_KERNEL'
user = 'PROCESS_CPU_USER'
class ProcessNormalized

Bases: atlasapi.lib._GetAll

children_kernel = 'PROCESS_NORMALIZED_CPU_CHILDREN_KERNEL'
children_user = 'PROCESS_NORMALIZED_CPU_CHILDREN_USER'
kernel = 'PROCESS_NORMALIZED_CPU_KERNEL'
user = 'PROCESS_NORMALIZED_CPU_USER'
class System

Bases: atlasapi.lib._GetAll

guest = 'SYSTEM_CPU_GUEST'
iowait = 'SYSTEM_CPU_IOWAIT'
irq = 'SYSTEM_CPU_IRQ'
kernel = 'SYSTEM_CPU_KERNEL'
nice = 'SYSTEM_CPU_NICE'
softirq = 'SYSTEM_CPU_SOFTIRQ'
steal = 'SYSTEM_CPU_STEAL'
user = 'SYSTEM_CPU_USER'
class SystemNormalized

Bases: atlasapi.lib._GetAll

guest = 'SYSTEM_NORMALIZED_CPU_GUEST'
iowait = 'SYSTEM_NORMALIZED_CPU_IOWAIT'
irq = 'SYSTEM_NORMALIZED_CPU_IRQ'
kernel = 'SYSTEM_NORMALIZED_CPU_KERNEL'
nice = 'SYSTEM_NORMALIZED_CPU_NICE'
softirq = 'SYSTEM_NORMALIZED_CPU_SOFTIRQ'
steal = 'SYSTEM_NORMALIZED_CPU_STEAL'
user = 'SYSTEM_NORMALIZED_CPU_USER'
class Cache

Bases: atlasapi.lib._GetAll

bytes_read = 'CACHE_BYTES_READ_INTO'
bytes_written = 'CACHE_BYTES_WRITTEN_FROM'
dirty = 'CACHE_DIRTY_BYTES'
used = 'CACHE_USED_BYTES'
class Cursors

Bases: atlasapi.lib._GetAll

open = 'CURSORS_TOTAL_OPEN'
timed_out = 'CURSORS_TOTAL_TIMED_OUT'
class Db

Bases: atlasapi.lib._GetAll

data_size = 'DB_DATA_SIZE_TOTAL'
storage = 'DB_STORAGE_TOTAL'
class DocumentMetrics

Bases: atlasapi.lib._GetAll

deleted = 'DOCUMENT_METRICS_DELETED'
inserted = 'DOCUMENT_METRICS_INSERTED'
returned = 'DOCUMENT_METRICS_RETURNED'
updated = 'DOCUMENT_METRICS_UPDATED'
class ExtraInfo

Bases: atlasapi.lib._GetAll

page_faults = 'EXTRA_INFO_PAGE_FAULTS'
class GlobalLockCurrentQueue

Bases: atlasapi.lib._GetAll

readers = 'GLOBAL_LOCK_CURRENT_QUEUE_READERS'
total = 'GLOBAL_LOCK_CURRENT_QUEUE_TOTAL'
writers = 'GLOBAL_LOCK_CURRENT_QUEUE_WRITERS'
class Memory

Bases: atlasapi.lib._GetAll

mapped = 'MEMORY_MAPPED'
resident = 'MEMORY_RESIDENT'
virtual = 'MEMORY_VIRTUAL'
class Network

Bases: atlasapi.lib._GetAll

bytes_id = 'NETWORK_BYTES_IN'
bytes_out = 'NETWORK_BYTES_OUT'
num_requests = 'NETWORK_NUM_REQUESTS'
class Opcounter

Bases: atlasapi.lib._GetAll

class Repl

Bases: atlasapi.lib._GetAll

cmd = 'OPCOUNTER_REPL_CMD'
delete = 'OPCOUNTER_REPL_DELETE'
insert = 'OPCOUNTER_REPL_INSERT'
update = 'OPCOUNTER_REPL_UPDATE'
cmd = 'OPCOUNTER_CMD'
delete = 'OPCOUNTER_DELETE'
getmore = 'OPCOUNTER_GETMORE'
insert = 'OPCOUNTER_INSERT'
query = 'OPCOUNTER_QUERY'
update = 'OPCOUNTER_UPDATE'
class Operations

Bases: atlasapi.lib._GetAll

class ExecutionTime

Bases: atlasapi.lib._GetAll

commands = 'OP_EXECUTION_TIME_COMMANDS'
reads = 'OP_EXECUTION_TIME_READS'
writes = 'OP_EXECUTION_TIME_WRITES'
scan_and_order = 'OPERATIONS_SCAN_AND_ORDER'
class Oplog

Bases: atlasapi.lib._GetAll

master_time = 'OPLOG_MASTER_TIME'
rate = 'OPLOG_RATE_GB_PER_HOUR'
class QueryExecutor

Bases: atlasapi.lib._GetAll

scanned = 'QUERY_EXECUTOR_SCANNED'
scanned_objects = 'QUERY_EXECUTOR_SCANNED_OBJECTS'
class QueryTargetingScanned

Bases: atlasapi.lib._GetAll

objects_per_returned = 'QUERY_TARGETING_SCANNED_OBJECTS_PER_RETURNED'
per_returned = 'QUERY_TARGETING_SCANNED_PER_RETURNED'
class TicketsAvailable

Bases: atlasapi.lib._GetAll

reads = 'TICKETS_AVAILABLE_READS'
writes = 'TICKETS_AVAILABLE_WRITES'
connections = 'CONNECTIONS'
class atlasapi.measurements.AtlasMeasurementValue(value_dict)

Bases: object

as_dict()
as_tuple

Returns a MeasurementValue as a tuple, timestamp first. :rtype: Tuple[datetime,OptionalFloat] :return: A tuple with a datetime and a float

value_float
value_int

atlasapi.whitelist module

class atlasapi.whitelist.WhitelistEntry(cidrBlock: str = None, comment: str = None, ipAddress: str = None, links: list = None)

Bases: object

as_dict() → dict

Dumps obj as a json valid dict. :return:

classmethod fill_from_dict(data_dict: dict)

Fills the object from the standard Atlas API dictionary. :type data_dict: dict :param data_dict: :return:

atlasapi.errors module

Errors module

Provides all specific Exceptions

exception atlasapi.errors.ErrAtlasBadRequest(c, details)

Bases: atlasapi.errors.ErrAtlasGeneric

Atlas : Bad Request

Constructor

Parameters:
  • c (int) – HTTP code
  • details (dict) – Response payload
exception atlasapi.errors.ErrAtlasConflict(c, details)

Bases: atlasapi.errors.ErrAtlasGeneric

Atlas : Conflict

Constructor

Parameters:
  • c (int) – HTTP code
  • details (dict) – Response payload
exception atlasapi.errors.ErrAtlasDuplicateClusterName(c, details)

Bases: atlasapi.errors.ErrAtlasGeneric

Atlas : Duplicate Clustername

Constructor

Parameters:
  • c (int) – HTTP code
  • details (dict) – Response payload
exception atlasapi.errors.ErrAtlasForbidden(c, details)

Bases: atlasapi.errors.ErrAtlasGeneric

Atlas : Forbidden

Constructor

Parameters:
  • c (int) – HTTP code
  • details (dict) – Response payload
exception atlasapi.errors.ErrAtlasForbiddenWL(c, details)

Bases: atlasapi.errors.ErrAtlasGeneric

Atlas : Forbidden by WhiteList

Constructor

Parameters:
  • c (int) – HTTP code
  • details (dict) – Response payload
exception atlasapi.errors.ErrAtlasGeneric(msg, c, details)

Bases: Exception

Atlas Generic Exception

Constructor

Parameters:
  • msg (str) – Short description of the error
  • c (int) – HTTP code
  • details (dict) – Response payload
getAtlasResponse()

Get details about the Atlas response

Returns:HTTP code, Response payload
Return type:int, str
exception atlasapi.errors.ErrAtlasJobError(c, details)

Bases: atlasapi.errors.ErrAtlasGeneric

Atlas : Job error Clustername

Constructor

Parameters:
  • c (int) – HTTP code
  • details (dict) – Response payload
exception atlasapi.errors.ErrAtlasMethodNotAllowed(c, details)

Bases: atlasapi.errors.ErrAtlasGeneric

Atlas : Method Not Allowed

Constructor

Parameters:
  • c (int) – HTTP code
  • details (dict) – Response payload
exception atlasapi.errors.ErrAtlasNotFound(c, details)

Bases: atlasapi.errors.ErrAtlasGeneric

Atlas : Not Found

Constructor

Parameters:
  • c (int) – HTTP code
  • details (dict) – Response payload
exception atlasapi.errors.ErrAtlasServerErrors(c, details)

Bases: atlasapi.errors.ErrAtlasGeneric

Atlas : Server Errors

Constructor

Parameters:
  • c (int) – HTTP code
  • details (dict) – Response payload
exception atlasapi.errors.ErrAtlasUnauthorized(c, details)

Bases: atlasapi.errors.ErrAtlasGeneric

Atlas : Unauthorized

Constructor

Parameters:
  • c (int) – HTTP code
  • details (dict) – Response payload
exception atlasapi.errors.ErrConfirmationRequested(msg)

Bases: Exception

No Confirmation provided

Constructor

Parameters:msg (str) – Short description of the error
exception atlasapi.errors.ErrPagination

Bases: Exception

An issue occurs during a “Get All” function

exception atlasapi.errors.ErrPaginationLimits(error_code)

Bases: Exception

Out of limit on ‘pageNum’ or ‘itemsPerPage’ parameters

Constructor

Parameters:error_code (int) – ERR_PAGE_NUM or ERR_ITEMS_PER_PAGE
ERR_ITEMS_PER_PAGE = 1
ERR_PAGE_NUM = 0
checkAndRaise(itemsPerPage)

Check and Raise an Exception if needed

Parameters:
  • pageNum (int) – Page number
  • itemsPerPage (int) – Number of items per Page
Raises:

ErrPaginationLimits – If we are out of limits

exception atlasapi.errors.ErrRole

Bases: Exception

A role is not compatible with Atlas

atlasapi.network module

Network module

Module which handles the basic network operations with the Atlas API>

class atlasapi.network.Network(user, password)

Bases: object

Network constructor

Parameters:
  • user (str) – user
  • password (str) – password
answer(c, details: Union[dict, _io.BytesIO])

Answer will provide all necessary feedback for the caller

Parameters:
  • c (int) – HTTP Code
  • details (dict) – Response payload
Returns:

Response payload

Return type:

dict

Raises:
  • ErrAtlasBadRequest
  • ErrAtlasUnauthorized
  • ErrAtlasForbidden
  • ErrAtlasNotFound
  • ErrAtlasMethodNotAllowed
  • ErrAtlasConflict
  • ErrAtlasServerErrors
delete(uri)

Delete request

Parameters:uri (str) – URI
Returns:API response
Return type:Json
Raises:Exception – Network issue
get(uri)

Get request

Parameters:uri (str) – URI
Returns:API response
Return type:Json
Raises:Exception – Network issue
get_file(uri)

Get request which returns a binary file

Parameters:uri (str) – URI
Returns:API response as file
Return type:Binary File
Raises:Exception – Network issue
patch(uri, payload)

Patch request

Parameters:
  • uri (str) – URI
  • payload (dict) – Content to patch
Returns:

API response

Return type:

Json

Raises:

Exception – Network issue

post(uri, payload)

Post request

Parameters:
  • uri (str) – URI
  • payload (dict) – Content to post
Returns:

API response

Return type:

Json

Raises:

Exception – Network issue

atlasapi.settings module

Settings module

Provides few constants, APIs endpoints.

class atlasapi.settings.Settings

Bases: object

ACCEPTED = 202
BAD_REQUEST = 400
BASE_URL = 'https://cloud.mongodb.com'
CONFLICT = 409
CREATED = 201
FORBIDDEN = 403
METHOD_NOT_ALLOWED = 405
NOTFOUND = 404
NO_CONTENT = 204
SERVER_ERRORS = 500
SUCCESS = 200
UNAUTHORIZED = 401
api_resources = {'Alerts': {'Acknowledge an Alert': '/api/atlas/v1.0/groups/%s/alerts/%s', 'Get All Alerts': '/api/atlas/v1.0/groups/%s/alerts?pageNum=%d&itemsPerPage=%d', 'Get All Alerts with status': '/api/atlas/v1.0/groups/%s/alerts?status=%s&pageNum=%d&itemsPerPage=%d', 'Get an Alert': '/api/atlas/v1.0/groups/%s/alerts/%s'}, 'Clusters': {'Advanced Configuration Options': '/api/atlas/v1.0/groups/{GROUP_ID}/clusters/{CLUSTER_NAME}/processArgs', 'Create a Cluster': '/api/atlas/v1.0/groups/{GROUP_ID}/clusters/', 'Delete a Cluster': '/api/atlas/v1.0/groups/%s/clusters/%s', 'Get All Clusters': '/api/atlas/v1.0/groups/%s/clusters?pageNum=%d&itemsPerPage=%d', 'Get a Single Cluster': '/api/atlas/v1.0/groups/%s/clusters/%s', 'Modify a Cluster': '/api/atlas/v1.0/groups/{GROUP_ID}/clusters/{CLUSTER_NAME}', 'Test Failover': '/api/atlas/v1.0/groups/{GROUP_ID}/clusters/{CLUSTER_NAME}/restartPrimaries'}, 'Database Users': {'Create a Database User': '/api/atlas/v1.0/groups/%s/databaseUsers', 'Delete a Database User': '/api/atlas/v1.0/groups/%s/databaseUsers/admin/%s', 'Get All Database Users': '/api/atlas/v1.0/groups/%s/databaseUsers?pageNum=%d&itemsPerPage=%d', 'Get a Single Database User': '/api/atlas/v1.0/groups/%s/databaseUsers/admin/%s', 'Update a Database User': '/api/atlas/v1.0/groups/%s/databaseUsers/admin/%s'}, 'Events': {'Get All Project Events': '/api/atlas/v1.0/groups/{group_id}/events?pageNum={page_num}&itemsPerPage={items_per_page}'}, 'Maintenance Windows': {'Defer Maintenance Window': '/api/atlas/v1.0/groups/{GROUP_ID}/maintenanceWindow/defer', 'Delete Maintenance Window': '/api/atlas/v1.0/groups/{GROUP_ID}/maintenanceWindow', 'Get Maintenance Window': '/api/atlas/v1.0/groups/{GROUP_ID}/maintenanceWindow', 'Update Maintenance Window': '/api/atlas/v1.0/groups/{GROUP_ID}/maintenanceWindow'}, 'Monitoring and Logs': {'Get all processes for group': '/api/atlas/v1.0/groups/{group_id}/processes?pageNum={page_num}&itemsPerPage={items_per_page}', 'Get information for process in group': '/api/atlas/v1.0/groups/%s/processes/%s:&s?pageNum=%d&itemsPerPage=%d', 'Get list of databases for host': '/api/atlas/v1.0/groups/{GROUP-ID}/processes/{HOST}:{PORT}/databases', 'Get list of disks or partitions for host.': '/api/atlas/v1.0/groups/{GROUP-ID}/processes/{HOST}:{PORT}/disks', 'Get measurement for host': '/api/atlas/v1.0/groups/{group_id}/processes/{host}:{port}/measurements?granularity={granularity}&period={period}&m={measurement}', 'Get measurements of database for host.': '/api/atlas/v1.0/groups/{GROUP-ID}/processes/{HOST}:{PORT}/databases/{DATABASE-NAME}/measurements', 'Get measurements of for host': '/api/atlas/v1.0/groups/{GROUP-ID}/processes/{HOST}:{PORT}/disks/{DISK-NAME}/measurements', 'Get the log file for a host in the cluster': '/api/atlas/v1.0/groups/{group_id}/clusters/{host}/logs/{logname}'}, 'Whitelist': {'Create Whitelist Entry': '/api/atlas/v1.0/groups/%s/whitelist', 'Delete Whitelist Entry': '/api/atlas/v1.0/groups/%s/whitelist/%s', 'Get All Whitelist Entries': '/api/atlas/v1.0/groups/%s/whitelist?pageNum=%d&itemsPerPage=%d', 'Get Whitelist Entry': '/api/atlas/v1.0/groups/%s/whitelist/%s'}}
databaseName = 'admin'
file_request_timeout = 360
itemsPerPage = 1000
itemsPerPageMax = 2000
itemsPerPageMin = 1
pageNum = 1
requests_timeout = 10

atlasapi.specs module

Specs module

Provides some high level objects useful to use the Atlas API.

class atlasapi.specs.AlertStatusSpec

Bases: object

Alert Status

CLOSED = 'CLOSED'
OPEN = 'OPEN'
TRACKING = 'TRACKING'
class atlasapi.specs.DatabaseUsersPermissionsSpecs(username: str, password: str, databaseName='admin')

Bases: object

Permissions spec for Database User

Constructor

Parameters:
  • username (str) – Username of the DB
  • password (str) – Password for the username
Keyword Arguments:
 

databaseName (str) – Auth Database Name

add_role(databaseName: str, roleName: str, collectionName: NewType.<locals>.new_type = None)

Add one role

Parameters:
  • databaseName (str :param roleName: :param databaseName: :type collectionName: str) – Database Name
  • roleName (str) – role
Keyword Arguments:
 

collectionName (str) – Collection

Raises:

ErrRole – role not compatible with the databaseName and/or collectionName

add_roles(databaseName: str, roleNames: List[atlasapi.specs.RoleSpecs], collectionName: str = None)

Add multiple roles

Parameters:
  • databaseName (str :param databaseName: Database Name :param roleNames: roles :param collectionName: Collection) – Database Name
  • roleNames (list of RoleSpecs) – roles
Keyword Arguments:
 

collectionName (str) – Collection

Raises:

ErrRoleException – role not compatible with the databaseName and/or collectionName

clear_roles()
getSpecs() → dict

Get specs

Returns:Representation of the object
Return type:dict
remove_role(databaseName, roleName, collectionName=None)

Remove one role

Parameters:
  • databaseName (str) – Database Name
  • roleName (RoleSpecs) – role
Keyword Arguments:
 

collectionName (str) – Collection

remove_roles(databaseName, roleNames, collectionName=None)

Remove multiple roles

Parameters:
  • databaseName (str) – Database Name
  • roleNames (list of RoleSpecs) – roles
Keyword Arguments:
 

collectionName (str) – Collection

class atlasapi.specs.DatabaseUsersUpdatePermissionsSpecs(password=None)

Bases: atlasapi.specs.DatabaseUsersPermissionsSpecs

Update Permissions spec for Database User

Constructor

Keyword Arguments:
 password (str) – Password for the username
getSpecs()

Get specs

Returns:Representation of the object
Return type:dict
class atlasapi.specs.Host(data)

Bases: object

An Atlas Host

Parameters:data (dict) – An Atlas format host data dictionary.
created

The datetime the host was created.

Type:datetime
group_id

The Atlas group(project) id that this host belongs to

Type:str
hostname

The fqdn hostname

Type:str
id

The internal atlas id of the host.

Type:str
last_ping

The datetime of the last Automation Agent ping

Type:Union[datetime,str]

A list of internal reference links for the host

Type:List[str]
port

The TCP port the instance is running on.

Type:int
replica_set_name

The name of the replica set running on the instance

Type:str
type

The type of replica set this intstance is a member of

Type:ReplicaSetTypes
measurements (Optional[List[AtlasMeasurement]]

Holds list of host Measurements

cluster_name

The cluster name (taken from the hostname)

Type:str
log_files

Holds list of log files when requested.

Type:Optional[List[HostLogFile]]
add_log_file(name: atlasapi.lib.AtlasLogNames, file: BinaryIO) → None

Adds the passed log file to the hosts object

Parameters:
  • name (AtlasLogNames) – The type of logfile to be appended.
  • file (BinaryIO) – The file to be appended
add_measurements(measurement) → None
get_measurement_for_host(granularity: atlasapi.lib.AtlasGranularities = 'PT1H', period: atlasapi.lib.AtlasPeriods = 'P7D', measurement: atlasapi.measurements.AtlasMeasurementTypes = 'CACHE_DIRTY_BYTES', pageNum: int = 1, itemsPerPage: int = 1000, iterable: bool = True) → Union[dict, Iterable[atlasapi.measurements.AtlasMeasurement]]

Get measurement(s) for a host

Returns measurements for the Host object.

url: https://docs.atlas.mongodb.com/reference/api/process-measurements/

Accepts either a single measurement, but will retrieve more than one measurement if the measurement (using the AtlasMeasurementTypes class)

/api/atlas/v1.0/groups/{GROUP-ID}/processes/{HOST}:{PORT}/measurements

Keyword Arguments:
 
  • host_obj (Host) – the host
  • granularity (AtlasGranularities) – the desired granularity
  • period (AtlasPeriods) – The desired period
  • measurement (AtlasMeasurementTypes) – The desired measurement or Measurement class
  • pageNum (int) – Page number
  • itemsPerPage (int) – Number of Users per Page
  • iterable (bool) – To return an iterable high level object instead of a low level API response
Returns:

Iterable object representing this function OR Response payload

Return type:

Iterable[AtlasMeasurement] or dict

Raises:

ErrPaginationLimits – Out of limits

class atlasapi.specs.HostLogFile(log_name: atlasapi.lib.AtlasLogNames = None, log_file_binary: BinaryIO = None)

Bases: object

class atlasapi.specs.ReplicaSetTypes

Bases: enum.Enum

An enumeration.

NO_DATA = 'No data available'
RECOVERING = 'Recovering'
REPLICA_PRIMARY = 'ReplicaSet primary'
REPLICA_SECONDARY = 'ReplicaSet secondary'
SHARD_CONFIG = 'Config server'
SHARD_CONFIG_PRIMARY = 'Config server'
SHARD_CONFIG_SECONDARY = 'Config server'
SHARD_MONGOS = 'Mongos router'
SHARD_PRIMARY = 'Shard primary'
SHARD_SECONDARY = 'Shard secondary'
SHARD_STANDALONE = 'Standalone'
class atlasapi.specs.RoleSpecs

Bases: object

Roles supported by Atlas

atlasAdmin = 'atlasAdmin'
backup = 'backup'
clusterMonitor = 'clusterMonitor'
dbAdmin = 'dbAdmin'
dbAdminAnyDatabase = 'dbAdminAnyDatabase'
enableSharding = 'enableSharding'
read = 'read'
readAnyDatabase = 'readAnyDatabase'
readWrite = 'readWrite'
readWriteAnyDatabase = 'readWriteAnyDatabase'

atlasapi.maintenance_window module

Maint Window Module

The maintenanceWindow resource provides access to retrieve or update the current Atlas project maintenance window. To learn more about Maintenance Windows, see the Set Preferred Cluster Maintenance Start Time setting on the View/Modify Project Settings page.

class atlasapi.maintenance_window.MaintenanceWindow(day_of_week: atlasapi.maintenance_window.Weekdays = <Weekdays.SUNDAY: 1>, hour_of_day: int = 23, number_of_deferrals: int = 1, start_asap: bool = False)

Bases: object

as_dict() → dict

Returns the Maintenance object as a serializable dict

Converts enums Returns:

as_update_dict() → dict

Returns a dict with immutable properties removed. Returns: dict

classmethod from_dict(data_dict: dict)

Creates a maint window definition from a dict. :param data_dict: An atlas formated dict

Returns:

class atlasapi.maintenance_window.Weekdays

Bases: enum.Enum

An enumeration.

FRIDAY = 6
MONDAY = 2
SATURDAY = 7
SUNDAY = 1
THURSDAY = 5
TUESDAY = 3
WEDNESDAY = 4

atlasapi.lib module

class atlasapi.lib.AtlasGranularities

Bases: object

Helper class to create ISO 8601 durations to pass to the API

To add more possible granularities, add them here.

DAY = 'P1D'
FIVE_MINUTE = 'PT5M'
HOUR = 'PT1H'
MINUTE = 'PT1M'
class atlasapi.lib.AtlasLogNames

Bases: enum.Enum

The name of the log file that you want to retrieve:

MONGODB = 'mongodb.gz'
MONGOD_AUDIT = 'mongodb-audit-log.gz'
MONGOS = 'mongos.gz'
MONGOS_AUDIT = 'mongos-audit-log.gz'
class atlasapi.lib.AtlasPeriods

Bases: object

Helper class to create ISO 8601 durations to send to the Atlas period parameter.

To add more periods, add them here.

HOURS_1 = 'PT1H'
HOURS_24 = 'P1D'
HOURS_48 = 'P2D'
HOURS_8 = 'PT8H'
MINUTES_15 = 'PT15M'
MONTHS_1 = 'P1M'
MONTHS_2 = 'P2M'
WEEKS_1 = 'P7D'
WEEKS_4 = 'P28D'
YEARS_1 = 'P1Y'
YEARS_2 = 'P2Y'
class atlasapi.lib.AtlasUnits

Bases: enum.Enum

An enumeration.

BYTES = 'BYTES'
BYTES_PER_SECOND = 'BYTES_PER_SECOND'
GIGABYTES = 'GIGABYTES'
GIGABYTES_PER_HOUR = 'GIGABYTES_PER_HOUR'
MEGABYTES_PER_SECOND = 'MEGABYTES_PER_SECOND'
MILLISECONDS = 'MILLISECONDS'
PERCENT = 'PERCENT'
SCALAR = 'SCALAR'
SCALAR_PER_SECOND = 'SCALAR_PER_SECOND'
class atlasapi.lib.LogLine(raw_line)

Bases: object