Navigation
This version of the documentation is archived and no longer supported. It will be removed on EOL_DATE. To learn how to upgrade your version of MongoDB Ops Manager, refer to the upgrade documentation.
You were redirected from a different version of the documentation. Click here to go back.
This version of the manual is no longer supported. It will be removed on EOL_DATE.

Machine Configuration Options

Note

Groups and projects are synonymous terms. Your {GROUP-ID} is the same as your project id. For existing groups, your group/project id remains the same. This page uses the more familiar term group when referring to descriptions. The endpoint remains as stated in the document.

The machineConfigOptions resource displays the cloud service providers you have integrated with Ops Manager and provides endpoints to retrieve the available configuration options for a provider.

For more information on Ops Manager integration with cloud service providers, see Provision Servers.

Base URL: https://{OPSMANAGER-HOST}:{PORT}/api/public/v1.0

Endpoints

Get Endpoints for Available Cloud Service Providers

This returns the endpoints of the service providers for which you can retrieve configuration options.

GET /groups/GROUP-ID/machineConfigOptions

Get Machine Configurations Options for a Service Provider

PROVIDER-NAME is a service provider. See Get Endpoints for Available Cloud Service Providers.

GET /groups/GROUP-ID/machineConfigOptions/PROVIDER-NAME

Get Machine Configurations Options for a Service Provider and Region

PROVIDER-NAME is a service provider. See Get Endpoints for Available Cloud Service Providers. REGION is a region value for that service provider.

GET /groups/GROUP-ID/machineConfigOptions/PROVIDER-NAME?region=REGION-NAME

Sample Entity

When you retrieve the configuration options for a service provider, the returned entity will include all available configuration options for your integration with that provider. For example, for AWS, the hvmInstanceTypes array contains an object for every available AWS instance type.

The following is an example entity for an AWS machine configuration.

{
  "availabilityZoneNames": [
    "AWS_US_EAST_1A",
    ...
  ],
  "availableRegionNames": [
    "AWS_US_EAST_1",
    ...
  ],
  "fileSystemTypeNames": [
    "XFS",
    ...
  ],
  "hvmInstanceTypes": [
    {
      "canEncryptVolumes": false,
      "canOptimizeVolumes": false,
      "ec2ClassicCompatible": false,
      "memoryGB": 2.0,
      "name": "AWS_T2_SMALL",
      "networkPerformance": "Low to Moderate",
      "numPhysicalDisks": 0,
      "physicalDiskSSD": false,
      "sizePerPhysicalDiskGB": 0,
      "vCPUs": 1
    },
    ...
  ],
  "machineImages": [
    {
      "imageId": "ami-60b6c60a",
      "osName": "AMAZON_LINUX",
      "osVersion": "2015.09.1",
      "virtualizationTypeName": "HVM"
    },
    ...
  ],
  "maxIOPS" : 20000,
  "maxRootVolSizeGB" : 2047,
  "minIOPS" : 100,
  "minRootVolSizeGB" : 8,
  "possibleVolumeNames": [
    "/dev/sdf",
    ...
  ],
  "pvInstanceTypes": [
    {
      "canEncryptVolumes": true,
      "canOptimizeVolumes": false,
      "ec2ClassicCompatible": true,
      "memoryGB": 3.75,
      "name": "AWS_M3_MEDIUM",
      "networkPerformance": "Moderate",
      "numPhysicalDisks": 1,
      "physicalDiskSSD": true,
      "sizePerPhysicalDiskGB": 4,
      "vCPUs": 1
    },
    ...
  ],
  "regionHasEC2Classic" : true,
  "securityGroups": [
    {
      "available": false,
      "name": "sales",
      "securityGroupId": "sg-abc2abc4"
    },
    ...
  ],
  "sshKeys": [
    {
      "id": "54c7a8bee4b0b5a9451be44e",
      "links" : [],
      "name": "myKey",
      "publicKey": "<ssh-key>"
    },
    ...
  ],
  "vpcs": [
    {
      "available": true,
      "cidrBlock": "10.0.0.0/16",
      "subnets": [
        {
          "availabilityZoneName": "AWS_US_EAST_1A",
          "available": true,
          "cidrBlock": "10.0.0.0/24",
          "subnetId": "subnet-ebd2d79f"
        }
      ],
      "vpcId": "vpc-035ebd66",
      "vpcName": ""
    },
    ...
  ],
  "links" : []
}

Entity Fields

The following table describes the top-level fields returned when for an AWS machine configuration. For fuller descriptions of the AWS options, please see the AWS Documentation.

Name Type Description
availabilityZoneNames string array Lists AWS availability zones.
availableRegionNames string array Lists regions within AWS availability zones.
fileSystemTypeNames string array The file system used for storing files on disk.
hvmInstanceTypes object array The available hardware virtual machines (HVM).
machineImages object array The available Amazon machine images (AMI).
maxIOPS number The maximum input/output operations per second.
maxRootVolSizeGB number Defines the upper limit of the root volume size.
minIOPS number The minimum input/output operations per second.
minRootVolSizeGB number Defines the lower limit of the root volume size.
possibleVolumeNames string array Available devices names for attached storage.
pvInstanceTypes object array The available paravirtual (PV) instances.
regionHasEC2Classic Boolean Indicates whether the region supports the EC2-Classic platform.
securityGroups object array The available AWS security groups, used for setting firewall rules.
sshKeys object array The public keys available to provision new AWS instances.
vpcs object array The available AWS virtual private clouds.

Examples

Get Endpoints for Available Cloud Service Providers

Request

curl -u "username:apiKey" --digest -i "https://cloud.mongodb.com/api/public/v1.0/groups/5421e044e4b09da19248b17f/machineConfigOptions"

Response

Response Header

HTTP/1.1 401 Unauthorized
Content-Type: application/json;charset=ISO-8859-1
Date: {dateInUnixFormat}
WWW-Authenticate: Digest realm="MMS Public API", domain="", nonce="{nonce}", algorithm=MD5, op="auth", stale=false
Content-Length: {requestLengthInBytes}
Connection: keep-alive
HTTP/1.1 200 OK
Vary: Accept-Encoding
Content-Type: application/json
Strict-Transport-Security: max-age=300
Date: {dateInUnixFormat}
Connection: keep-alive
Content-Length: {requestLengthInBytes}

Response Body

{
  "links" : [
    ...,
    {
      "href" : "https://cloud.mongodb.com/api/public/v1.0/groups/5421e044e4b09da19248b17f/machineConfigOptions/AWS",
      "rel" : "http://mms.mongodb.com/machineConfigOptions"
    }
  ]
}

Get Machine Configurations Options for a Given Provider

The following retrieves the machine configuration options for Amazon Web Services.

Request

curl -u "username:apiKey" --digest -i "https://cloud.mongodb.com/api/public/v1.0/groups/5421e044e4b09da19248b17f/machineConfigOptions/AWS"

Response

Response Header

HTTP/1.1 401 Unauthorized
Content-Type: application/json;charset=ISO-8859-1
Date: {dateInUnixFormat}
WWW-Authenticate: Digest realm="MMS Public API", domain="", nonce="{nonce}", algorithm=MD5, op="auth", stale=false
Content-Length: {requestLengthInBytes}
Connection: keep-alive
HTTP/1.1 200 OK
Vary: Accept-Encoding
Content-Type: application/json
Strict-Transport-Security: max-age=300
Date: {dateInUnixFormat}
Connection: keep-alive
Content-Length: {requestLengthInBytes}

Response Body

{
  "availabilityZoneNames" : [
    "AWS_US_EAST_1A",
    "AWS_US_EAST_1B",
    ...
  ],
  "availableRegionNames" : [
    "AWS_US_EAST_1",
    "AWS_US_WEST_1",
    ...
  ],
  "fileSystemTypeNames" : [
    "XFS",
    "EXT4",
    "NTFS"
  ],
  "hvmInstanceTypes" : [
    {
      "canEncryptVolumes" : false,
      "canOptimizeVolumes" : false,
      "ec2ClassicCompatible" : false,
      "memoryGB" : 2.0,
      "name" : "AWS_T2_SMALL",
      "networkPerformance" : "Low to Moderate",
      "numPhysicalDisks" : 0,
      "physicalDiskSSD" : false,
      "sizePerPhysicalDiskGB" : 0,
      "vCPUs" : 1
    },
    ...
  ],
  "machineImages" : [
    {
      "imageId" : "ami-60a6b60c",
      "osName" : "AMAZON_LINUX",
      "osVersion" : "2015.09.1",
      "virtualizationTypeName" : "HVM"
    },
    ...
  ],
  "maxIOPS" : 20000,
  "maxRootVolSizeGB" : 2047,
  "minIOPS" : 100,
  "minRootVolSizeGB" : 8,
  "possibleVolumeNames" : [
    "/dev/sdf",
    "/dev/sdg",
    ...
  ],
  "pvInstanceTypes" : [
    {
      "canEncryptVolumes" : true,
      "canOptimizeVolumes" : false,
      "ec2ClassicCompatible" : true,
      "memoryGB" : 3.75,
      "name" : "AWS_M3_MEDIUM",
      "networkPerformance" : "Moderate",
      "numPhysicalDisks" : 1,
      "physicalDiskSSD" : true,
      "sizePerPhysicalDiskGB" : 4,
      "vCPUs" : 1
    },
    ...
  ],
  "regionHasEC2Classic" : true,
  "securityGroups" : [
    {
      "available" : true,
      "name" : "mms",
      "securityGroupId" : "sg-abc2abc4"
    },
    ...
  ],
  "sshKeys" : [
    {
      "id" : "54c7a8bee4b0b5a9451be44e",
      "links" : [],
      "name" : "myKey",
      "publicKey" : "<ssh-key>"
    },
    ...
  ],
  "vpcs" : [
    {
      "available" : false,
      "cidrBlock" : "10.93.0.0/16",
      "subnets" : [
        {
          "availabilityZoneName" : "AWS_US_EAST_1A",
          "available" : true,
          "cidrBlock" : "10.93.5.0/24",
          "subnetId" : "subnet-78953b03"
        }
      ],
      "vpcId" : "vpc-63abc123",
      "vpcName" : ""
    },
    ...
  ],
  "links" : []
}

Get Machine Configurations Options for a Given Provider and Region

The following retrieves the machine configuration options for Amazon Web Services for the AWS_US_WEST_1 region.

Request

curl -u "username:apiKey" --digest -i "https://cloud.mongodb.com/api/public/v1.0/groups/5421e044e4b09da19248b17f/machineConfigOptions/AWS?region=AWS_US_WEST_1"

Response

The following example shows only the top-level fields of the return document.

Response Header

HTTP/1.1 401 Unauthorized
Content-Type: application/json;charset=ISO-8859-1
Date: {dateInUnixFormat}
WWW-Authenticate: Digest realm="MMS Public API", domain="", nonce="{nonce}", algorithm=MD5, op="auth", stale=false
Content-Length: {requestLengthInBytes}
Connection: keep-alive
HTTP/1.1 200 OK
Vary: Accept-Encoding
Content-Type: application/json
Strict-Transport-Security: max-age=300
Date: {dateInUnixFormat}
Connection: keep-alive
Content-Length: {requestLengthInBytes}

Response Body

 {
   "availabilityZoneNames" : [ "AWS_US_WEST_1A", "AWS_US_WEST_1C" ],
   "availableRegionNames" : [ "AWS_US_EAST_1", "AWS_US_WEST_1", ... ],
   "fileSystemTypeNames" : [ "XFS", "EXT4", "NTFS" ],
   "hvmInstanceTypes" : [ ... ],
   "machineImages" : [ ... ],
   "maxIOPS" : 20000,
   "maxRootVolSizeGB" : 2047,
   "minIOPS" : 100,
   "minRootVolSizeGB" : 8,
   "possibleVolumeNames" : [ "/dev/sdf", "/dev/sdg", ... ],
   "pvInstanceTypes" : [ ... ],
   "regionHasEC2Classic" : false,
   "securityGroups" : [ ... ],
   "sshKeys" : [ ... ],
   "vpcs" : [ ... ],
   "links" : []
}