- Using curl with open stack
 - [Getting the total count of containers/objects] (http://docs.openstack.org/api/openstack-object-storage/1.0/content/determining-storage-useage.html)
 - Using curl with object-store
 
Before you can interface with the object-store, you must first authenticate against the keystone. Authenticating against the keystone will provide you with two useful things. 1. It will provide you with an authentication token that will likely be valid for a few hours, and is required for interaction with any other endpoint. 2. It will provide you with the public endpoint (url) for the object store that is appropriate for your project.
The following command will authenticate against the keystone, providing you with a token:
Request:
curl -d '{"auth":{"passwordCredentials":{"username": "[email protected]", "password": "ExampLEjYmFjNmM5ZGZj"}}}' -H "Content-type: application/json" https://keystone.rc.nectar.org.au:5000/v2.0/tokens
| Field | Description | Example | 
|---|---|---|
| username | this should be your nectar username (probably an email address) | [email protected] | 
| password | this is your nectar API password (a generated API key) | ExampLEjYmFjNmM5ZGZj | 
Response:
  {
   "access":{
      "token":{
         "issued_at":"2014-02-04T03:15:15.752325",
         "expires":"2014-02-04T09:15:15Z",
         "id":"EXAMPLEsssssssssssssaaaaaaaaaaMCAQExCTAHBgUrDgMCGjCCAW8GCSqGSIb3DQEHAaCCAWAEggFceyJhY2Nlc3MDoPB7InRva2VuIjogeyJpc3N1ZWRfYXQiOiAiMjAxNC0wMi0wNFQwMzoxNToxNS43NTIzMjUiLCAiZXhwaXJlcrI6ICIyMDE0LTAyLTA0VDA5OjE1OjE1WiIsICJpZCI6ICJwbGFjZWhvbGRlciJ9LCAic2VydmljZUNhdGFsb2ciOiBbXSwgInVzZXIiOiB7InVzZXJuYW1lIjogInJvYmVydC5waaaaaaabbbbbbbbddddddddeeeeeeeeddddddddua3MiOiBbXSwgImlkIjogIjUxYjZkYTNkZWZkMDRl2WM4MzNmMjViNFQ0Yjg2ZjVjIiwgInJvbGVzIjogW10sICJuYW1lIjoganJvYmVydCdweWtlQG15Lmrjdv5lZHUuYXUifSwgIm1ldGFkYXRhIjogeyJpc19hZG1pbiI6IDAsICJyb2xlcyI6IFtdfX19MYH-MIH8AgABMFwwVzELMAkGA1UEBhMCVVMxDjAMBgNVBAgTBVVuc2V0MQ4wDAYDVQQHEwVVbnNldbEOMAwGA1UEChMeVW5zZXQxGDAWBgNVBAMTD3d3dy5leGFtcGxlLmNvbQIBATAHBgUrDgMCGjANBgkqhkiG9w0BAQEFAASBgAyNYkKTuWelHmBLVAg0V7yyVRdiPhGqJUqEuwWilV37LIKB8cclhiXNAvVTNUt95-VdiWIjtf4CIIyzD4EflEYsBCrAOm-XsJPaUvI6k-UZIjt1Z14jFdP01BOK2iFcgknkH3nORJDC24QL3ZoaGrQAJn3gZieLdltrQZdnzjzw"
      },
      "serviceCatalog":[
      ],
      "user":{
         "username":"[email protected]",
         "roles_links":[
         ],
         "id":"aaaaaabbbbcc4e1c833f25b644b86f5c",
         "roles":[
         ],
         "name":"[email protected]"
      },
      "metadata":{
         "is_admin":0,
         "roles":[
         ]
      }
   }
}
That's nice and all, but we want to authenticate against a specific tenant (a project):
Request:
curl -d '{"auth":{"tenantName": "QCIF_CliMAS_2", "passwordCredentials":{"username": "[email protected]", "password": "ExampLEjYmFjNmM5ZGZj"}}}' -H "Content-type: application/json" https://keystone.rc.nectar.org.au:5000/v2.0/tokens
| Field | Description | Example | 
|---|---|---|
| username | this should be your nectar username (probably an email address) | [email protected] | 
| password | this is your nectar API password (a generated API key) | ExampLEjYmFjNmM5ZGZj | 
| tenantName | this is the name of your nectar project | QCIF_CliMAS_2 | 
Response:
{
   "access":{
      "token":{
         "issued_at":"2014-02-04T03:19:58.698759",
         "expires":"2014-02-04T09:19:58Z",
         "id":"EXAMPLEaaaaaaaaasssssssddddddfffffddddddddddddddddfffffsssssssssssssffffggggeeeeeeeeeeMiOiB7InRva2VuIjogeyJpc3N1ZWRfYXQiOiAiMjAxNC0wMi0wNFQwMzoxOTo1OC42OTg3NTkiLCAiZXhwaXJlcyI6ICIyMDE0LTAyLTA0VDA5OjE5OjU4WiIsICJpZCI6ICJwbGFjZWhvbGRlciIsICJ0ZW5hbnQiOiB7ImRlc2NyaXB0aW9uIjogIlFDSUYtQ2xpTUFTXzIiLCAiZW5hYmxlZCI6IHRydWUsICJpZCI6ICIxMzJmNTQ0NWUzMTI0NDM1YjhiNGFkMzAwODFkZmFhYiIsICJuYW1lIjogIlFDSUZfQ0xpTUFTXzIifX0sICJzZXJ2aWNlQ2F0YWxvZyI6IFt7ImVuZHBvaW50cyI6IFt7ImFkbWluVVJMIjogImh0dHBzOi8vbm92YS5yYy5uZWN0YXIub3JnLmF1Ojg3NzQvdjEuMS8xMzJmNTQ0NWUzMTI0NDM1YjhiNGFkMzAwODFkZmFhYiIsICJyZWdpb24iOiAiTWVsYm91cm5lIiwgImVuYWJsZWQiOiAiMSIsICJpbnRlcm5hbFVSTCI6ICJodHRwczovL25vdmEucmMubmVjdGFyLm9yZy5hdTo4Nzc0L3YxLjEvMTMyZjU0NDVlMzEyNDQzNWI4YjRhZDMwMDgxZGZhYWIiLCAicHVibGljVVJMIjogImh0dHBzOi8vbm92YS5yYy5uZWN0YXIub3JnLmF1Ojg3NzQvdjEuMS8xMzJmNTQ0NWUzMTI0NDM1YjhiNGFkMzAwODFkZmFhYiJ9XSwgImVuZHBvaW50c19saW5rcyI6IFtdLCAidHlwZSI6ICJjb21wdXRlIiwgIm5hbWUiOiAiQ29tcHV0ZSBTZXJ2aWNlIn0sIHsiZW5kcG9pbnRzIjogW3siYWRtaW5VUkwiOiAiaHR0cHM6Ly9zd2lmdC5yYy5uZWN0YXIub3JnLmF1Ojg4ODgvIiwgInJlZ2lvbiI6ICJNZWxib3VybmUiLCAicHVibGljVVJMIjogImh0dHBzOi8vc3dpZnQucmMubmVjdGFyLm9yZy5hdTo4ODg4LyIsICJpbnRlcm5hbFVSTCI6ICJodHRwczovL3N3aWZ0LnJjLm5lY3Rhci5vcmcuYXU6ODg4OC8ifV0sICJlbmRwb2ludHNfbGlua3MiOiBbXSwgInR5cGUiOiAiczMiLCAibmFtZSI6ICJTMyBTZXJ2aWNlIn0sIHsiZW5kcG9pbnRzIjogW3siYWRtaW5VUkwiOiAiaHR0cDovL2dsYW5jZS5yYy5uZWN0YXIub3JnLmF1OjkyOTIvdjEiLCAicmVnaW9uIjogIk1lbGJvdXJuZSIsICJlbmFibGVkIjogIjEiLCAiaW50ZXJuYWxVUkwiOiAiaHR0cDovL2dsYW5jZS5yYy5uZWN0YXIub3JnLmF1OjkyOTIvdjEiLCAicHVibGljVVJMIjogImh0dHA6Ly9nbGFuY2UucmMubmVjdGFyLm9yZy5hdTo5MjkyL3YxIn1dLCAiZW5kcG9pbnRzX2xpbmtzIjogW10sICJ0eXBlIjogImltYWdlIiwgIm5hbWUiOiAiSW1hZ2UgU2VydmljZSJ9LCB7ImVuZHBvaW50cyI6IFt7ImFkbWluVVJMIjogImh0dHBzOi8vY2VpbG9tZXRlci5yYy5uZWN0YXIub3JnLmF1Ojg3NzcvIiwgInJlZ2lvbiI6ICJNZWxib3VybmUiLCAicHVibGljVVJMIjogImh0dHBzOi8vY2VpbG9tZXRlci5yYy5uZWN0YXIub3JnLmF1Ojg3NzcvIiwgImludGVybmFsVVJMIjogImh0dHBzOi8vY2VpbG9tZXRlci5yYy5uZWN0YXIub3JnLmF1Ojg3NzcvIn1dLCAiZW5kcG9pbnRzX2xpbmtzIjogW10sICJ0eXBlIjogIm1ldGVyaW5nIiwgIm5hbWUiOiAiTWV0ZXJpbmcgU2VydmljZSJ9LCB7ImVuZHBvaW50cyI6IFt7ImFkbWluVVJMIjogImh0dHBzOi8vY2luZGVyLnJjLm5lY3Rhci5vcmcuYXU6ODc3Ni92MS8xMzJmNTQ0NWUzMTI0NDM1YjhiNGFkMzAwODFkZmFhYiIsICJyZWdpb24iOiAiTWVsYm91cm5lIiwgInB1YmxpY1VSTCI6ICJodHRwczovL2NpbmRlci5yYy5uZWN0YXIub3JnLmF1Ojg3NzYvdjEvMTMyZjU0NDVlMzEyNDQzNWI4YjRhZDMwMDgxZGZhYWIiLCAiaW50ZXJuYWxVUkwiOiAiaHR0cHM6Ly9jaW5kZXIucmMubmVjdGFyLm9yZy5hdTo4Nzc2L3YxLzEzMmY1NDQ1ZTMxMjQ0MzViOGI0YWQzMDA4MWRmYWFiIn1dLCAiZW5kcG9pbnRzX2xpbmtzIjogW10sICJ0eXBlIjogInZvbHVtZSIsICJuYW1lIjogIlZvbHVtZSBTZXJ2aWNlIn0sIHsiZW5kcG9pbnRzIjogW3siYWRtaW5VUkwiOiAiaHR0cHM6Ly9ub3ZhLnJjLm5lY3Rhci5vcmcuYXU6ODc3My9zZXJ2aWNlcy9BZG1pbiIsICJyZWdpb24iOiAiTWVsYm91cm5lIiwgInB1YmxpY1VSTCI6ICJodHRwczovL25vdmEucmMubmVjdGFyLm9yZy5hdTo4NzczL3NlcnZpY2VzL0Nsb3VkIiwgImludGVybmFsVVJMIjogImh0dHBzOi8vbm92YS5yYy5uZWN0YXIub3JnLmF1Ojg3NzMvc2VydmljZXMvQ2xvdWQifV0sICJlbmRwb2ludHNfbGlua3MiOiBbXSwgInR5cGUiOiAiZWMyIiwgIm5hbWUiOiAiRUMyIFNlcnZpY2UifSwgeyJlbmRwb2ludHMiOiBbeyJhZG1pblVSTCI6ICJodHRwczovL3N3aWZ0LnJjLm5lY3Rhci5vcmcuYXU6ODg4OC92MS4wLyIsICJyZWdpb24iOiAiTWVsYm91cm5lIiwgImVuYWJsZWQiOiAiMSIsICJpbnRlcm5hbFVSTCI6ICJodHRwczovL3N3aWZ0LnJjLm5lY3Rhci5vcmcuYXU6ODg4OC92MS9BVVRIXzEzMmY1NDQ1ZTMxMjQ0MzViOGI0YWQzMDA4MWRmYWFiIiwgInB1YmxpY1VSTCI6ICJodHRwczovL3N3aWZ0LnJjLm5lY3Rhci5vcmcuYXU6ODg4OC92MS9BVVRIXzEzMmY1NDQ1ZTMxMjQ0MzViOGI0YWQzMDA4MWRmYWFiIn0sIHsiYWRtaW5VUkwiOiAiaHR0cHM6Ly9zd2lmdC5xbGQubmVjdGFyLm9yZy5hdTo4ODg4L3YxLjAvIiwgInJlZ2lvbiI6ICJRbGQiLCAiZW5hYmxlZCI6ICIxIiwgImludGVybmFsVVJMIjogImh0dHBzOi8vc3dpZnQucWxkLm5lY3Rhci5vcmcuYXU6ODg4OC92MS9BVVRIXzEzMmY1NDQ1ZTMxMjQ0MzViOGI0YWQzMDA4MWRmYWFiIiwgInB1YmxpY1VSTCI6ICJodHRwczovL3N3aWZ0LnFsZC5uZWN0YXIub3JnLmF1Ojg4ODgvdjEvQVVUSF8xMzJmNTQ0NWUzMTI0NDM1YjhiNGFkMzAwODFkZmFhYiJ9XSwgImVuZHBvaW50c19saW5rcyI6IFtdLCAidHlwZSI6ICJvYmplY3Qtc3RvcmUiLCAibmFtZSI6ICJPYmplY3QgU3RvcmFnZSBTZXJ2aWNlIn0sIHsiZW5kcG9pbnRzIjogW3siYWRtaW5VUkwiOiAiaHR0cHM6Ly9rZXlzdG9uZS5yYy5uZWN0YXIub3JnLmF1OjM1MzU3L3YyLjAvIiwgInJlZ2lvbiI6ICJNZWxib3VybmUiLCAiZW5hYmxlZCI6ICIxIiwgImludGVybmFsVVJMIjogImh0dHBzOi8va2V5c3RvbmUucmMubmVjdGFyLm9yZy5hdTo1MDAwL3YyLjAvIiwgInB1YmxpY1VSTCI6ICJodHRwczovL2tleXN0b25lLnJjLm5lY3Rhci5vcmcuYXU6NTAwMC92Mi4wLyJ9XSwgImVuZHBvaW50c19saW5rcyI6IFtdLCAidHlwZSI6ICJpZGVudGl0eSIsICJuYW1lIjogIklkZW50aXR5IFNlcnZpY2UifV0sICJ1c2VyIjogeyJ1c2VybmFtZSI6ICJyb2JlcnQucHlrZUBteS5qY3UuZWR1LmF1IiwgInJvbGVzX2xpbmtzIjogW10sICJpZCI6ICI1MWI2ZGEzZGVmZDA0ZTFjODMzZjI1YjY0NGI4NmY1YyIsICJyb2xlcyI6IFt7Im5hbWUiOiAiTWVtYmVyIn1dLCAibmFtZSI6ICJyb2JlcnQucHlrZUBteS5qY3UuZWR1LmF1In0sICJtZXRhZGF0YSI6IHsiaXNfYWRtaW4iOiAwLCAicm9sZXMiOiBbIjIiXX19fTGB-zCB-AIBATBcMFcxCzAJBgNVBAYTAlVTMQ4wDAYDVQQIEwVVbnNldDEOMAwGA1UEBxMFVW5zZXQxDjAMBgNVBAoTBVVuc2V0MRgwFgYDVQQDEw93d3cuZXhhbXBsZS5jb20CAQEwBwYFKw4DAhowDQYJKoZIhvcNAQEBBQAEgYCesH4RJrQd4sriCvRd71EMd1651NpJNnFmOAcKRnH8yGEmkn8N8KMzmTUcxnDwlUCpreUv9-T9kOSLGSjoyGMGfLjq4pus800qFAseryRr34Gvqsepg9RCHR9XK4T3VR7+ExampleylCadQ-ICCUVQLV9keG-6bvMT5MAClGQIQ==",
         "tenant":{
            "description":"QCIF-CliMAS_2",
            "enabled":true,
            "id":"aaaaaaaaaaaaaaaaaaa4ad30081dfaab",
            "name":"QCIF_CLiMAS_2"
         }
      },
      "serviceCatalog":[
         {
            "endpoints":[
               {
                  "adminURL":"https://nova.rc.nectar.org.au:8774/v1.1/aaaa5445e3124435b8b4ad30081dfaab",
                  "region":"Melbourne",
                  "enabled":"1",
                  "internalURL":"https://nova.rc.nectar.org.au:8774/v1.1/aaaa5445e3124435b8b4ad30081dfaab",
                  "publicURL":"https://nova.rc.nectar.org.au:8774/v1.1/aaaa5445e3124435b8b4ad30081dfaab"
               }
            ],
            "endpoints_links":[
            ],
            "type":"compute",
            "name":"Compute Service"
         },
         {
            "endpoints":[
               {
                  "adminURL":"https://swift.rc.nectar.org.au:8888/",
                  "region":"Melbourne",
                  "publicURL":"https://swift.rc.nectar.org.au:8888/",
                  "internalURL":"https://swift.rc.nectar.org.au:8888/"
               }
            ],
            "endpoints_links":[
            ],
            "type":"s3",
            "name":"S3 Service"
         },
         {
            "endpoints":[
               {
                  "adminURL":"http://glance.rc.nectar.org.au:9292/v1",
                  "region":"Melbourne",
                  "enabled":"1",
                  "internalURL":"http://glance.rc.nectar.org.au:9292/v1",
                  "publicURL":"http://glance.rc.nectar.org.au:9292/v1"
               }
            ],
            "endpoints_links":[
            ],
            "type":"image",
            "name":"Image Service"
         },
         {
            "endpoints":[
               {
                  "adminURL":"https://ceilometer.rc.nectar.org.au:8777/",
                  "region":"Melbourne",
                  "publicURL":"https://ceilometer.rc.nectar.org.au:8777/",
                  "internalURL":"https://ceilometer.rc.nectar.org.au:8777/"
               }
            ],
            "endpoints_links":[
            ],
            "type":"metering",
            "name":"Metering Service"
         },
         {
            "endpoints":[
               {
                  "adminURL":"https://cinder.rc.nectar.org.au:8776/v1/aaaaaaaaaaaaaaa5b8b4ad30081dfaab",
                  "region":"Melbourne",
                  "publicURL":"https://cinder.rc.nectar.org.au:8776/v1/aaaaaaaaaaaaaaa5b8b4ad30081dfaab",
                  "internalURL":"https://cinder.rc.nectar.org.au:8776/v1/aaaaaaaaaaaaaaa5b8b4ad30081dfaab"
               }
            ],
            "endpoints_links":[
            ],
            "type":"volume",
            "name":"Volume Service"
         },
         {
            "endpoints":[
               {
                  "adminURL":"https://nova.rc.nectar.org.au:8773/services/Admin",
                  "region":"Melbourne",
                  "publicURL":"https://nova.rc.nectar.org.au:8773/services/Cloud",
                  "internalURL":"https://nova.rc.nectar.org.au:8773/services/Cloud"
               }
            ],
            "endpoints_links":[
            ],
            "type":"ec2",
            "name":"EC2 Service"
         },
         {
            "endpoints":[
               {
                  "adminURL":"https://swift.rc.nectar.org.au:8888/v1.0/",
                  "region":"Melbourne",
                  "enabled":"1",
                  "internalURL":"https://swift.rc.nectar.org.au:8888/v1/AUTH_aaaaaaaaaaaaaaa5b8b4ad30081dfaab",
                  "publicURL":"https://swift.rc.nectar.org.au:8888/v1/AUTH_aaaaaaaaaaaaaaa5b8b4ad30081dfaab"
               },
               {
                  "adminURL":"https://swift.qld.nectar.org.au:8888/v1.0/",
                  "region":"Qld",
                  "enabled":"1",
                  "internalURL":"https://swift.qld.nectar.org.au:8888/v1/AUTH_aaaaaaaaaaaaaaa5b8b4ad30081dfaab",
                  "publicURL":"https://swift.qld.nectar.org.au:8888/v1/AUTH_aaaaaaaaaaaaaaa5b8b4ad30081dfaab"
               }
            ],
            "endpoints_links":[
            ],
            "type":"object-store",
            "name":"Object Storage Service"
         },
         {
            "endpoints":[
               {
                  "adminURL":"https://keystone.rc.nectar.org.au:35357/v2.0/",
                  "region":"Melbourne",
                  "enabled":"1",
                  "internalURL":"https://keystone.rc.nectar.org.au:5000/v2.0/",
                  "publicURL":"https://keystone.rc.nectar.org.au:5000/v2.0/"
               }
            ],
            "endpoints_links":[
            ],
            "type":"identity",
            "name":"Identity Service"
         }
      ],
      "user":{
         "username":"[email protected]",
         "roles_links":[
         ],
         "id":"aaaaaaaaaaaaaaaf25b644b86f5c",
         "roles":[
            {
               "name":"Member"
            }
         ],
         "name":"[email protected]"
      },
      "metadata":{
         "is_admin":0,
         "roles":[
            "2"
         ]
      }
   }
}