コード例 #1
0
ファイル: role.py プロジェクト: xinni-ge/eclcli
def _add_identity_and_resource_options_to_parser(parser):
    domain_or_project = parser.add_mutually_exclusive_group()
    domain_or_project.add_argument(
        '--domain',
        metavar='<domain>',
        help='Include <domain> (name or ID)',
    )
    domain_or_project.add_argument(
        '--project',
        metavar='<project>',
        help='Include <project> (name or ID)',
    )
    user_or_group = parser.add_mutually_exclusive_group()
    user_or_group.add_argument(
        '--user',
        metavar='<user>',
        help='Include <user> (name or ID)',
    )
    user_or_group.add_argument(
        '--group',
        metavar='<group>',
        help='Include <group> (name or ID)',
    )
    common.add_group_domain_option_to_parser(parser)
    common.add_project_domain_option_to_parser(parser)
    common.add_user_domain_option_to_parser(parser)
    common.add_inherited_option_to_parser(parser)
コード例 #2
0
ファイル: volume.py プロジェクト: kohey-itoh/eclcli
 def get_parser(self, prog_name):
     parser = super(ListVolume, self).get_parser(prog_name)
     parser.add_argument(
         '--project',
         metavar='<project-id>',
         help='Filter results by project (name or ID) (admin only)')
     identity_common.add_project_domain_option_to_parser(parser)
     parser.add_argument(
         '--user',
         metavar='<user-id>',
         help='Filter results by user (name or ID) (admin only)')
     identity_common.add_user_domain_option_to_parser(parser)
     parser.add_argument(
         '--name',
         metavar='<name>',
         help='Filter results by volume name',
     )
     parser.add_argument(
         '--status',
         metavar='<status>',
         help='Filter results by status',
     )
     parser.add_argument(
         '--all-projects',
         action='store_true',
         default=False,
         help='Include all projects (admin only)',
     )
     parser.add_argument(
         '--long',
         action='store_true',
         default=False,
         help='List additional fields in output',
     )
     return parser
コード例 #3
0
 def get_parser(self, prog_name):
     parser = super(CancelCopyImage, self).get_parser(prog_name)
     parser.add_argument(
         "job_id",
         metavar="<job_id>",
         help="job_id that has been paid out in the Copy API.",
     )
     common.add_project_domain_option_to_parser(parser)
     return parser
コード例 #4
0
 def get_parser(self, prog_name):
     parser = super(CreateUser, self).get_parser(prog_name)
     parser.add_argument(
         'name',
         metavar='<name>',
         help='New user name',
     )
     parser.add_argument(
         '--domain',
         metavar='<domain>',
         help='Default domain (name or ID)',
     )
     parser.add_argument(
         '--project',
         metavar='<project>',
         help='Default project (name or ID)',
     )
     common.add_project_domain_option_to_parser(parser)
     parser.add_argument(
         '--password',
         metavar='<password>',
         help='Set user password',
     )
     parser.add_argument(
         '--password-prompt',
         dest="password_prompt",
         action="store_true",
         help='Prompt interactively for password',
     )
     parser.add_argument(
         '--email',
         metavar='<email-address>',
         help='Set user email address',
     )
     parser.add_argument(
         '--description',
         metavar='<description>',
         help='User description',
     )
     enable_group = parser.add_mutually_exclusive_group()
     enable_group.add_argument(
         '--enable',
         action='store_true',
         help='Enable user (default)',
     )
     enable_group.add_argument(
         '--disable',
         action='store_true',
         help='Disable user',
     )
     parser.add_argument(
         '--or-show',
         action='store_true',
         help=_('Return existing user'),
     )
     return parser
コード例 #5
0
ファイル: trust.py プロジェクト: xinni-ge/eclcli
 def get_parser(self, prog_name):
     parser = super(CreateTrust, self).get_parser(prog_name)
     parser.add_argument(
         'trustor',
         metavar='<trustor-user>',
         help='User that is delegating authorization (name or ID)',
     )
     parser.add_argument(
         'trustee',
         metavar='<trustee-user>',
         help='User that is assuming authorization (name or ID)',
     )
     parser.add_argument(
         '--project',
         metavar='<project>',
         required=True,
         help='Project being delegated (name or ID) (required)',
     )
     parser.add_argument('--role',
                         metavar='<role>',
                         action='append',
                         default=[],
                         help='Roles to authorize (name or ID) '
                         '(repeat to set multiple values) (required)',
                         required=True)
     parser.add_argument(
         '--impersonate',
         dest='impersonate',
         action='store_true',
         default=False,
         help='Tokens generated from the trust will represent <trustor>'
         ' (defaults to False)',
     )
     parser.add_argument(
         '--expiration',
         metavar='<expiration>',
         help='Sets an expiration date for the trust'
         ' (format of YYYY-mm-ddTHH:MM:SS)',
     )
     common.add_project_domain_option_to_parser(parser)
     parser.add_argument(
         '--trustor-domain',
         metavar='<trustor-domain>',
         help='Domain that contains <trustor> (name or ID)',
     )
     parser.add_argument(
         '--trustee-domain',
         metavar='<trustee-domain>',
         help='Domain that contains <trustee> (name or ID)',
     )
     return parser
コード例 #6
0
 def get_parser(self, prog_name):
     parser = super(AddProjectToImage, self).get_parser(prog_name)
     parser.add_argument(
         "image",
         metavar="<image>",
         help="Image to share (name or ID)",
     )
     parser.add_argument(
         "project",
         metavar="<project>",
         help="Project to associate with image (name or ID)",
     )
     common.add_project_domain_option_to_parser(parser)
     return parser
コード例 #7
0
 def get_parser(self, prog_name):
     parser = super(CopyImage, self).get_parser(prog_name)
     parser.add_argument(
         "image",
         metavar="<image>",
         help="An identifier for the image (name or ID).",
     )
     parser.add_argument(
         "tenant_id",
         metavar="<tenant_id>",
         help="An identifier for the image tenant for destination region.",
     )
     common.add_project_domain_option_to_parser(parser)
     return parser
コード例 #8
0
ファイル: role_assignment.py プロジェクト: xinni-ge/eclcli
 def get_parser(self, prog_name):
     parser = super(ListRoleAssignment, self).get_parser(prog_name)
     parser.add_argument(
         '--effective',
         action="store_true",
         default=False,
         help='Returns only effective role assignments',
     )
     parser.add_argument(
         '--role',
         metavar='<role>',
         help='Role to filter (name or ID)',
     )
     parser.add_argument(
         '--names',
         action="store_true",
         help='Display names instead of IDs',
     )
     user_or_group = parser.add_mutually_exclusive_group()
     user_or_group.add_argument(
         '--user',
         metavar='<user>',
         help='User to filter (name or ID)',
     )
     common.add_user_domain_option_to_parser(parser)
     user_or_group.add_argument(
         '--group',
         metavar='<group>',
         help='Group to filter (name or ID)',
     )
     common.add_group_domain_option_to_parser(parser)
     domain_or_project = parser.add_mutually_exclusive_group()
     domain_or_project.add_argument(
         '--domain',
         metavar='<domain>',
         help='Domain to filter (name or ID)',
     )
     domain_or_project.add_argument(
         '--project',
         metavar='<project>',
         help='Project to filter (name or ID)',
     )
     common.add_project_domain_option_to_parser(parser)
     common.add_inherited_option_to_parser(parser)
     return parser
コード例 #9
0
ファイル: ec2creds.py プロジェクト: xinni-ge/eclcli
 def get_parser(self, prog_name):
     parser = super(CreateEC2Creds, self).get_parser(prog_name)
     parser.add_argument(
         '--project',
         metavar='<project>',
         help=_(
             'Create credentials in project '
             '(name or ID; default: current authenticated project)'
         ),
     )
     parser.add_argument(
         '--user',
         metavar='<user>',
         help=_(
             'Create credentials for user '
             '(name or ID; default: current authenticated user)'
         ),
     )
     common.add_user_domain_option_to_parser(parser)
     common.add_project_domain_option_to_parser(parser)
     return parser
コード例 #10
0
 def get_parser(self, prog_name):
     parser = super(UpdateImageMember, self).get_parser(prog_name)
     parser.add_argument(
         "image",
         metavar="<image>",
         help="Image to share (name or ID)",
     )
     parser.add_argument(
         "project",
         metavar="<project>",
         help="Project to associate with image (name or ID)",
     )
     parser.add_argument(
         "status",
         metavar="<member-status>",
         choices=['pending', 'accepted', 'rejected'],
         help="The status of this image member "
              "[pending, accepted, rejected]",
     )
     common.add_project_domain_option_to_parser(parser)
     return parser
コード例 #11
0
 def get_parser(self, prog_name):
     parser = super(SetImage, self).get_parser(prog_name)
     # TODO(bunting): There are additional arguments that v1 supported
     # --size - does not exist in v2
     # --store - does not exist in v2
     # --location - maybe location add?
     # --copy-from - does not exist in v2
     # --file - should be able to upload file
     # --volume - not possible with v2 as can't change id
     # --force - see `--volume`
     # --checksum - maybe could be done client side
     # --stdin - could be implemented
     parser.add_argument("image",
                         metavar="<image>",
                         help="Image to modify (name or ID)")
     parser.add_argument("--name", metavar="<name>", help="New image name")
     parser.add_argument(
         "--min-disk",
         type=int,
         metavar="<disk-gb>",
         help="Minimum disk size needed to boot image, in gigabytes")
     parser.add_argument(
         "--min-ram",
         type=int,
         metavar="<ram-mb>",
         help="Minimum RAM size needed to boot image, in megabytes",
     )
     parser.add_argument(
         "--container-format",
         metavar="<container-format>",
         help="Image container format "
         "(default: %s)" % DEFAULT_CONTAINER_FORMAT,
     )
     parser.add_argument(
         "--disk-format",
         metavar="<disk-format>",
         help="Image disk format "
         "(default: %s)" % DEFAULT_DISK_FORMAT,
     )
     protected_group = parser.add_mutually_exclusive_group()
     protected_group.add_argument(
         "--protected",
         action="store_true",
         help="Prevent image from being deleted",
     )
     protected_group.add_argument(
         "--unprotected",
         action="store_true",
         help="Allow image to be deleted (default)",
     )
     public_group = parser.add_mutually_exclusive_group()
     public_group.add_argument(
         "--public",
         action="store_true",
         help="Image is accessible to the public",
     )
     public_group.add_argument(
         "--private",
         action="store_true",
         help="Image is inaccessible to the public (default)",
     )
     parser.add_argument(
         "--property",
         dest="properties",
         metavar="<key=value>",
         action=parseractions.KeyValueAction,
         help="Set a property on this image "
         "(repeat option to set multiple properties)",
     )
     parser.add_argument(
         "--tag",
         dest="tags",
         metavar="<tag>",
         default=[],
         action='append',
         help="Set a tag on this image "
         "(repeat option to set multiple tags)",
     )
     parser.add_argument(
         "--architecture",
         metavar="<architecture>",
         help="Operating system architecture",
     )
     parser.add_argument(
         "--instance-id",
         metavar="<instance-id>",
         help="ID of server instance used to create this image",
     )
     parser.add_argument(
         "--instance-uuid",
         metavar="<instance-id>",
         dest="instance_id",
         help=argparse.SUPPRESS,
     )
     parser.add_argument(
         "--kernel-id",
         metavar="<kernel-id>",
         help="ID of kernel image used to boot this disk image",
     )
     parser.add_argument(
         "--os-distro",
         metavar="<os-distro>",
         help="Operating system distribution name",
     )
     parser.add_argument(
         "--os-version",
         metavar="<os-version>",
         help="Operating system distribution version",
     )
     parser.add_argument(
         "--ramdisk-id",
         metavar="<ramdisk-id>",
         help="ID of ramdisk image used to boot this disk image",
     )
     deactivate_group = parser.add_mutually_exclusive_group()
     deactivate_group.add_argument(
         "--deactivate",
         action="store_true",
         help="Deactivate the image",
     )
     deactivate_group.add_argument(
         "--activate",
         action="store_true",
         help="Activate the image",
     )
     # NOTE(dtroyer): --owner is deprecated in Jan 2016 in an early
     #                2.x release.  Do not remove before Jan 2017
     #                and a 3.x release.
     project_group = parser.add_mutually_exclusive_group()
     project_group.add_argument(
         "--project",
         metavar="<project>",
         help="Set an alternate project on this image (name or ID)",
     )
     project_group.add_argument(
         "--owner",
         metavar="<project>",
         help=argparse.SUPPRESS,
     )
     common.add_project_domain_option_to_parser(parser)
     for deadopt in self.deadopts:
         parser.add_argument(
             "--%s" % deadopt,
             metavar="<%s>" % deadopt,
             dest=deadopt.replace('-', '_'),
             help=argparse.SUPPRESS,
         )
     return parser
コード例 #12
0
 def get_parser(self, prog_name):
     parser = super(CreateImage, self).get_parser(prog_name)
     # TODO(bunting): There are additional arguments that v1 supported
     # that v2 either doesn't support or supports weirdly.
     # --checksum - could be faked clientside perhaps?
     # --location - maybe location add?
     # --size - passing image size is actually broken in python-glanceclient
     # --copy-from - does not exist in v2
     # --store - does not exits in v2
     parser.add_argument(
         "name",
         metavar="<image-name>",
         help="New image name",
     )
     parser.add_argument(
         "--id",
         metavar="<id>",
         help="Image ID to reserve",
     )
     parser.add_argument(
         "--container-format",
         default=DEFAULT_CONTAINER_FORMAT,
         metavar="<container-format>",
         help="Image container format "
         "(default: %s)" % DEFAULT_CONTAINER_FORMAT,
     )
     parser.add_argument(
         "--disk-format",
         default=DEFAULT_DISK_FORMAT,
         metavar="<disk-format>",
         help="Image disk format "
         "(default: %s)" % DEFAULT_DISK_FORMAT,
     )
     parser.add_argument(
         "--min-disk",
         metavar="<disk-gb>",
         type=int,
         help="Minimum disk size needed to boot image, in gigabytes",
     )
     parser.add_argument(
         "--min-ram",
         metavar="<ram-mb>",
         type=int,
         help="Minimum RAM size needed to boot image, in megabytes",
     )
     parser.add_argument(
         "--file",
         metavar="<file>",
         help="Upload image from local file",
     )
     parser.add_argument(
         "--volume",
         metavar="<volume>",
         help="Create image from a volume",
     )
     parser.add_argument(
         "--force",
         dest='force',
         action='store_true',
         default=False,
         help="Force image creation if volume is in use "
         "(only meaningful with --volume)",
     )
     protected_group = parser.add_mutually_exclusive_group()
     protected_group.add_argument(
         "--protected",
         action="store_true",
         help="Prevent image from being deleted",
     )
     protected_group.add_argument(
         "--unprotected",
         action="store_true",
         help="Allow image to be deleted (default)",
     )
     public_group = parser.add_mutually_exclusive_group()
     public_group.add_argument(
         "--public",
         action="store_true",
         help="Image is accessible to the public",
     )
     public_group.add_argument(
         "--private",
         action="store_true",
         help="Image is inaccessible to the public (default)",
     )
     parser.add_argument(
         "--property",
         dest="properties",
         metavar="<key=value>",
         action=parseractions.KeyValueAction,
         help="Set a property on this image "
         "(repeat option to set multiple properties)",
     )
     parser.add_argument(
         "--tag",
         dest="tags",
         metavar="<tag>",
         action='append',
         help="Set a tag on this image "
         "(repeat option to set multiple tags)",
     )
     # NOTE(dtroyer): --owner is deprecated in Jan 2016 in an early
     #                2.x release.  Do not remove before Jan 2017
     #                and a 3.x release.
     project_group = parser.add_mutually_exclusive_group()
     project_group.add_argument(
         "--project",
         metavar="<project>",
         help="Set an alternate project on this image (name or ID)",
     )
     project_group.add_argument(
         "--owner",
         metavar="<project>",
         help=argparse.SUPPRESS,
     )
     common.add_project_domain_option_to_parser(parser)
     for deadopt in self.deadopts:
         parser.add_argument(
             "--%s" % deadopt,
             metavar="<%s>" % deadopt,
             dest=deadopt.replace('-', '_'),
             help=argparse.SUPPRESS,
         )
     return parser