Revision d97c83a5

b/kamaki/cli/commands/pithos.py
1515 1515
            'set container versioning (auto/none)', '--versioning'),
1516 1516
        limit=IntArgument('set default container limit', '--limit'),
1517 1517
        meta=KeyValueArgument(
1518
            'set container metadata (can be repeated)', '--meta')
1518
            'set container metadata (can be repeated)', '--meta'),
1519
        project=ValueArgument('assign the container to project', '--project'),
1519 1520
    )
1520 1521

  
1521 1522
    @errors.generic.all
......
1527 1528
                container=container,
1528 1529
                sizelimit=self['limit'],
1529 1530
                versioning=self['versioning'],
1531
                project=self['project'],
1530 1532
                metadata=self['meta'],
1531 1533
                success=(201, ))
1532 1534
        except ClientError as ce:
......
1594 1596
        self._run(container)
1595 1597

  
1596 1598

  
1599
@command(container_cmds)
1600
class container_reassign(_pithos_account, _optional_output_cmd):
1601
    """Assign a container to a different project
1602
    """
1603

  
1604
    @errors.generic.all
1605
    @errors.pithos.connection
1606
    @errors.pithos.container
1607
    def _run(self, project):
1608
        if self.container:
1609
            self.client.container = self.container
1610
        self._optional_output(self.client.reassign_container(project))
1611

  
1612
    def main(self, container, project):
1613
        super(self.__class__, self)._run()
1614
        self.container = container
1615
        self._run(project)
1616

  
1617

  
1597 1618
@command(sharer_cmds)
1598 1619
class sharer_list(_pithos_account, _optional_json):
1599 1620
    """List accounts who share file objects with current user"""
b/kamaki/clients/pithos/__init__.py
108 108
    def create_container(
109 109
            self,
110 110
            container=None, sizelimit=None, versioning=None, metadata=None,
111
            **kwargs):
111
            project=None, **kwargs):
112 112
        """
113 113
        :param container: (str) if not given, self.container is used instead
114 114

  
......
126 126
            self.container = container or cnt_back_up
127 127
            r = self.container_put(
128 128
                quota=sizelimit, versioning=versioning, metadata=metadata,
129
                **kwargs)
129
                project=project, **kwargs)
130 130
            return r.headers
131 131
        finally:
132 132
            self.container = cnt_back_up
......
1551 1551
        self._assert_container()
1552 1552
        r = self.object_get(obj, format='json', version='list')
1553 1553
        return r.json['versions']
1554

  
1555
    def reassign_container(self, project):
1556
        r = self.container_post(project=project)
1557
        return r.headers
b/kamaki/clients/pithos/rest_api.py
292 292

  
293 293
    def container_put(
294 294
            self,
295
            quota=None, versioning=None, metadata=None,
295
            quota=None, versioning=None, project=None, metadata=None,
296 296
            *args, **kwargs):
297 297
        """ Full Pithos+ PUT at container level
298 298

  
......
311 311

  
312 312
        self.set_header('X-Container-Policy-Quota', quota)
313 313
        self.set_header('X-Container-Policy-Versioning', versioning)
314
        if project:
315
            self.set_header('X-Container-Policy-project', project)
316

  
314 317
        if metadata:
315 318
            for metaname, metaval in metadata.items():
316 319
                self.set_header('X-Container-Meta-' + metaname, metaval)
......
325 328
            format='json',
326 329
            quota=None,
327 330
            versioning=None,
331
            project=None,
328 332
            metadata=None,
329 333
            content_type=None,
330 334
            content_length=None,
......
362 366

  
363 367
        self.set_header('X-Container-Policy-Quota', quota)
364 368
        self.set_header('X-Container-Policy-Versioning', versioning)
369
        if project:
370
            self.set_header('X-Container-Policy-project', project)
371

  
365 372
        if metadata:
366 373
            for metaname, metaval in metadata.items():
367 374
                self.set_header('X-Container-Meta-' + metaname, metaval)

Also available in: Unified diff