Exemplo n.º 1
0
def AddUpdateReservationGroup(parser):
  """Add reservation arguments to the update-reservations command."""
  parent_reservations_group = parser.add_group(
      'Manage reservations that are attached to the commitment.',
      mutex=True)
  AddReservationsFromFileFlag(
      parent_reservations_group,
      custom_text='Path to a YAML file of two reservations\' configuration.')
  reservations_group = parent_reservations_group.add_group(
      'Specify source and destination reservations configuration.')
  AddReservationArguments(reservations_group)
  reservation_flags.GetAcceleratorFlag(
      '--source-accelerator').AddToParser(reservations_group)
  reservation_flags.GetAcceleratorFlag(
      '--dest-accelerator').AddToParser(reservations_group)
  reservation_flags.GetLocalSsdFlag(
      '--source-local-ssd').AddToParser(reservations_group)
  reservation_flags.GetLocalSsdFlag(
      '--dest-local-ssd').AddToParser(reservations_group)

  # Add share-setting and share-with flags.
  reservation_flags.GetSharedSettingFlag('--source-share-setting').AddToParser(
      reservations_group)
  reservation_flags.GetShareWithFlag('--source-share-with').AddToParser(
      reservations_group)
  reservation_flags.GetSharedSettingFlag('--dest-share-setting').AddToParser(
      reservations_group)
  reservation_flags.GetShareWithFlag('--dest-share-with').AddToParser(
      reservations_group)
  return parser
Exemplo n.º 2
0
def AddFlagsToSpecificSkuGroup(group):
  """Adds flags needed for a specific sku zonal allocation."""
  args = [
      reservation_flags.GetRequireSpecificAllocation(),
      reservation_flags.GetVmCountFlag(required=False),
      reservation_flags.GetMinCpuPlatform(),
      reservation_flags.GetMachineType(required=False),
      reservation_flags.GetLocalSsdFlag(),
      reservation_flags.GetAcceleratorFlag(),
  ]

  for arg in args:
    arg.AddToParser(group)
def AddCreateFlags(
    parser,
    support_location_hint=False,
    support_share_setting=False,
    support_fleet=False,
):
    """Adds all flags needed for the create command."""
    GetNamePrefixFlag().AddToParser(parser)
    GetTotalCountFlag().AddToParser(parser)
    reservation_flags.GetDescriptionFlag().AddToParser(parser)

    group = base.ArgumentGroup(
        'Manage the specific SKU reservation properties.', required=True)
    group.AddArgument(reservation_flags.GetMachineType())
    group.AddArgument(reservation_flags.GetMinCpuPlatform())
    group.AddArgument(reservation_flags.GetLocalSsdFlag())
    group.AddArgument(reservation_flags.GetAcceleratorFlag())
    if support_location_hint:
        group.AddArgument(reservation_flags.GetLocationHint())
    if support_fleet:
        group.AddArgument(instance_flags.AddMaintenanceFreezeDuration())
        group.AddArgument(instance_flags.AddMaintenanceInterval())
    group.AddToParser(parser)

    time_window_group = parser.add_group(
        help=
        'Manage the time specific properties for requesting future capacity',
        required=True)
    time_window_group.add_argument('--start-time',
                                   required=True,
                                   help=GetStartTimeHelpText())
    end_time_window_group = time_window_group.add_mutually_exclusive_group(
        required=True)
    end_time_window_group.add_argument('--end-time', help=GetEndTimeHelpText())
    end_time_window_group.add_argument('--duration',
                                       type=int,
                                       help=GetDurationHelpText())

    if support_share_setting:
        share_group = base.ArgumentGroup(
            'Manage the properties of a shared reservation.', required=False)
        share_group.AddArgument(GetSharedSettingFlag())
        share_group.AddArgument(GetShareWithFlag())
        share_group.AddToParser(parser)