--- layout: archive title: Zulip Chat Archive permalink: /stream/113488-general/topic/Triangular.20parent.20instances.html ---
Is there any way to work around this error?
synthesized type class instance is not definitionally equal to expression inferred by typing rules, synthesized steppable.to_functor t inferred mergeable.to_functor f
(I have two classes, steppable
and mergeable
that both extend functor
, and I'm using them both as assumptions for some generic code I am writing)
I think you more or less have to create a new class steppable_and_mergeable
. I don't think there's another way.
Okay, that's what I figured ...
There is actually another way. Change the definition of mergeable
and steppable
to take [functor]
as an argument instead of extending functor
I see; that could work, but it seems it doesn't play nicely with out_param
then
I know nothing about out_param
What's your worry about out_param?
Oh hm. I was getting this error, but also marking the instance as out_param
seemed to fix it:
don't know how to synthesize placeholder context: t : Type u, f : Type u → Type u, _inst_1 : mergeable f, _inst_2 : steppable t f, _inst_3 : traversable f, _inst_4 : is_lawful_functor f, _inst_5 : is_lawful_traversable f, a b : t ⊢ Type u → Type u
(i.e. it looked like it was failing to figure out what f
was even though I gave it t
)
steppable
now looks like:
class steppable (t : Type u) (f : out_param $ Type u → Type u) [out_param $ functor f] := (step : t ≃ f t)
There shouldn't be any need for that instance param if it's not used in the class body
{% endraw %}Last updated: Apr 24 2020 at 19:02 UTC


Book Information
| Select Book Name | : |
|
|
Book Id |
: |
|
| Category | : |
|
| Author | : |
|
| Book Price | : |
|


Arjun Lal
I recently graduated from the University of Pennsylvania, where I earned both an MSE in Computer Science and a BSE in Computer Science with minors in Statistics and Data Science. While at Penn, I held several graduate and undergraduate teaching assistant positions in classes ranging from Algorithms to Machine Learning.
I spent summer 2019 interning as a Data Scientist at Facebook. My work focused on investigating the advertising vs. user-engagement trade-off on Stories and I ended up finding ways to optimize for revenue with minimal impact on user-engagement. I will return full-time August 2020.
I'm interested in data, product strategy, software development, and investing. Feel free to check out the links below and get in touch!
Recent Projects
Event-driven exploration of airfare prices and routes
Work from the Citadel East Coast Invitational Datathon. My teammates and I used a Latent Dirichlet Allocation Model and regression analysis to see how event variety in major US cities affects airfare prices. We ended up winning 1st place and qualifying for the national championship!
Removing bias in sentiment analysis systems
Final project for CIS 530 (Computational Linguistics). The goal of this project was to build a linguistic and statistical model that could predict the relative intensity of anger in a given text with minimized gender bias, in an effort to decrease the algorithmic bias that pervades current systems.
Determining important application factors in university admissions
Paper for STAT 474 (Modern Regression). Given data describing applications to a hypothetical university, I used a Generalized Additive Model to determine which factors are most relevant in deciding admission and how well they can predict admission.
Personal website
I designed and built this website to get myself comfortable with HTML, CSS, jQuery, and Bootstrap. I hope you can get a look at what I've worked on and what I'm interested in!
Query-based taxi service
Final project for CIS 550 (Database and Information Systems). Using early 2019 NYC taxi rides, we built a dynamic and query-based platform for both drivers and riders that would help them plan their respective routes as efficiently as possible.
PennBook
Final project for NETS 212 (Scalable and Cloud Computing). We built a mini-social network with friending, chat, profiles, etc. In addition, we used MapReduce to generate friend recommendations based on common friends and affiliations via the adsorption algorithm.
Books And Articles I've Liked


2019 Honda Civic long term review, first report
by Sergius BarrettoAfter what seems like an eternity, a sedan finally joins our long-term fleet.
I was really keen to get behind the wheel of the Civic, and that was simply due to the fact that it was a sedan. After a spate of SUVs and MPVs, I was eagerly waiting for a vehicle with a low seating position, and the Civic hits the nail right on the head. Yes, the high seating of SUVs and MPVs do offer a better view out and that’s quite handy, given the terrible state the roads are in. But for me, there is something just magical about driving a vehicle seated low to the ground. You feel more connected with the car, and with the Civic I didn’t even have to begin driving to appreciate this.
Driving position is absolutely spot on.
The low-slung position feels just right, your legs and hands are placed comfortably, with your knees and elbows bent just the right amount, and you sink in with your hips slightly below knee level, and still have decent outside visibility. I couldn’t wait to get moving, but driving a new car requires about a couple of minutes to set up – seat position, outside and inside mirrors and storing knick-knacks like your sunglasses, wallet and, of course, plugging in your phone. While I found the power-only outlet quite easily, ten minutes had gone by and I was still trying to locate the USB with the audio interface connection. I gave up my search and call my colleague Saumil who, after a good laugh, tells me to move my left leg away from the console and shine a torch (it’s nighttime) in that direction. And there it is!
Below the centre-console box is a shelf with the USB, power outlet and an HDMI port too. It’s actually a clever design; the ungainly ports are out of sight and there’s a slot through which you can pass the wires. There’s also two integrated wire clamps to keep things neat and tidy. Unfortunately, it’s all overly complicated. The lower shelf isn’t illuminated, and a phone plugged in does not fit in the centre console and the shelf below is rather shallow too. I wouldn’t recommend keeping anything here as it could slip out easily and get lodged below the pedals.
IT'S COMPLICATED: Not enough space in the shelf to place your plugged-in phone.
That aside, the infotainment system can mirror some information onto the instrument panel display too, giving you two simultaneous outputs. For example, I could access Google Maps on the touchscreen as well as music info on the instrument panel, and vice versa. Another neat touch is navigation data popping up on the IP screen as soon as you flick the turn indicator. This helps, because at this point the centre screen displays the blind-spot camera feed – it’s clear, quite intuitive and easy to use as it gives you a wide view of the left-hand side of the car.
DOUBLE BARREL: It displays the phone’s info on instrument panel as well.
Having only just entered our fleet, I may not have spent a lot of time with the Civic, but I really like – actually let me correct that; ‘love’ – the suspension. Perfectly in sync with the hint the sporty seating position delivers, the Civic turns out to be a real nimble handler, and pointing it through corners on my way home was immense fun. It’s planted and has very little body roll, and I’m quite sure it will keep my daughter from getting car sick too. The ride too is quite comfortable. Yes, it’s a bit stiffly damped but not harsh, and it’s a bit more noticeable at the rear.
But the brilliant ride and handling magnifies the Civic’s one major weakness – its engine. I’ve only spent time with it in the city, but boy is it weak! At 141hp, power is lower than the Octavia and Elantra, and it shows. Every time I put my foot down for just a small change of pace (like to close a gap) there isn’t enough power, and the gearbox drops a gear or two to serve up momentum – which, when it comes, isn’t really a great deal.
Fuel efficiency thus takes a beating. So far we’ve got a best of 7.8kpl in the city and a low of 6.3kpl. The trouble is, besides the fact that it’s a petrol-auto, due to the inadequate performance from the powertrain, you’ll easily end up overworking it. Sadly the Civic has the legs, just not the heart.
FAINT HEART: Engine performance doesn’t live up to the car’s dynamics.
But I’m quite sure there’s going to be a long line waiting to get their hands on the keys. It’s a comfortable car and such a sweet handler, and like I said – after all the SUVs, I know we’re all simply longing for a nice low-slung sedan.
Photography: Ashley Baxter and Omkar Dhas
Also see:
2019 Honda Civic India review, test drive
Honda Civic vs Skoda Octavia comparison
Honda Civic
Rs 20.77 lakh * on road price (New Delhi)
| Fact File | |
|---|---|
| Distance covered | 7832km |
| Price when new | Rs 21.24 lakh (ex-showroom, Delhi) |
| Test economy | 7.05kpl (Overall, this month) |
| Maintenance costs | None |
| Faults | None |


Little TO-DO Application
Completed tasks ({{ completed.length }})
Active tasks ({{ tasks.length }})
{{ task }}
There are no tasks at the moment
{{ task }}
+
{{ error }}


Affinity Photo, Designer, and Publisher are 30 percent off for Black Friday
The entire Affinity suite is 30 percent off from now through Cyber Monday.
by Sean EndicottSource: Windows Central
What you need to know
- The entire Affinity suite is on sale for 30 percent off for Black Friday.
- The deal includes Affinity Photo, Affinity Designer, and Affinity Publisher.
- The deal is live for Windows, macOS, and iOS.
The entire Affinity suite is on sale for Black Friday, including Affinity Photo, Affinity Designer, and Affinity Publisher. The deal reduces the cost of everything Serif sells by 30 percent and is live across Windows, macOS, and iOS. The discounts went live this morning and run through Cyber Monday.
Serif's creative suite doesn't require a subscription and aims to deliver a professional editing experience that can replace more expensive pieces of software. Affinity Photo allows you to edit images and photos. Affinity Designer is for graphic design and works with both vector and raster images. Affinity Publisher is a publishing software that can be used to create magazines, books, and other published materials. Affinity Publisher can also link with the rest of the Affinity suite, so you don't have to jump between programs.
Affinity Photo (5/5) and Affinity Publisher (4.5/5) both earned impressive ratings when we reviewed them, and Affinity Designer delivers a similar experience. As a tip, Serif puts the Affinity suite on sale a few times a year. it's a great chance to grab some solid software at a discount.
In addition to the three core pieces of software being on sale, you can grab brush packs, workbooks, and all other items in Serif's store for 30 percent off.
Affinity Photo
This photo editor delivers a professional level of tools and options without needing a subscription.
Affinity Designer
This graphic design program allows you to edit vector and raster designs and doesn't require a subscription.
Affinity Publisher
This publication app can link with Affinity Photo and Affinity Designer, so you don't have to jump between apps.
We may earn a commission for purchases using our links. Learn more.


Elegance combined with modern design makes this product a must have in any home.


Before Change
assign_middle_to_foreground=self.assign_middle_to_foreground.value == O_FOREGROUND
)
t_local *= self.threshold_correction_factor.value
// Constrain the local threshold to be within [0.7, 1.5] * global_threshold. It"s for the pretty common case
// where you have regions of the image with no cells whatsoever that are as large as whatever window you"re
// using.  And same for
// very crowded areas where there is zero background in the window. You want the foreground to be all
// detected.
t_min = max(self.threshold_range.min, t_global * 0.7)
t_max = min(self.threshold_range.max, t_global * 1.5)
t_local[t_local < t_min] = t_min
t_local[t_local > t_max] = t_max
return t_local, t_global
t_local = t_global * self.threshold_correction_factor.value
return min(max(t_local, self.threshold_range.min), self.threshold_range.max), t_global
def _threshold_robust_background(self, image):
average_fn = {
RB_MEAN: numpy.mean,
After Change
assign_middle_to_foreground=self.assign_middle_to_foreground.value == O_FOREGROUND
)
t_global = self._correct_global_threshold(t_global)
if self.threshold_scope.value == TS_ADAPTIVE:
if image.volumetric:
t_local = numpy.zeros_like(data)
for index, plane in enumerate(data):
t_local[index] = centrosome.threshold.get_adaptive_threshold(
centrosome.threshold.TM_OTSU,
plane,
t_global,
mask=mask[index],
adaptive_window_size=3,
two_class_otsu=False,
assign_middle_to_foreground=self.assign_middle_to_foreground.value == O_FOREGROUND
)
else:
t_local = centrosome.threshold.get_adaptive_threshold(
centrosome.threshold.TM_OTSU,
data,
t_global,
mask=mask,
adaptive_window_size=3,
two_class_otsu=False,
assign_middle_to_foreground=self.assign_middle_to_foreground.value == O_FOREGROUND
)
t_local = self._correct_local_threshold(t_local, t_global)
return t_local, t_global
return t_global, t_global
def _threshold_robust_background(self, image):
average_fn = {
RB_MEAN: numpy.mean,


JavaScript is disabled on your browser.
Skip navigation links
Overview
Package
Class
Use
Tree
Deprecated
Index
Help
Prev Letter
Next Letter
Frames
No Frames
All Classes
A
C
D
E
F
G
H
I
J
L
M
N
O
P
R
S
T
U
V
W
X
Y
H
hashCode()
- Method in class io.
IconManager.ContentHeightKey
Redéfinition de la méthode hashCode pour que deux clés égales aient le même code de hachage (code utilisé par la classe HashMap pour optimiser la recherche d’une clé).
hashCode()
- Method in class metier.
CatalogPieceOfFurniture
hashCode()
- Method in class metier.
Category
height
- Variable in class io.
IconManager.ContentHeightKey
height
- Variable in class metier.
CatalogPieceOfFurniture
Hauteur du meuble exprimée en cm
height
- Variable in class metier.
HomePieceOfFurniture
home
- Variable in class controller.
FurnitureController
home
- Variable in class controller.
HomeController
home
- Variable in class controller.
HomeFrameController
home
- Variable in class controller.
PlanController
home
- Variable in class event.
HomeEvent
home
- Variable in class junit.
HomeControllerTest
home
- Variable in class junit.
PlanComponentTest.PlanTestFrame
Home
- Class in
metier
Home(List<HomePieceOfFurniture>)
- Constructor for class metier.
Home
Home()
- Constructor for class metier.
Home
Home(float)
- Constructor for class metier.
Home
Home(List<HomePieceOfFurniture>, float)
- Constructor for class metier.
Home
home
- Variable in class swing.
FurnitureTable.FurnitureTableModel
home
- Variable in class swing.
HomeComponent3D.Wall3D
home
- Variable in class swing.
HomeFramePane
home
- Variable in class swing.
PlanComponent
HomeApplication
- Class in
swing
HomeApplication()
- Constructor for class swing.
HomeApplication
homeChanged(HomeEvent)
- Method in interface listener.
HomeListener
HomeComponent3D
- Class in
swing
HomeComponent3D(HomeModel)
- Constructor for class swing.
HomeComponent3D
HomeComponent3D.HomePieceOfFurniture3D
- Class in
swing
HomeComponent3D.ObjectBranch
- Class in
swing
HomeComponent3D.Wall3D
- Class in
swing
HomeController
- Class in
controller
HomeController(HomeModel, UserPreferences)
- Constructor for class controller.
HomeController
homeController
- Variable in class junit.
HomeControllerTest
HomeControllerTest
- Class in
junit
HomeControllerTest()
- Constructor for class junit.
HomeControllerTest
HomeControllerTest.ControllerTest
- Class in
junit
HomeControllerTest.ControllerTest.ViewTest
- Class in
junit
HomeEvent
- Class in
event
HomeEvent(Object, HomeModel, HomeEvent.Type)
- Constructor for class event.
HomeEvent
HomeEvent.Type
- Enum in
event
HomeFileRecorder
- Class in
metier
HomeFileRecorder()
- Constructor for class metier.
HomeFileRecorder
HomeFileRecorder.HomeInputStream
- Class in
metier
HomeFileRecorder.HomeInputStream.HomeObjectInputStream
- Class in
metier
HomeFileRecorder.HomeOutputStream
- Class in
metier
HomeFileRecorder.HomeOutputStream.HomeObjectOutputStream
- Class in
metier
HomeFileRecorderTest
- Class in
junit
HomeFileRecorderTest()
- Constructor for class junit.
HomeFileRecorderTest
HomeFrameController
- Class in
controller
HomeFrameController(HomeModel, HomeApplication)
- Constructor for class controller.
HomeFrameController
HomeFramePane
- Class in
swing
HomeFramePane(HomeModel, HomeApplication, HomeFrameController)
- Constructor for class swing.
HomeFramePane
HomeFurnitureController
- Interface in
controller
HomeInputStream(InputStream)
- Constructor for class metier.
HomeFileRecorder.HomeInputStream
HomeListener
- Interface in
listener
homeListeners
- Variable in class swing.
HomeApplication
HomeModel
- Interface in
metier
HomeObjectInputStream(InputStream)
- Constructor for class metier.
HomeFileRecorder.HomeInputStream.HomeObjectInputStream
HomeObjectOutputStream(OutputStream)
- Constructor for class metier.
HomeFileRecorder.HomeOutputStream.HomeObjectOutputStream
homeObjects
- Variable in class swing.
HomeComponent3D
homeObjects
- Variable in class swing.
HomeComponent3D.HomePieceOfFurniture3D
HomeOutputStream(OutputStream)
- Constructor for class metier.
HomeFileRecorder.HomeOutputStream
HomePane
- Class in
swing
HomePane(HomeModel, UserPreferences, HomeController)
- Constructor for class swing.
HomePane
HomePane.ActionType
- Enum in
swing
HomePane.FocusableViewListener
- Class in
swing
HomePane.HomeScrollPane
- Class in
swing
HomePane.SaveAnswer
- Enum in
swing
HomePieceOfFurniture
- Class in
metier
HomePieceOfFurniture(PieceOfFurniture)
- Constructor for class metier.
HomePieceOfFurniture
HomePieceOfFurniture3D(HomePieceOfFurniture)
- Constructor for class swing.
HomeComponent3D.HomePieceOfFurniture3D
homeRecorder
- Variable in class main.
SweetHome3DJavaWebStart
HomeRecorder
- Interface in
metier
homes
- Variable in class swing.
HomeApplication
HomeScrollPane(JComponent)
- Constructor for class swing.
HomePane.HomeScrollPane
homeView
- Variable in class controller.
HomeController
HomeView
- Class in
swing
HomeView(Home, UserPreferences, HomeFurnitureController)
- Constructor for class swing.
HomeView
A
C
D
E
F
G
H
I
J
L
M
N
O
P
R
S
T
U
V
W
X
Y
Skip navigation links
Overview
Package
Class
Use
Tree
Deprecated
Index
Help
Prev Letter
Next Letter
Frames
No Frames
All Classes


{% extends "base.html" %} {% set page_title = "Accessibility Statement" %} {% block content %}
This accessibility statement applies to the Ministry of Justice's Analytical Platform.
This service is run by Analytical Platform team of the Ministry of Justice. We want as many people as possible to be able to use this service. For example, on the Control Panel application (this website) you should be able to:
We've also made our textual content as simple as possible to understand.
AbilityNet has advice on making your device easier to use if you have a disability.
We know some parts of this service are not fully accessible:
Any feedback and/or requests for help should be made via the Analytical Platform Slack Channel. We also have a platform user guide and platform support documentation.
We're always looking to improve the accessibility of this service. If you find any problems not listed on this page or think we're not meeting accessibility requirements, please contact us via the links listed in the feedback and contact information section.
The Equality and Human Rights Commission (EHRC) is responsible for enforcing the Public Sector Bodies (Websites and Mobile Applications) (No. 2) Accessibility Regulations 2018 (the 'accessibility regulations'). If you’re not happy with how we respond to your complaint, contact the Equality Advisory and Support Service (EASS).
The Ministry of Justice's Analytical Platform team is committed to making its service accessible, in accordance with the Public Sector Bodies (Websites and Mobile Applications) (No. 2) Accessibility Regulations 2018.
This statement was prepared on 22nd October 2020. It was last reviewed on 23rd October 2020.
This service was last tested on 27th August 2020. The test was carried out by a member of the Analytical Platform team.
We checked all the pages in the Control Panel application (excluding those that are parts of Jupyter, Airflow and RStudio) against this accessibility checklist.
A full accessibility audit by an independent third party will take place very soon.


Go to the source code of this file.
◆ BREAKBEAM_TRIPPED
| #define BREAKBEAM_TRIPPED (1 << 7) |
◆ CANCEL_KICK
| #define CANCEL_KICK (0b11 << 5) |
◆ CHARGE_ALLOWED
| #define CHARGE_ALLOWED (1 << 4) |
◆ KICK_IMMEDIATE
| #define KICK_IMMEDIATE (1 << 6) |
Only one type of kick command can be sent at once If you send one, then the other, it uses the latest If you send both, it cancels all kicks.
◆ KICK_ON_BREAKBEAM
| #define KICK_ON_BREAKBEAM (1 << 5) |
◆ KICK_POWER_MASK
| #define KICK_POWER_MASK (0x0F) |
◆ TYPE_CHIP
| #define TYPE_CHIP (1 << 7) |
◆ TYPE_FIELD
| #define TYPE_FIELD (1 << 7) |
◆ TYPE_KICK
| #define TYPE_KICK (0 << 7) |
◆ VOLTAGE_MASK
| #define VOLTAGE_MASK (0x7F) |


{% include 'shared/components/carousel-section.html' %}
{% include 'shared/components/searchbar.html' %}
{% include 'shared/components/main-section.html' %}
{% include 'shared/components/sub-section.html' %}
{% include 'shared/components/footer.html' %}
{% endblock %}


Ruby on Rails. Java hosting, Django hosting, we make it everything run smooth and safe.
Ruby on Rails, Django, Java, Webserver, Mailserver, any infrastructure that needs to configured, we provide comprehensive solutions. Amazon, rackspace or bare metal servers, we configure for you.
Let your developers develop! We take care of your system administration. Gentoo, Archlinux, Debian, Ubuntu, and many more.
The first incarnation of ungleich
in Germany
ungleich founded
in Switzerland
ungleich present at various conferences :
Linuxtag, UCMS, Linux Erfa, ETH Zurich
ungleich introduces HA-Hosting
and introduces affordable 24X7 support
lungleich launches Digital Glarus project
"ungleich helped us getting started with our internal infrastructure, hosted on physical servers in a co-location data centre in Zurich. From planning the network layout and virtualisation setup, inviting offers and securing a great deal from a hardware vendor, all the way to the installation of basic services like DNS, VPN and firewalls using the configuration management software cdist, we could count on the support of ungleich. At the end, we got a high availability infrastructure setup enabling our engineers to work more efficiently and comfortable than before."
- Luciano Franceschina, CTO at Teralytics
"Thanks to ungleich team, who has designed and configured our company's Linux infrastructure, our systems are very easy to maintain. Their innovative configuration management system cdist helped us significantly not only in cost but also in time saving, which is crucial for IT companies like ours."
- Beat Seeliger , CTO at Panter AG
"ungleich provided an excellent service in designing our system architecture and created secure and stable appliance. For us it is important to have an enduring stability in our system, and ungleich's configuration management system cdist is easy to adapt for our system administrators. We had a successful collaboration with ungleich in the time of very high workload, and their project leading was high-skilled and very reliable. I would definitely recommend them to any companies with high demand in solid infrastructures."
- Sebastian Plattner, Teamleader Development Cyber Security Products at RUAG


From — How is it formed?
Can, could & may are modal verbs. A modal verb is not the main verb. A modal verb "modifies" or adds meaning to a main verb.
Grammar Form — Asking for Permission
Modal + subject + predicate
| Pattern | Sentence | Degree of Politeness |
|---|---|---|
|
Can + subject + predicate |
Can I see the book? |
less polite |
|
Could + subject + predicate |
Could I see the book? |
polite |
|
May + subject + predicate |
May I see the book? |
more polite |
*Use the subject "I" with may. Don't use the subject you.
Grammar Form - Polite Requests
Add PLEASE to make your request polite.
| Please + modal + subject + predicate | Please can I see the book? Please could I see the book? Please may I see the book? |
| modal + subject + please + predicate | Can I please see the book? Could I please see the book? May I please see the book? |
| modal + subject + predicate + please | Can I see the book please? Could I see the book please? May I see the book please? |
Grammar Form - Giving Permission
Can & May
Subject+ modal + predicate
| Pattern | Sentence |
|---|---|
| Subject + can + predicate | You can see the book |
| Subject + may + predicate | You may see the book. |
| Subject+ could + predicate = conditional statement | I said that you could see the book. Correct |
Grammar Form - Not Giving Permission
Can't and May Not
Subject+ modal + not + predicate
| Pattern | Sentence |
|---|---|
| Subject + can + not + predicate | You can not see the book. You can't see the book. |
| Subject + may + not + predicate | You may not see the book. |
Use the base form of a verb after a modal.
He can visit our house. Correct
He can visits our house. Incorrect
He cans visit our house. Incorrect
She may not do that. Correct
She may not does that. Incorrect
She mays not do that. Incorrect
Meaning - what does it mean?
Can means to be able to or be permitted to. Could is the past tense of can and is more formal than can. May is the most formal and polite.
Can and could also mean ability - a person's skill or general ability. This can be the ability to do something in the present or the future.
General abilities:
I can play the piano well.
He can't ride a bike.
Ability to do something in the present or future:
He can go to Hawaii if he saves his money.
He can't travel by himself.
We use could to talk about the past.
I could speak French when I was in high school.
She couldn't pass the test.
Use - when, why is it used?
Use may, can, and could to ask for permission. Also use can and could to talk about abilities.
For more information on modals and practice exercises, go to http://www.englishpage.com/modals/modalintro.html


STEPMOM A film review by Steve Rhodes Copyright 1998 Steve Rhodes RATING (0 TO ****): **
Director Chris Columbus's STEPMOM, which would have more appropriately been titled MOMMY'S DYING, wants to be two movies.
As seen in the film's light-hearted trailers, STEPMOM wants to be a comedic look at the perils of being a stepmother, and, indeed, the movie's first act sticks to that plan.
After this breezy start, the movie quickly slips into bathos with scenes of CAT scans, chemotherapy, and a mother's dying. Rather than examining the relatively unexplored territory of stepmothering, the movie wants, most of all, to be another terminal illness picture, of which we have one a month. The maudlin script, by a committee of no less than 5 writers, expects you to bring extra tissues and use every one of them.
In a stellar performance, Susan Sarandon plays Jackie, the obsessively prepared and sanctimonious mother. Jackie has her two kids' lives as perfectly organized as the rigidly positioned post-its on her refrigerator that specify their monthly schedules.
 As Luke, their busy father, Ed Harris is the show's wallpaper in front of which the two female leads enact their drama.
Julia Roberts plays Luke's live-in girlfriend and soon-to-be wife, Isabel. Isabel is an efficient and talented fashion photographer whose beauty outshines all of her models. The treacly script has a throwaway and not credible subplot about her being fired for trying to mix a career with parenting. Anna hates her and fires cheap insults at her at every opportunity. Ben is more flexible about his treatment of his stepmother. "Mommy, if you want me to hate her I will," he tells Jackie with a sincere innocence. Think the kids will eventually fall in love with the stepmom they hate? Well, duh!
The film is at its best when it tries to grapple with the issues and conflicts surrounding divorce and remarriage. Luke tries to explain to Ben that one of his parents had to move out since they were constantly fighting. "I fight with Anna all the time," Ben retorts. "Can I move out?"
The sudsy movie got some of the best response from our audience when Isabel finally stopped stifling her emotions and told the pompous mother to shove it by laying into her with some carefully chosen expletives.
The by-the-numbers plot has Isabel taking the kids to Central Park while she conducts a photo shoot. One of the kids - surprise! - gets lost, which makes Isabel feel very bad about not being a dutiful parent like Jackie. And Jackie gets to rant and rave and generally feel superior.
The body of the movie has Jackie getting sicker and sicker, while trying to hide her terminal cancer. Jackie and Isabel eventually, of course, bury the hatchet and become bosom buddies. (We know that they are soul mates at heart since they each independently lead the kids in a sing-a-long and lip-synch to their favorite song, Marvin Gaye's "Ain't No Mountain High Enough.")
Try as hard as they can, the superlative acting by Sarandon and Roberts can not overcome the schmaltzy material. Manipulative to the end, the movie prolongs Jackie's dying as long as possible. It wants to wring every last tear possible out of the audience.
STEPMOM runs too long at 2:04. It is rated PG-13 for profanity, thematic elements and dope smoking and would be fine for teenagers.
Email<EMAIL_ADDRESS>Web: www.InternetReviews.com
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


{% capture between_content %}
Can't Stop Columbus is a community-wide movement that addresses problems that have arisen due to the COVID-19 crisis. Activating our city's talents and passions, we're putting bold ideas into action to deliver real solutions that unite our community.


CONCH(1) CONCH(1) NAME tkconch - connect to SSH servers graphically SYNOPSIS conch [-l user] [-i identity [ -i identity ... ]] [-c cipher] [-m MAC] [-p port] [-n] [-t] [-T] [-V] [-C] [-N] [-s] [arg [...]] conch --help DESCRIPTION The --help prints out a usage message to standard output. -l, --user <user> Log in using this user name. -e, --escape <escape character> Set escape character; 'none' = disable (default: ~) -i, --identity <identity> Add an identity file for public key authentication (default: ~/.ssh/identity) -c, --cipher <cipher> Cipher algorithm to use. -m, --macs <mac> Specify MAC algorithms for protocol version 2. -p, --port <port> Port to connect to. -L, --localforward <listen-port:host:port> Forward local port to remote address. -R, --remoteforward <listen-port:host:port> Forward remote port to local address. -t, --tty Allocate a tty even if command is given. -n, --notty Do not allocate a tty. -V, --version Display version number only. -C, --compress Enable compression. -a, --ansilog Print the received data to stdout. -N, --noshell Do not execute a shell or command. -s, --subsystem Invoke command (mandatory) as SSH2 subsystem. --log Print the receieved data to stderr. DESCRIPTION Open an SSH connection to specified server, and either run the command given there or open a remote interactive shell. AUTHOR Written by Moshe Zadka, based on conch's help messages REPORTING BUGS To report a bug, visit http://twistedmatrix.com/bugs/ COPYRIGHT Copyright © 2002-2008 Twisted Matrix Laboratories. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. SEE ALSO ssh(1) October 2002 CONCH(1)


--- layout: about title: What is Flux? permalink: about/what-is-flux/ tag-section: about flux tag-topic: what menu-order: 1.0 page-content: - subheading: More a celebration of democracy than a party body: > Really you’re the brains of this operation. Flux is the tool Australians can use to directly participate in parliament. Flux is a party come election time but once we have elected MP’s and senators that’s where the difference begins. Your Flux representatives give up their autonomy and vote according to the people. They cast their votes in line with the outcomes produced by the Flux ecosystem comprised of ordinary Aussies like you. - subheading: It’s still democracy, it’s just Governance 2.0 body: > Flux will operate in the form of an app you can access right from your computer or smartphone. You’ll be given a vote on every bill put before Federal Parliament, and can use that vote immediately on the issue at hand, give it to a trusted third party to cast on your behalf, or save it for an issue you care more passionately about later. - subheading: It won’t matter where politicians stand when the floor is yours body: > Flux as a party is a vehicle for driving this systemic political change, with no policy platform beyond parliamentary reform. Flux is a tool for changing how policy is shaped. It will allow more voices to join the conversation, empower specialists to become politically involved in their fields, and grant Australians direct access to producing better policy for a better Australia. --- {% for content in page.page-content %}
{{ content.body }}
Flux is a gateway Australians can use, to participate directly in parliament, making the need for trust in elected officials a thing of the past.
When Flux is implemented, it will take the form of an app you can access right from your computer or smartphone. You’ll be given a vote on every bill put before Federal Parliament, and can use that vote immediately on the issue at hand, give it to a trusted third party to cast on your behalf, or save it for an issue you care more passionately about later.
Flux as a party is a vehicle for driving this systemic political change, with no policy platform beyond parliamentary reform. Flux as a system, is a tool for changing how policy is shaped. It will allow more voices to join the conversation, empower specialists to become politically involved in their fields, and grant Australians direct access to producing better policy for a better Australia.
{% endcomment %}


{% extends "_layouts/sidebar-left.html" %} {% set bodyClass = "docs" %} {% set headline = 'Developer Documentation' %} {% set tagline = 'Let’s Build Something Powerful Together!' %} {% set stickyNavOffsetTop = 332 %} {% block sidebar %}
{% endblock %} {% block content %}The Rackspace Cloud Images service enables developers to create and manipulate images, image members, and associated metadata through a simple Representational State Transfer (REST) web service interface.
Cloud Images has the following expected benefits:
This guide is intended to assist software developers who want to develop applications by using the Rackspace Cloud Images service REST application programming interface (API). It fully documents the Cloud Images API, which enables developers to interact with the storage components of the service.
The Cloud Images service is closely aligned with the Rackspace Cloud Servers service and Cloud Files service. Images are captured from, and applied to, cloud servers and are stored on, and retrieved from, Cloud Files storage.
To use the information provided here, you should have a general understanding of the Cloud Images service and have access to an installation of the Cloud Images service. You should also be familiar with the following technologies:
The
Cloud Images is part of the Rackspace cloud and your use of the Cloud Images API will be
billed according to the schedule at http://www.rackspace.com/cloud/images. Periodically review the Rackspace Cloud Terms of Service for your
Terms of Service because they can be updated any time. These documents also include
the Acceptable Use Policies.Rackspace pricing and terms of service#
To understand the Cloud Images service and API, review the following key terms and concepts.
Server images are used to store a snapshot of a server’s configuration. If you take an image of a server, you can create a new server from that image. The new server will have the same files and operating system that the original server had at the time the image was created.
The Cloud Images service enables you to use standard, Rackspace-supported images and to create, share, and use nonstandard images that are not supported by Rackspace.
Standard images include the following images:
Nonstandard images include the following images:
Note
This is not an exhaustive list of nonstandard images.
An image entity is represented by a JSON-encoded data structure and its raw binary data.
An image entity has an identifier (ID) that is guaranteed to be unique within its endpoint. The ID is used as a token in request URIs to interact with that specific image.
An image is always guaranteed to have the following attributes: id, status, visibility, protected, tags, created_at, file and self. The other attributes defined in the image schema are guaranteed to be defined, but will only be returned with an image entity if they have been explicitly set.
A client may set arbitrarily-named attributes on their images if the image json-schema allows it. These user-defined attributes will appear like any other image attributes.
Images are uniquely identified by a URI that matches the following signature:
{image server location}/v2/images/{image_ID}
where:
{image server location}
{image_ID}
To help end users use your images, you can put additional common properties, or metadata, on your images.
The available properties and their expected values include the following options:
Important
The common name of the osdistro must be all lowercase and entered exactly as shown here. The allowed values are as follows:
Image producers create and share images with image consumers, allowing the consumers to use the shared image when booting a server. The producer shares an image with the consumer by making the consumer a member of that image. The consumer then accepts or rejects the image by changing the image member status. After it is accepted, the image appears in the consumer’s image list. As long as the consumer is an member of the image, the consumer can use the image, regardless of the image member status.
Note
In the Cloud Images API, the image member status serves three purposes:
accepted
, the image
appears in the consumer’s image list. Otherwise, the image does not
appear in the image list.visibility=shared&member_status=pending
.accepted
or
rejected
, the consumer has definitely seen the shared image. If
the status is pending
, the consumer may not be aware that an
image was shared.For more information on image member status, search for “Image member statuses”.
Image producers and consumers have different abilities and responsibilities regarding image sharing. The following list shows these abilities:
Note
Communications between the image producer and the consumer, like those described in this sample workflow, must be arranged independent of the Cloud Images API. The consumer and producer can send notifications by using email, phone, Twitter, or other channels.
accepted
, by using the Update image member API operation.rejected
. If the consumer wants to hide the image, but is open to
the possibility of being reminded by the producer that the image is
available, the consumer uses the Cloud Images API to change the image
member status to pending
, by using the Update image member API operation.An image task request performs an asynchronous image-related operation, such as importing or exporting an image. The request creates a disposable task resource that you poll for information about the operation’s status.
After you initiate an image import or export, poll the task’s status by using the Get task details API operation repeatedly until the task completes. The “Get details for a task” section of this guide shows an example.
When the poll response has a status of success
or failure
, the
response includes an expiration date and time. After expiration, the
disposable task resource is deleted, but the result of the task, such as
an imported or exported image, neither expires nor disappears.
For more information on task statuses, search for “task statuses”.
Note
Tasks in the Cloud Images API conform to the uniform task interface provided by the OpenStack Images v2 API, with each task resource containing both input and result parameters. The API design enables individual providers, like Rackspace, to easily customize these two parameters.
The Task to import image and Task to export image sections and “POSTexportImagetasksImageTask” show the Rackspace requirements for these parameters.
The Cloud Images API uses a variety of statuses to identify the state of images or image components. This section describes the statuses and their values.
Images in the Cloud Images service can have any of the following statuses when you display details by using the Get image details API operation.
Image tasks are used for importing images from your Cloud Files account and for exporting images to your Cloud files account. For more information on image tasks, search for “Asynchronous image tasks”.
Image tasks in the Cloud Images service can have any of the following statuses when you poll them by using the Get details for a task API operation.
When an image producer wants to share an image with a potential image consumer, the producer creates an image member, linking the image and the consumer. Once an image is shared, the image is available for the consumer to use, regardless of image member status. Both producers and consumers can check the status of an image member.
Image member status both controls whether the image appears in the consumer’s image list and lets the producer know whether the consumer acknowledges the offer. If the consumer wants the image to appear in the image list, the consumer accepts the image. Otherwise, the consumer rejects the image.
If the image producer no longer wants the share an image with a consumer, the producer deletes the image member. Once the image member is deleted, the consumer cannot use the image, and the image is removed from the consumer’s image list.
For more information on image sharing, search for “Image sharing”.
Note
Image members can have any of the following statuses.
Note
With a rejected
or pending
image member status, the consumer can still use the
image but must know the image ID, since the image is not in the image list.
The Cloud Images API uses the HTTP PATCH method to update image properties.
The HTTP PATCH request must provide a media type so that the server can determine how the changes should be applied to an image resource. An unsupported media type results in an HTTP 415 error code. For image resources, the supported media types for PATCH requests are as follows:
'application/openstack-images-v2.0-json-patch'
- which is
deprecated'application/openstack-images-v2.1-json-patch'
- which provides
useful and compatible functionality for JSON PATCH and is based on
the JavaScript Object Notation (JSON) Patch standard RFC6902
(http://tools.ietf.org/html/rfc6902).Note
In addition to working with existing image properties, you can use
the HTTP PATCH method to add or modify user-defined properties, which you
create, to make notes on an image. For example, you could add
user_passed_qe
(with a true or false value or a date value) or
user_image_creator
(with a name for the value).
The application/openstack-images-v2.1-json-patch
media type adopts
a restricted form of JSON Pointers, which limits the allowed number of tokens
to one token. Restricted JSON Pointers are evaluated as ordinary
JSON Pointers.
Note
If a reference token contains a tilde (~ or (%x7E)
) or a
forward slash (/ or (%x2F)
), encode them as ‘~0’ and ‘~1’ respectively.
The ABNF syntax is as follows:
restricted-json-pointer = "/" reference-token
reference-token = *( unescaped / escaped )
unescaped = %x00-2E / %x30-7D / %x7F-10FFFF
escaped = "~" ( "0" / "1" )
An example of converting image properties to JSON Pointers, which is
necessary to use the HTTP PATCH
method, is as
follows
Image Entity:
{
"id": "da3b75d9-3f4a-40e7-8a2c-bfab23927dea",
"name": "cirros-0.3.0-x86_64-uec-ramdisk",
"status": "active",
"visibility": "public",
"size": 2254249,
"checksum": "2cec138d7dae2aa59038ef8c9aec2390",
"~/.ssh/": "present",
"tags": ["ping", "pong"],
"created_at": "2012-08-10T19:23:50Z",
"updated_at": "2012-08-10T19:23:50Z",
"self": "/v2/images/da3b75d9-3f4a-40e7-8a2c-bfab23927dea",
"file": "/v2/images/da3b75d9-3f4a-40e7-8a2c-bfab23927dea/file",
"schema": "/v2/schemas/image"
}
Comparison of the JSON Pointer to the Image Entity Key Pair:
JSON Pointer Image Entity Key Pair
/name "name":"cirros-0.3.0-x86_64-uec-ramdisk"
/size "size":"2254249"
/tags "tags":["ping", "pong"]
/~0~1.ssh~1 "~/.ssh/":"present"
The 'application/openstack-images-v2.1-json-patch'
media type for
the HTTP PATCH method allows a subset of operations defined in the
application/json-patch+json
media type. To perform an operation, you
need an operation object that consists of member key pairs. The possible
members of an operation object are operation member, location member, and value member.
"op"
"path"
.value member
- Specified by:
"value"
- Required for HTTP PATCH add and HTTP PATCH replace operations.
- Contains the actual value to add (or to use in the replace operation) expressed in JSON notation. String values are quoted and numeric values are unquoted.
Warning
If an operation object contains no recognized operation member, or more than one operation member, an error condition results.
The add operation adds a new custom user-defined property at a specified path in the target image. The path must reference an image property to add to an existing image. The operation object contains a value member that specifies the value to be added.
Warning
There is a small subset of standard image properties that can be added by users; please consult the How-To articles for details. If you add any other properties as part of your PATCH request, the request fails.
Add Example
[ { "op": "add", "path": "/login-name", "value": "kvothe"} ]
The remove operation removes the custom user-defined image property from the target image. If no image property exists at the specified location, an error results.
Warning
Some image properties used by the system are protected
. If you
remove any of these properties as part of your PATCH request, the
request fails.
Remove Example
[ { "op": "remove", "path": "/login-name" } ]
The replace operation replaces the value of the specified image property in the target image with a new value. The operation object contains a value member that specifies the replacement value.
Warning
Some image properties used by the system are protected
. If you
modify any of these properties as part of your PATCH request, the
request fails. To learn which standard image properties can be
modified by users by using the Update image operation.
Replace Example
[ { "op": "replace", "path": "/login-name", "value": "kote" } ]
Warning
If the specified image property does not exist for the target image, an error condition results.
This chapter contains helpful information for using API operations, authenticating, and using service endpoints.
The Cloud Images API is defined as a RESTful HTTP service that uses all aspects of the HTTP protocol, including methods, URIs, media types, and response codes. To request Cloud Images services, you must first issue an authentication request to the Identity service.
The Cloud Images API supports JSON data serialization request and response formats.
You have several options for sending requests through an API:
Developers and testers might prefer to use cURL with the command-line tool from http://curl.haxx.se/.
For more information about using cURL, search for “cURL commands”.
If you like to use a more graphical interface, the REST client for Mozilla Firefox also works well for testing and trying out commands. See https://addons.mozilla.org/en-US/firefox/addon/restclient/.
Similar browser plug-ins are available for browsers other than Firefox.
Note
If you use a browser plug-in, be sure to include the Header elements for Content-Type
and X-Auth-Token
with appropriate values.
The Cloud Images API accepts and serves JSON-encoded data. The media type required in the request varies by the following request types:
Content-Type header: 'application/json'
.Content-Type header: 'application/openstack-images-v2.1-json-patch'
.The necessary JSON-schema documents are provided at predictable URIs. A consumer validates server responses and client requests based on the published schemas. The schemas contained in this document are only examples and should not be used to validate your requests. A client should always fetch current schemas from the server.
cURL is a command-line tool that you can use to interact with REST interfaces. cURL lets you to transmit and receive HTTP requests and responses from the command line or a shell script, which enables you to work with the API directly. It is available for Linux distributions, Mac OS X, and Windows. For information about cURL, see http://curl.haxx.se/.
To run the cURL request examples shown in this guide, copy each example from the HTML version of this guide directly to the command line or a script.
The following command is an example cURL command that provisions a server with an isolated network using JSON.
cURL command example: JSON request
$ curl https://dfw.servers.api.rackspacecloud.com/v2/$account/servers \
-X POST \
-H "X-Auth-Project-Id: $account" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "X-Auth-Token: $token" \
-d '{"server": {"name": "my_server_with_network", "imageRef": "d42f821e-c2d1-4796-9f07-af5ed7912d0e", "flavorRef": "2", "max_count": 1, "min_count": 1, "networks": [{"uuid": "538a112a-34d1-47ff-bf1e-c40639e886e2"}, {"uuid": "00000000-0000-0000-0000-000000000000"}, {"uuid": "11111111-1111-1111-1111-111111111111"}]}}' \
| python -m json.tool
Note
The carriage returns in the cURL request examples use a backslash (\
) as an escape
character. The escape character allows continuation of the command across multiple lines.
The cURL examples in this guide use the following command-line options.
| Option | Description |
|---|---|
| -d | Sends the specified data in a POST request to the HTTP server. Use this option to send a JSON request body to the server. |
| -H | Specifies an extra HTTP header in the request. You can specify any
number of extra headers. Precede each header with the Common headers in Rackspace API requests are as follows:
|
| -i | Includes the HTTP header in the output. |
| -s | Specifies silent or quiet mode, which makes cURL mute. No progress or error messages are shown. |
| -T | Transfers the specified local file to the remote URL. |
| -X | Specifies the request method to use when communicating with the HTTP server. The specified request is used instead of the default method, which is GET. |
For commands that return a response, use json.tool to pretty-print the output by appending the following command to the cURL call:
| python -m json.tool
Note
To use json.tool, import the JSON module. For information about json.tool, see JSON encoder and decoder.
If you run a Python version earlier than 2.6, import the simplejson module and use simplejson.tool. For information about simplejson.tool, see simplejson encoder and decoder.
If you do not want to pretty-print JSON output, omit this code.
To authenticate access to the Rackspace Cloud Images service, you issue an authentication request to the Identity service endpoint.
In response to valid credentials, an authentication request to the Identity service returns an authentication token and a service catalog that contains a list of all services and endpoints available for this token. Because the authentication token expires after 24 hours, you must generate a token each day that you need access.
The following sections list the Identity service endpoint, show you how make an authentication request, and describe the authentication response.
For detailed information about the Identity service v2.0, see the Identity Client Developer Guide API v2.0.
When you authenticate, use the following endpoint:
https://identity.api.rackspacecloud.com/v2.0/
To authenticate, issue a POST /tokens request to the Identity Service endpoint.
In the request body, supply one of the following sets of credentials:
Your username and password are the ones that you use to log in to the Rackspace Cloud Control Panel.
Note
If you authenticate with username and password credentials, you can use multi-factor authentication to add an additional level of account security. This feature is not implemented for username and API credentials. For more information, search for multifactor authentication on the Rackspace site.
To find your API key, perform the following steps:
The following cURL examples show how to get an authentication token by entering your username and either password or your API key.
Example: Authenticate to the Identity Endpoint – Username and Password: JSON Request
$ curl -s https://identity.api.rackspacecloud.com/v2.0/tokens -X 'POST' \
-d '{"auth":{"passwordCredentials":{"username":"MyRackspaceAcct", \
"password":"MyRackspacePwd"}}}' \
-H "Content-Type: application/json" | python -m json.tool
Example: Authenticate to the Identity Endpoint – Username and API Key: JSON Request
$ curl -s https://identity.api.rackspacecloud.com/v2.0/tokens -X 'POST' \
-d '{"auth":{"RAX-KSKEY:apiKeyCredentials":{"username":"MyRackspaceAcct", "apiKey":"0000000000000000000"}}}' \
-H "Content-Type: application/json" | python -m json.tool
Note
In these examples, the following pipe command makes the JSON output more readable:
| python -m json.tool
In response to valid credentials, your request returns an authentication token and a service catalog with the endpoints that you use to request services.
Do not include explicit API endpoints in your scripts and applications. Instead, find the endpoint for your service and region in your service catalog and use it.
Note
If you authenticated with username and password credentials, and the Identity service returns a 401 message requesting additional credentials, your account is configured for multi-factor authentication.
To complete the authentication process, submit a second POST tokens request with multi-factor authentication credentials.
The following output shows a partial authentication response in JSON format:
Example: Authenticate: JSON Response
{
"access": {
"serviceCatalog": [
{
"endpoints": [
{
"internalURL": "https://snet-storage101.dfw1.clouddrive.com/v1/MossoCloudFS_530f8649-324c-499c-a075-2195854d52a7",
"publicURL": "https://storage101.dfw1.clouddrive.com/v1/MossoCloudFS_530f8649-324c-499c-a075-2195854d52a7",
"region": "DFW",
"tenantId": "MossoCloudFS_530f8649-324c-499c-a075-2195854d52a7"
},
{
"internalURL": "https://snet-storage101.ord1.clouddrive.com/v1/MossoCloudFS_530f8649-324c-499c-a075-2195854d52a7",
"publicURL": "https://storage101.ord1.clouddrive.com/v1/MossoCloudFS_530f8649-324c-499c-a075-2195854d52a7",
"region": "ORD",
"tenantId": "MossoCloudFS_530f8649-324c-499c-a075-2195854d52a7"
}
],
"name": "cloudFiles",
"type": "object-store"
},
{
"endpoints": [
{
"region": "IAD",
"tenantId": "820712",
"publicURL": "https://iad.images.api.rackspacecloud.com/v2"
},
{
"region": "ORD",
"tenantId": "820712",
"publicURL": "https://ord.images.api.rackspacecloud.com/v2"
},
{
"region": "HKG",
"tenantId": "820712",
"publicURL": "https://hkg.images.api.rackspacecloud.com/v2"
},
{
"region": "DFW",
"tenantId": "820712",
"publicURL": "https://dfw.images.api.rackspacecloud.com/v2"
},
{
"region": "SYD",
"tenantId": "820712",
"publicURL": "https://syd.images.api.rackspacecloud.com/v2"
}
],
"name": "cloudImages",
"type": "image"
},
{
"endpoints": [
{
"publicURL": "https://dfw.servers.api.rackspacecloud.com/v2/010101",
"region": "DFW",
"tenantId": "010101",
"versionId": "2",
"versionInfo": "https://dfw.servers.api.rackspacecloud.com/v2",
"versionList": "https://dfw.servers.api.rackspacecloud.com/"
},
{
"publicURL": "https://ord.servers.api.rackspacecloud.com/v2/010101",
"region": "ORD",
"tenantId": "010101",
"versionId": "2",
"versionInfo": "https://ord.servers.api.rackspacecloud.com/v2",
"versionList": "https://ord.servers.api.rackspacecloud.com/"
}
],
"name": "cloudServersOpenStack",
"type": "compute"
}
],
"token": {
"expires": "2012-09-14T15:11:57.585-05:00",
"id": "858fb4c2-bf15-4dac-917d-8ec750ae9baa",
"tenant": {
"id": "010101",
"name": "010101"
}
},
"user": {
"RAX-AUTH:defaultRegion": "DFW",
"id": "170454",
"name": "MyRackspaceAcct",
"roles": [
{
"description": "User Admin Role.",
"id": "3",
"name": "identity:user-admin"
}
]
}
}
}
Successful authentication returns the following information:
Endpoints to request Rackspace Cloud services. Appears in the
endpoints
element in the serviceCatalog
element.
Endpoint information includes the public URL, which is the endpoint that you use to access the service, as well as region, tenant ID, and version information.
To access the Cloud Images service, use the endpoint for the cloudImages
service.
Tip
To help you decide which regionalized endpoint to use, read about special considerations for choosing a data center.
Tenant ID. Appears in the tenantId
field in the endpoints
element. The tenant ID is also known as the account number.
You include the tenant ID in the endpoint URL when you call a cloud service.
The name of the service. Appears in the name
field.
Locate the correct service name in the service catalog, as follows:
Cloud Images. Named cloudImages
in the catalog.
To access the Cloud Images service, use the publicURL
value for the
cloudImages
service.
The service might show multiple endpoints to enable regional
choice. Select the appropriate endpoint for the region that you want
to interact with by examining the region
field.
Tip
To help you decide which regionalized endpoint to use, read about special considerations for choosing a data center at http://ord.admin.kc.rakr.net/knowledge_center/article/about-regions.
If you use the authentication token to access this service, you can perform Cloud Images API operations.
Expiration date and time for authentication token. Appears in the
expires
field in the token
element.
After this date and time, the token is no longer valid.
This field predicts the maximum lifespan for a token, but does not guarantee that the token reaches that lifespan.
Clients are encouraged to cache a token until it expires.
Because the authentication token expires after 24 hours, you must generate a token once a day.
Authentication token. Appears in the id
field in the token
element.
You pass the authentication token in the X-Auth-Token
header each
time that you send a request to a service.
Once you have your authentication token and your endpoint you are ready to send a request to the Cloud Images service.
In the following example, you first export the tenant ID, 010101
, to the
account
environment variable and the authentication token to the
token
environment variable. Then, you issue a cURL command to send a
request to list images as follows:
$ export account="010101"
$ export token="00000000-0000-0000-000000000000"
$ curl -s https://dfw.images.api.rackspacecloud.com/v2/$account/images \
-X "GET" -H "X-Auth-Token: $token" | python -m json.tool
Role Based Access Control (RBAC) restricts access to the capabilities of Rackspace Cloud services, including the next gen Cloud Servers API, to authorized users only. RBAC enables Rackspace Cloud customers to specify which account users of their Cloud account have access to which next gen Cloud Servers API service capabilities, based on roles defined by Rackspace (see Next Gen Cloud Servers Product Roles and Permissions). The permissions to perform certain operations in next gen Cloud Servers API – create, read, update, delete – are assigned to specific roles. The account owner user assigns these roles, either global (multiproduct) or product-specific (for example, next gen Cloud Servers), to account users.
The account owner (identity:user-admin) can create account users on the account and then assign roles to those users. The roles grant the account users specific permissions for accessing the capabilities of the next gen Cloud Servers service. Each account has only one account owner, and that role is assigned by default to any Rackspace Cloud account when the account is created.
See the Identity Client Developer Guide for information about how to perform the following tasks:
Note
The account owner (identity:user-admin) role cannot hold any additional roles because it already has full access to all capabilities.
Three roles (observer, creator, and admin) can be used to access the Cloud Images API specifically. The following section describes these roles and their permissions.
Cloud Images Product Roles and Permissions
Additionally, two multiproduct roles apply to all products. Users with multiproduct roles inherit access to future products when those products become RBAC-enabled. The following section describes these roles and their permissions.
Multiproduct (Global) Roles and Permissions
The account owner can set roles for both multiproduct and Cloud Images scope, and it is important to understand how any potential conflicts among these roles are resolved. When two roles appear to conflict, the role that provides the more extensive permissions takes precedence. Therefore, admin roles take precedence over observer and creator roles, because admin roles provide more permissions.
The following scenarios show examples of how potential conflicts between user roles in the Control Panel are resolved:
Scenario 1: Configuration: User is assigned the following roles: multiproduct observer and cloudImages admin
Control Panel View: Appears that the user has only the multiproduct observer role.
Permissions: The user can perform product admin functions in the control panel for Cloud Images only. The user has the observer role for the rest of the products.
Scenario 2: Configuration: User is assigned the following roles: multiproduct admin and cloudImages observer
Control Panel View: Appears that the user has only the multiproduct admin role.
Permissions: The user can perform product admin functions in the control panel for all of the products. The Cloud Images observer role is ignored.
API operations for Cloud Images may or may not be available to all roles. To see which operations are permitted to invoke which calls, please review the How-To article.
The Rackspace Cloud Images service is a regionalized service. The user of the service is therefore responsible for selecting the appropriate regional endpoint to ensure access to servers, networks, or other Cloud services.
Tip
To help you decide which regionalized endpoint to use, read about special considerations for choosing a data center at http://www.rackspace.com/knowledge_center/article/about-regions.
If you are working with cloud services that are in one of the Rackspace data centers, using the ServiceNet endpoint in the same data center has no network costs and provides a faster connection. ServiceNet is the data center internet network. In your authentication response service catalog, it is listed as InternalURL. If you are working with services that are not in one of the Rackspace data centers, you must use a public endpoint to connect. In your authentication response, public endpoints are listed as publicURL. If you are working with services in multiple data centers or have a mixed environment where you have services both in your data centers and in Rackspace data centers, use a public endpoint because it is accessible from all the servers in the different environments.
Note
You should copy the base URLs directly from the catalog rather than trying to construct them manually.
The Identity service returns a service catalog, which includes regional endpoints with your account ID. Your account ID, also known as project ID or tenant ID, refers to your Rackspace account number.
Tip
If you do not know your account ID or which data center you are working in, you can find that information in your Cloud Control Panel at mycloud.rackspace.com.
Developers use the operations described in this chapter to perform the following tasks:
Use the images API operations to list, delete, and update images.
GET /images
Lists public virtual machine (VM) images.
This operation returns images you created, shared images that you accepted, and standard images. For more information about standard images, see 1.1.1. Standard images. The response conforms to the schema found in 4.5.1.
This operation returns a subset of the larger collection of images and a link that you can use to get the next set of images. Always check for the presence of a next
link and use it as the URI in a subsequent GET
request. Follow this pattern until a next
link is no longer provided. The next link preserves any query parameters that you send in your initial request. You can use the first
link to jump back to the first page of the collection. If you prefer to paginate through images manually, use the limit
and marker
parameters.
The List Images operation accepts several types of query parameters that you can use to filter the results of the returned collection.
A client can provide direct comparison filters by using most image attributes, such as name=Ubuntu
, visibility=public
, and so on. A client cannot filter on tags or anything defined as a link in the json-schema, such as self
, file
, or schema
.
You can use the size_min
and size_max
query parameters to perform greater-than and less-than filtering of images based on their size
attribute. The size is measured in bytes and refers to the size of an image when it is stored on disk.
For example, sending a size_min
filter of 1048576 and size_max of 4194304 filters the container to include only images that are between 1 MB and 4 MB in size.
You can sort the results of this operation by using the sort_key
and sort_dir
parameters. The API uses the natural sorting of whatever image attribute is provided as the sort_key
.
Note
Public images may reach end-of-life and be removed from the base image list. This Hidden Base Images article contains images which have been removed from the base images list but which may still be available.
This table shows the possible response codes for this operation:
| Response Code | Name | Description |
|---|---|---|
| 200 | Success | Request succeeded. |
| 400 | Error | A general error has occured. |
| 401 | Unauthorized | Unauthorized. |
| 403 | Forbidden | Forbidden. |
| 405 | Bad Method | Bad method. |
| 413 | Over Limit | The number of items returned is above the allowed limit. |
| 503 | Service Unavailable | The requested service is unavailable. |
| 500 | API Fault | API fault. |
| 404 | Not Found | Resource not found. |
This table shows the query parameters for the request:
| Name | Type | Description |
|---|---|---|
| limit | xsd:string (Required) | Requests a specific page
size. Expect a response
to a limited request to
return between zero
items and the number
specified. The typical
pattern for using the
limit and marker
parameters is to make an
initial limited request
and then to use the ID
of the last image from
the response as the
marker parameter in
a subsequent limited
request. |
| marker | xsd:string (Required) | Specifies the ID of the
last-seen image. The
typical pattern for
using the limit and
marker parameters is
to make an initial
limited request and then
to use the ID of the
last image from the
response as the
marker parameter in
a subsequent limited
request. |
| name | xsd:string (Required) | Filter parameter that specifies the name of the image as a string. |
| visibility | imageapi:string (Required) | Filter parameter that
specifies image
visibility as either
public , private ,
or shared . |
| member_status | imageapi:string (Required) | Filter parameter that
shows images with the
specified member status
for only those images
shared with the user.
Valid values are
accepted ,
pending ,
rejected , and
all . The default is
accepted . |
| owner | imageapi:string (Required) | Filter parameter that shows images shared with the user by the specified tag. |
| tag | imageapi:string (Required) | Filter parameter that shows images with the specified tag, where the owner is indicated by tenant ID. |
| status | xsd:int (Required) | Filter parameter that
species the image status
as queued ,
saving , active ,
killed , deleted ,
or pending_delete . |
| size_min | xsd:string (Required) | Filter parameter that specifies the minimum size of the image in bytes. |
| size_max | xsd:string (Required) | Filter parameter that specifies the maximum size of the image in bytes. |
| sort_key | xsd:string (Required) | Sort key. All image
attributes can be used
as the sort key, except
tags and link
attributes. The default
is created_at . |
| sort_dir | xsd:string (Required) | Sort direction. Valid
values are asc
(ascending) and desc
(descending). The
default is desc . |
This table shows the body parameters for the response:
| Name | Type | Description |
|---|---|---|
| images | array (Required) | The array of the images in the list. |
| id | xsd:string (Required) | The UUID of the image. |
| name | xsd:string (Required) | The name of the image. |
| status | xsd:string (Required) | The status of the image. For possible image statuses, see ` 1.4.1. Image statuses <http://docs.rackspace.com/images/api/v2/ci- devguide/content/image-statuses.html>`__. |
| visibility | xsd:string (Required) | Specifies image visibility as either
public , private , or shared . |
| size | xsd:integer (Required) | The size of the image in bytes. |
| checksum | xsd:string (Required) | The checksum of the image. |
| tags | xsd:string (Required) | The user-defined image tags. |
| created_at | xsd:string (Required) | The date and time that the image was created. |
| updated_at | xsd:string (Required) | The date and time that the image was updated. |
| self | xsd:string (Required) | The link to the image. |
| file | xsd:string (Required) | The image file. |
| schema | xsd:string (Required) | The schema of the image. |
| first | xsd:string (Required) | The URI for the first image in the list. |
| next | xsd:string (Required) | The URI for the next image in the list. |
| schema | xsd:string (Required) | The schema of the images list. |
Example List Images: JSON response
{
"images":
[
{
"id":"da3b75d9-3f4a-40e7-8a2c-bfab23927dea",
"name":"cirros-0.3.0-x86_64-uec-ramdisk",
"status":"active",
"visibility":"public",
"size":2254249,
"checksum":"2cec138d7dae2aa59038ef8c9aec2390",
"tags":[
"ping",
"pong"
],
"created_at":"2012-08-10T19:23:50Z",
"updated_at":"2012-08-10T19:23:50Z",
"self":"/v2/images/da3b75d9-3f4a-40e7-8a2c-bfab23927dea",
"file":"/v2/images/da3b75d9-3f4a-40e7-8a2c-bfab23927dea/file",
"schema":"/v2/schemas/image"},
{
"id":"0d5bcbc7-b066-4217-83f4-7111a60a399a",
"name":"cirros-0.3.0-x86_64-uec",
"status":"active",
"visibility":"public",
"size":25165824,
"checksum":"2f81976cae15c16ef0010c51e3a6c163",
"tags":[ ],
"created_at":"2012-08-10T19:23:50Z",
"updated_at":"2012-08-10T19:23:50Z",
"self":"/v2/images/0d5bcbc7-b066-4217-83f4-7111a60a399a",
"file":"/v2/images/0d5bcbc7-b066-4217-83f4-7111a60a399a/file",
"schema":"/v2/schemas/image"},
{
"id":"e6421c88-b1ed-4407-8824-b57298249091",
"name":"cirros-0.3.0-x86_64-uec-kernel",
"status":"active",
"visibility":"public",
"size":4731440,
"checksum":"cfb203e7267a28e435dbcb05af5910a9",
"tags":[ ],
"created_at":"2012-08-10T19:23:49Z",
"updated_at":"2012-08-10T19:23:49Z",
"self":"/v2/images/e6421c88-b1ed-4407-8824-b57298249091",
"file":"/v2/images/e6421c88-b1ed-4407-8824-b57298249091/file",
"schema":"/v2/schemas/image"}
],
"first":"/v2/images?limit=3",
"next":"/v2/images?limit=3&marker=e6421c88-b1ed-4407-8824-b57298249091",
"schema":"/v2/schemas/images"
}
GET /images/{image_id}
Gets the details for the specified image.
This operation shows the details for the image. The response body is a single image entity and conforms to the schema found in 4.5.2. Get image schema.
This table shows the possible response codes for this operation:
| Response Code | Name | Description |
|---|---|---|
| 200 | ||
| 400 | Error | A general error has occured. |
| 401 | Unauthorized | Unauthorized. |
| 403 | Forbidden | Forbidden. |
| 405 | Bad Method | Bad method. |
| 413 | Over Limit | The number of items returned is above the allowed limit. |
| 503 | Service Unavailable | The requested service is unavailable. |
| 500 | API Fault | API fault. |
| 404 | Not Found | Resource not found. |
This table shows the URI parameters for the request:
| Name | Type | Description |
|---|---|---|
| {image_id} | csapi:uuid | Image ID stored through the image API, typically a UUID. |
This table shows the body parameters for the response:
| Name | Type | Description |
|---|---|---|
| id | xsd:string | The UUID of the image. |
| name | xsd:string | The name of the image. |
| status | xsd:string | The status of the image. For possible image statuses, see ` 1.4.1. Image statuses <http://docs.rackspace.com/images/api/v2/ci- devguide/content/image-statuses.html>`__. |
| visibility | xsd:string | Specifies image visibility as either
public , private , or shared . |
| checksum | xsd:string | The checksum of the image. |
| minRam | xsd:string | The minimum server RAM required for this image. |
| minDisk | xsd:string | The minimum server disk size required for this image. |
| tags | array | An array of user-defined image tags. |
| created_at | xsd:string | The date and time that the image was created. |
| updated_at | xsd:string | The date and time that the image was updated. |
| schema | xsd:string | The schema of the image. |
Example Get Image Details: JSON response
{
"container_format": "ovf",
"min_ram": 512,
"updated_at": "2015-03-09T19:32:29Z",
"owner": "657197",
"file": "/v2/images/126a6674-6308-421f-801e-fc302ab4f53f/file",
"flavor_classes": "*,!onmetal",
"vm_mode": "hvm",
"id": "126a6674-6308-421f-801e-fc302ab4f53f",
"size": 758777106,
"os_distro": "centos",
"image_type": "base",
"self": "/v2/images/126a6674-6308-421f-801e-fc302ab4f53f",
"disk_format": "vhd",
"schema": "/v2/schemas/image",
"status": "active",
"tags": [],
"visibility": "public",
"auto_disk_config": "disabled",
"min_disk": 20,
"name": "CentOS 7 (PVHVM)",
"checksum": "554bd2ad5b3a275c46b6d8983ae4da26",
"created_at": "2015-01-28T19:31:37Z",
"cache_in_nova": "True",
"protected": false,
"os_type": "linux",
"com.rackspace__1__release_id": "220",
"com.rackspace__1__build_core": "1",
"com.rackspace__1__options": "0",
"com.rackspace__1__release_version": "10",
"com.rackspace__1__platform_target": "PublicCloud",
"com.rackspace__1__build_managed": "1",
"com.rackspace__1__visible_managed": "0",
"com.rackspace__1__source": "kickstart",
"com.rackspace__1__ui_default_show": "True",
"com.rackspace__1__release_build_date": "2015-01-28_18-59-30",
"com.rackspace__1__visible_core": "0",
"com.rackspace__1__build_rackconnect": "1",
"com.rackspace__1__visible_rackconnect": "0",
"org.openstack__1__os_version": "7",
"org.openstack__1__architecture": "x64",
"org.openstack__1__os_distro": "org.centos"
}
PATCH /images/{image_id}
Updates the specified image.
This operation allows you to update an image that you own. The request body must conform to the 'application/openstack-images-v2.1-json-patch'
media type. The response conforms to the schema found in 4.5.2. Get image schema.
You can use the HTTP PATCH
method to update certain standard properties, and to add, update, or remove custom, user-defined image properties. For more information, see 2.4. HTTP PATCH method in this guide. Here are some guidelines for custom, user-defined properties.
- Naming properties: We recommend you name a custom property by prefixing your domain or name, and we do not allow you to use
com.rackspace
as the prefix. For example,com.mycompany.myproperty
andmyname.myproperty
are valid, andcom.rackspace.myproperty
is not allowed.Do not use the prefix
org.openstack
since OpenStack might add a property with the same name.
name
tags
os_distro
os_version
protected
container_format
(changing this may render your image unusable)disk_format
(changing this may render your image unusable)min_disk
(changing this affects what flavors you can use with the image)min_ram
(changing this affects what flavors you can use with the image)ramdisk_id
(only applies to disk_format ofami
)kernel_id
(only applies to disk_format ofami
)
In general, you can update any properties you own, but do not expect to be able to update anyone else’s properties. For example, you can’t update any properties starting with com.rackspace
, and you might not be able to update some properties starting with org.openstack
.
This table shows the possible response codes for this operation:
| Response Code | Name | Description |
|---|---|---|
| 200 | Success | Request succeeded. |
| 400 | Error | A general error has occured. |
| 401 | Unauthorized | Unauthorized. |
| 403 | Forbidden | Forbidden. |
| 405 | Bad Method | Bad method. |
| 413 | Over Limit | The number of items returned is above the allowed limit. |
| 503 | Service Unavailable | The requested service is unavailable. |
| 500 | API Fault | API fault. |
| 415 | Bad Media Type | Bad media type. This may result if the wrong media type is used in the cURL request. |
This table shows the URI parameters for the request:
| Name | Type | Description |
|---|---|---|
| {image_id} | csapi:uuid | Image ID stored through the image API, typically a UUID. |
This table shows the body parameters for the request:
| Name | Type | Description |
|---|---|---|
| op | xsd:string (Required) | The operation to be
executed ( add ,
remove , or
replace ). |
| path | xsd:string (Required) | The location within the image where the operation is to be performed. |
| value | xsd:string (Required) | The actual value to be
added or replaced. It is
not required for the
delete operation. |
Example Update Image: JSON request
[
{"op": "replace", "path": "/name", "value": "Fedora 17"},
{"op": "replace", "path": "/tags", "value": ["fedora", "beefy"]}
]
This table shows the body parameters for the response:
| Name | Type | Description |
|---|---|---|
| id | xsd:string | The UUID of the image. |
| name | xsd:string | The name of the image. |
| status | xsd:string | The status of the image. For possible image statuses, see ` 1.4.1. Image statuses <http://docs.rackspace.com/images/api/v2/ci- devguide/content/image-statuses.html>`__. |
| visibility | xsd:string | Specifies image visibility as either
public , private , or shared . |
| checksum | xsd:string | The checksum of the image. |
| minRam | xsd:string | The minimum server RAM required for this image. |
| minDisk | xsd:string | The minimum server disk size required for this image. |
| tags | array | An array of user-defined image tags. |
| created_at | xsd:string | The date and time that the image was created. |
| updated_at | xsd:string | The date and time that the image was updated. |
| schema | xsd:string | The schema of the image. |
Example Update Image: JSON response
{
"id":"e7db3b45-8db7-47ad-8109-3fb55c2c24fd",
"name":"Fedora 17",
"status":"queued",
"visibility":"public",
"tags": ["fedora", "beefy"],
"created_at":"2012-08-11T17:15:52Z",
"updated_at":"2012-08-11T17:15:52Z",
"self":"/v2/images/e7db3b45-8db7-47ad-8109-3fb55c2c24fd",
"file":"/v2/images/e7db3b45-8db7-47ad-8109-3fb55c2c24fd/file",
"schema":"/v2/schemas/image"
}
DELETE /images/{image_id}
Deletes the specified image.
This operation deletes the image. Make sure you set protected
parameter to false (Boolean) before performing the delete. If the operation succeeds, it returns an HTTP 204
status code with no response body.
Warning
An attempt to delete an image with the protected
parameter set to true
(boolean) results in a response code HTTP 403
.
This table shows the possible response codes for this operation:
| Response Code | Name | Description |
|---|---|---|
| 204 | Delete Successful | Delete request succeeded. |
| 400 | Error | A general error has occured. |
| 401 | Unauthorized | Unauthorized. |
| 403 | Forbidden | Forbidden. |
| 405 | Bad Method | Bad method. |
| 413 | Over Limit | The number of items returned is above the allowed limit. |
| 503 | Service Unavailable | The requested service is unavailable. |
| 500 | API Fault | API fault. |
| 404 | Not Found | Resource not found. |
This table shows the URI parameters for the request:
| Name | Type | Description |
|---|---|---|
| {image_id} | csapi:uuid | Image ID stored through the image API, typically a UUID. |
Use image sharing operations to distribute and manage images. For more information, see Image sharing in the Cloud Images Developer Guide.
GET /images
Lists public virtual machine (VM) images.
This operation returns images you created, shared images that you accepted, and standard images. For more information about standard images, see 1.1.1. Standard images. The response conforms to the schema found in 4.5.1.
This operation returns a subset of the larger collection of images and a link that you can use to get the next set of images. Always check for the presence of a next
link and use it as the URI in a subsequent GET
request. Follow this pattern until a next
link is no longer provided. The next link preserves any query parameters that you send in your initial request. You can use the first
link to jump back to the first page of the collection. If you prefer to paginate through images manually, use the limit
and marker
parameters.
The List Images operation accepts several types of query parameters that you can use to filter the results of the returned collection.
A client can provide direct comparison filters by using most image attributes, such as name=Ubuntu
, visibility=public
, and so on. A client cannot filter on tags or anything defined as a link in the json-schema, such as self
, file
, or schema
.
You can use the size_min
and size_max
query parameters to perform greater-than and less-than filtering of images based on their size
attribute. The size is measured in bytes and refers to the size of an image when it is stored on disk.
For example, sending a size_min
filter of 1048576 and size_max of 4194304 filters the container to include only images that are between 1 MB and 4 MB in size.
You can sort the results of this operation by using the sort_key
and sort_dir
parameters. The API uses the natural sorting of whatever image attribute is provided as the sort_key
.
Note
Public images may reach end-of-life and be removed from the base image list. This Hidden Base Images article contains images which have been removed from the base images list but which may still be available.
This table shows the possible response codes for this operation:
| Response Code | Name | Description |
|---|---|---|
| 200 | Success | Request succeeded. |
| 400 | Error | A general error has occured. |
| 401 | Unauthorized | Unauthorized. |
| 403 | Forbidden | Forbidden. |
| 405 | Bad Method | Bad method. |
| 413 | Over Limit | The number of items returned is above the allowed limit. |
| 503 | Service Unavailable | The requested service is unavailable. |
| 500 | API Fault | API fault. |
| 404 | Not Found | Resource not found. |
This table shows the query parameters for the request:
| Name | Type | Description |
|---|---|---|
| limit | xsd:string (Required) | Requests a specific page
size. Expect a response
to a limited request to
return between zero
items and the number
specified. The typical
pattern for using the
limit and marker
parameters is to make an
initial limited request
and then to use the ID
of the last image from
the response as the
marker parameter in
a subsequent limited
request. |
| marker | xsd:string (Required) | Specifies the ID of the
last-seen image. The
typical pattern for
using the limit and
marker parameters is
to make an initial
limited request and then
to use the ID of the
last image from the
response as the
marker parameter in
a subsequent limited
request. |
| name | xsd:string (Required) | Filter parameter that specifies the name of the image as a string. |
| visibility | imageapi:string (Required) | Filter parameter that
specifies image
visibility as either
public , private ,
or shared . |
| member_status | imageapi:string (Required) | Filter parameter that
shows images with the
specified member status
for only those images
shared with the user.
Valid values are
accepted ,
pending ,
rejected , and
all . The default is
accepted . |
| owner | imageapi:string (Required) | Filter parameter that shows images shared with the user by the specified tag. |
| tag | imageapi:string (Required) | Filter parameter that shows images with the specified tag, where the owner is indicated by tenant ID. |
| status | xsd:int (Required) | Filter parameter that
species the image status
as queued ,
saving , active ,
killed , deleted ,
or pending_delete . |
| size_min | xsd:string (Required) | Filter parameter that specifies the minimum size of the image in bytes. |
| size_max | xsd:string (Required) | Filter parameter that specifies the maximum size of the image in bytes. |
| sort_key | xsd:string (Required) | Sort key. All image
attributes can be used
as the sort key, except
tags and link
attributes. The default
is created_at . |
| sort_dir | xsd:string (Required) | Sort direction. Valid
values are asc
(ascending) and desc
(descending). The
default is desc . |
This table shows the body parameters for the response:
| Name | Type | Description |
|---|---|---|
| images | array (Required) | The array of the images in the list. |
| id | xsd:string (Required) | The UUID of the image. |
| name | xsd:string (Required) | The name of the image. |
| status | xsd:string (Required) | The status of the image. For possible image statuses, see ` 1.4.1. Image statuses <http://docs.rackspace.com/images/api/v2/ci- devguide/content/image-statuses.html>`__. |
| visibility | xsd:string (Required) | Specifies image visibility as either
public , private , or shared . |
| size | xsd:integer (Required) | The size of the image in bytes. |
| checksum | xsd:string (Required) | The checksum of the image. |
| tags | xsd:string (Required) | The user-defined image tags. |
| created_at | xsd:string (Required) | The date and time that the image was created. |
| updated_at | xsd:string (Required) | The date and time that the image was updated. |
| self | xsd:string (Required) | The link to the image. |
| file | xsd:string (Required) | The image file. |
| schema | xsd:string (Required) | The schema of the image. |
| first | xsd:string (Required) | The URI for the first image in the list. |
| next | xsd:string (Required) | The URI for the next image in the list. |
| schema | xsd:string (Required) | The schema of the images list. |
Example List Images: JSON response
{
"images":
[
{
"id":"da3b75d9-3f4a-40e7-8a2c-bfab23927dea",
"name":"cirros-0.3.0-x86_64-uec-ramdisk",
"status":"active",
"visibility":"public",
"size":2254249,
"checksum":"2cec138d7dae2aa59038ef8c9aec2390",
"tags":[
"ping",
"pong"
],
"created_at":"2012-08-10T19:23:50Z",
"updated_at":"2012-08-10T19:23:50Z",
"self":"/v2/images/da3b75d9-3f4a-40e7-8a2c-bfab23927dea",
"file":"/v2/images/da3b75d9-3f4a-40e7-8a2c-bfab23927dea/file",
"schema":"/v2/schemas/image"},
{
"id":"0d5bcbc7-b066-4217-83f4-7111a60a399a",
"name":"cirros-0.3.0-x86_64-uec",
"status":"active",
"visibility":"public",
"size":25165824,
"checksum":"2f81976cae15c16ef0010c51e3a6c163",
"tags":[ ],
"created_at":"2012-08-10T19:23:50Z",
"updated_at":"2012-08-10T19:23:50Z",
"self":"/v2/images/0d5bcbc7-b066-4217-83f4-7111a60a399a",
"file":"/v2/images/0d5bcbc7-b066-4217-83f4-7111a60a399a/file",
"schema":"/v2/schemas/image"},
{
"id":"e6421c88-b1ed-4407-8824-b57298249091",
"name":"cirros-0.3.0-x86_64-uec-kernel",
"status":"active",
"visibility":"public",
"size":4731440,
"checksum":"cfb203e7267a28e435dbcb05af5910a9",
"tags":[ ],
"created_at":"2012-08-10T19:23:49Z",
"updated_at":"2012-08-10T19:23:49Z",
"self":"/v2/images/e6421c88-b1ed-4407-8824-b57298249091",
"file":"/v2/images/e6421c88-b1ed-4407-8824-b57298249091/file",
"schema":"/v2/schemas/image"}
],
"first":"/v2/images?limit=3",
"next":"/v2/images?limit=3&marker=e6421c88-b1ed-4407-8824-b57298249091",
"schema":"/v2/schemas/images"
}
GET /images/{image_id}/members/{member_id}
Gets the details for the specified image member.
This operation shows details of the image member. The response conforms to the schema found in 4.5.3. Get image members schema.
To get a successful response, either the image owner must make the call or the tenant_id
of the user making the call must match the specified member_id
. Otherwise the response is HTTP 404
.
This table shows the possible response codes for this operation:
| Response Code | Name | Description |
|---|---|---|
| 200 | Success | Request succeeded. |
| 400 | Error | A general error has occured. |
| 401 | Unauthorized | Unauthorized. |
| 403 | Forbidden | Forbidden. |
| 405 | Bad Method | Bad method. |
| 413 | Over Limit | The number of items returned is above the allowed limit. |
| 503 | Service Unavailable | The requested service is unavailable. |
| 500 | API Fault | API fault. |
| 404 | Not Found | Resource not found. |
This table shows the URI parameters for the request:
| Name | Type | Description |
|---|---|---|
| {image_id} | csapi:uuid | Image ID stored through the image API, typically a UUID. |
| {member_id} | xsd:string | Image member ID. For example, the tenant ID of the user with whom the image is being shared. |
This table shows the body parameters for the response:
| Name | Type | Description |
|---|---|---|
| created_at | xsd:string (Required) | The date and time that the image member was created. |
| image_id | xsd:string (Required) | The UUID of the image. |
| member_id | xsd:string (Required) | The id of the image member. |
| schema | xsd:string (Required) | The schema of the image member. |
| status | xsd:string (Required) | The status of the image
member ( pending ,
accepted , or
rejected . |
| updated_at | xsd:string (Required) | The date and time that the image member was updated. |
Example Get Image Member Details: JSON response
{
"created_at": "2014-02-20T04:15:17Z",
"image_id": "634985e5-0f2e-488e-bd7c-928d9a8ea82a",
"member_id": "348129",
"schema": "/v2/schemas/member",
"status": "pending",
"updated_at": "2014-02-20T04:15:17Z"
}
POST /images/{image_id}/members
Adds the specified account ID/tenant ID
specified in the request body as an image member.
This operation allows you to add users, by member_id
(which is the tenant_id
) to the list of members with whom the image is shared. The member status of a newly created image member is pending
. The response conforms to the schema found in 4.5.3. Get image members schema.
If the user making the call is not the image owner, the response is HTTP 404
.
This table shows the possible response codes for this operation:
| Response Code | Name | Description |
|---|---|---|
| 200 | Success | Request succeeded. |
| 400 | Error | A general error has occured. |
| 401 | Unauthorized | Unauthorized. |
| 403 | Forbidden | Forbidden. |
| 405 | Bad Method | Bad method. |
| 413 | Over Limit | The number of items returned is above the allowed limit. |
| 503 | Service Unavailable | The requested service is unavailable. |
| 500 | API Fault | API fault. |
| 415 | Bad Media Type | Bad media type. This may result if the wrong media type is used in the cURL request. |
This table shows the URI parameters for the request:
| Name | Type | Description |
|---|---|---|
| {image_id} | csapi:uuid | Image ID stored through the image API, typically a UUID. |
This table shows the body parameters for the request:
| Name | Type | Description |
|---|---|---|
| member | xsd:string (Required) | The member ID. This is the tenant ID of the user with whom the image is to be shared. |
Example Create Image Member: JSON request
{
"member": "554433"
}
This table shows the body parameters for the response:
| Name | Type | Description |
|---|---|---|
| created_at | xsd:string (Required) | The date and time that the image member was created. |
| image_id | xsd:string (Required) | The UUID of the image. |
| member_id | xsd:string (Required) | The id of the image member. |
| schema | xsd:string (Required) | The schema of the image member. |
| status | xsd:string (Required) | The status of the image
member ( pending ,
accepted , or
rejected . |
| updated_at | xsd:string (Required) | The date and time that the image member was updated. |
Example Create Image Member: JSON response
{
"created_at": "2013-09-20T19:22:19Z",
"image_id": "a96be11e-8536-4910-92cb-de50aa19dfe6",
"member_id": "554433",
"schema": "/v2/schemas/member",
"status": "pending",
"updated_at": "2013-09-20T19:25:31Z"
}
DELETE /images/{image_id}/members/{member_id}
Deletes the specified account ID/tenant ID
from the member list of the specified image.
This operation deletes the image member from the image. This call, which can only be made by the image owner, removes users from the list of members who have access to a shared image.
If the {member_id}
is not a member of the specified image, the response is HTTP 404
This table shows the possible response codes for this operation:
| Response Code | Name | Description |
|---|---|---|
| 204 | Success | Delete request succeeded. |
| 400 | Error | A general error has occured. |
| 401 | Unauthorized | Unauthorized. |
| 403 | Forbidden | Forbidden. |
| 405 | Bad Method | Bad method. |
| 413 | Over Limit | The number of items returned is above the allowed limit. |
| 503 | Service Unavailable | The requested service is unavailable. |
| 500 | API Fault | API fault. |
| 404 | Not Found | Resource not found. |
This table shows the URI parameters for the request:
| Name | Type | Description |
|---|---|---|
| {image_id} | csapi:uuid | Image ID stored through the image API, typically a UUID. |
| {member_id} | xsd:string | Image member ID. For example, the tenant ID of the user with whom the image is being shared. |
PUT /images/{image_id}/members/{member_id}
Sets the specified status for the specified member of the specified image.
This operation updates the image member. The response conforms to the schema found in 4.5.3. Get image members schema.
If the call is made by the image owner, the response is HTTP 403 (Forbidden)
.
If the call is made by a user who is not the owner and whose tenant ID
is not the same as the {member_id} is the operation URI, the response is HTTP 404
.
This table shows the possible response codes for this operation:
| Response Code | Name | Description |
|---|---|---|
| 200 | Success | Request succeeded. |
| 400 | Error | A general error has occured. |
| 401 | Unauthorized | Unauthorized. |
| 403 | Forbidden | Forbidden. |
| 405 | Bad Method | Bad method. |
| 413 | Over Limit | The number of items returned is above the allowed limit. |
| 503 | Service Unavailable | The requested service is unavailable. |
| 500 | API Fault | API fault. |
| 415 | Bad Media Type | Bad media type. This may result if the wrong media type is used in the cURL request. |
This table shows the URI parameters for the request:
| Name | Type | Description |
|---|---|---|
| {image_id} | csapi:uuid | Image ID stored through the image API, typically a UUID. |
| {member_id} | xsd:string | Image member ID. For example, the tenant ID of the user with whom the image is being shared. |
This table shows the body parameters for the request:
| Name | Type | Description |
|---|---|---|
| status | xsd:string (Required) | The status to which this image member should be set. Valid values are as follows: ``pending``At creation, the member’s status is set to pending. The image is not visible in the member’s image-list, but the member can still boot instances from the image. ``accepted``The image is visible in the member’s image-list. The member can boot instances from the image. ``rejected``The member has decided that he or she does not want to see the image. The image is not visible in the member’s image-list, but the member can still boot instances from the image. |
Example Update Image Member: JSON request
{
"status": "accepted"
}
This table shows the body parameters for the response:
| Name | Type | Description |
|---|---|---|
| created_at | xsd:string (Required) | The date and time that the image member was created. |
| image_id | xsd:string (Required) | The UUID of the image. |
| member_id | xsd:string (Required) | The id of the image member. |
| schema | xsd:string (Required) | The schema of the image member. |
| status | xsd:string (Required) | The status of the image
member ( pending ,
accepted , or
rejected . |
| updated_at | xsd:string (Required) | The date and time that the image member was updated. |
Example Update Image Member: JSON response
{
"created_at": "2013-09-20T19:22:19Z",
"image_id": "a96be11e-8536-4910-92cb-de50aa19dfe6",
"member_id": "554433",
"schema": "/v2/schemas/member",
"status": "accepted",
"updated_at": "2013-09-20T20:15:31Z"
}


Glow
x
Reset to default color
Global Intensity
Animated Transitions
Oh noes!
You have no addons requesting access to glow.


--- title: surfor sidebar: function_reference_sidebar permalink: grainBoundary.surfor.html folder: function_reference toc: false ---
Returns the projection function of grain boundary segments based on Panozzo R (1984) "Two-dimensional strain from the orientation of lines in a plane." J Struct Geol 6:215–221
Surfor makes only sense for sufficiently smooth grain boundaries.
| gb | grainBoundary |
| lp | cummulative projection length |
| omega | list of angles used for the projection |
| stepwidth | width of interval for angles 0:pi (default: 1 degree) |


No need to import a type that lives in the same package.
This rule is deprecated, use {rule:squid:UselessImportCheck} instead.