@@ -104,7 +104,8 @@ def __init__(self):
104
104
def show (self , req , id ):
105
105
"""Return data about the given volume."""
106
106
context = req .environ ['nova.context' ]
107
- context .can (vol_policies .POLICY_NAME % 'show' )
107
+ context .can (vol_policies .POLICY_NAME % 'show' ,
108
+ target = {'project_id' : context .project_id })
108
109
109
110
try :
110
111
vol = self .volume_api .get (context , id )
@@ -119,7 +120,8 @@ def show(self, req, id):
119
120
def delete (self , req , id ):
120
121
"""Delete a volume."""
121
122
context = req .environ ['nova.context' ]
122
- context .can (vol_policies .POLICY_NAME % 'delete' )
123
+ context .can (vol_policies .POLICY_NAME % 'delete' ,
124
+ target = {'project_id' : context .project_id })
123
125
124
126
try :
125
127
self .volume_api .delete (context , id )
@@ -134,7 +136,8 @@ def delete(self, req, id):
134
136
def index (self , req ):
135
137
"""Returns a summary list of volumes."""
136
138
context = req .environ ['nova.context' ]
137
- context .can (vol_policies .POLICY_NAME % 'list' )
139
+ context .can (vol_policies .POLICY_NAME % 'list' ,
140
+ target = {'project_id' : context .project_id })
138
141
return self ._items (req , entity_maker = _translate_volume_summary_view )
139
142
140
143
@wsgi .Controller .api_version ("2.1" , MAX_PROXY_API_SUPPORT_VERSION )
@@ -143,7 +146,8 @@ def index(self, req):
143
146
def detail (self , req ):
144
147
"""Returns a detailed list of volumes."""
145
148
context = req .environ ['nova.context' ]
146
- context .can (vol_policies .POLICY_NAME % 'detail' )
149
+ context .can (vol_policies .POLICY_NAME % 'detail' ,
150
+ target = {'project_id' : context .project_id })
147
151
return self ._items (req , entity_maker = _translate_volume_detail_view )
148
152
149
153
def _items (self , req , entity_maker ):
@@ -161,7 +165,8 @@ def _items(self, req, entity_maker):
161
165
def create (self , req , body ):
162
166
"""Creates a new volume."""
163
167
context = req .environ ['nova.context' ]
164
- context .can (vol_policies .POLICY_NAME % 'create' )
168
+ context .can (vol_policies .POLICY_NAME % 'create' ,
169
+ target = {'project_id' : context .project_id })
165
170
166
171
vol = body ['volume' ]
167
172
@@ -576,7 +581,8 @@ def __init__(self):
576
581
def show (self , req , id ):
577
582
"""Return data about the given snapshot."""
578
583
context = req .environ ['nova.context' ]
579
- context .can (vol_policies .POLICY_NAME % 'snapshots:show' )
584
+ context .can (vol_policies .POLICY_NAME % 'snapshots:show' ,
585
+ target = {'project_id' : context .project_id })
580
586
581
587
try :
582
588
vol = self .volume_api .get_snapshot (context , id )
@@ -591,7 +597,8 @@ def show(self, req, id):
591
597
def delete (self , req , id ):
592
598
"""Delete a snapshot."""
593
599
context = req .environ ['nova.context' ]
594
- context .can (vol_policies .POLICY_NAME % 'snapshots:delete' )
600
+ context .can (vol_policies .POLICY_NAME % 'snapshots:delete' ,
601
+ target = {'project_id' : context .project_id })
595
602
596
603
try :
597
604
self .volume_api .delete_snapshot (context , id )
@@ -604,7 +611,8 @@ def delete(self, req, id):
604
611
def index (self , req ):
605
612
"""Returns a summary list of snapshots."""
606
613
context = req .environ ['nova.context' ]
607
- context .can (vol_policies .POLICY_NAME % 'snapshots:list' )
614
+ context .can (vol_policies .POLICY_NAME % 'snapshots:list' ,
615
+ target = {'project_id' : context .project_id })
608
616
return self ._items (req , entity_maker = _translate_snapshot_summary_view )
609
617
610
618
@wsgi .Controller .api_version ("2.1" , MAX_PROXY_API_SUPPORT_VERSION )
@@ -613,7 +621,8 @@ def index(self, req):
613
621
def detail (self , req ):
614
622
"""Returns a detailed list of snapshots."""
615
623
context = req .environ ['nova.context' ]
616
- context .can (vol_policies .POLICY_NAME % 'snapshots:detail' )
624
+ context .can (vol_policies .POLICY_NAME % 'snapshots:detail' ,
625
+ target = {'project_id' : context .project_id })
617
626
return self ._items (req , entity_maker = _translate_snapshot_detail_view )
618
627
619
628
def _items (self , req , entity_maker ):
@@ -631,7 +640,8 @@ def _items(self, req, entity_maker):
631
640
def create (self , req , body ):
632
641
"""Creates a new snapshot."""
633
642
context = req .environ ['nova.context' ]
634
- context .can (vol_policies .POLICY_NAME % 'snapshots:create' )
643
+ context .can (vol_policies .POLICY_NAME % 'snapshots:create' ,
644
+ target = {'project_id' : context .project_id })
635
645
636
646
snapshot = body ['snapshot' ]
637
647
volume_id = snapshot ['volume_id' ]
0 commit comments