def Args(cls, parser): resource_args.GetReservationResourceArg().AddArgument( parser, operation_type='update') r_flags.GetShareWithFlag().AddToParser(parser) r_flags.GetAddShareWithFlag().AddToParser(parser) r_flags.GetRemoveShareWithFlag().AddToParser(parser) r_flags.GetVmCountFlag(False).AddToParser(parser)
def Args(cls, parser): resource_args.GetReservationResourceArg().AddArgument( parser, operation_type='create') flags.AddCreateFlags(parser, support_share_setting=cls._support_share_setting, support_location_hint=cls._support_location_hint, support_fleet=True)
def AddReservationArgGroup(parser): """Adds all flags needed for reservations creation.""" reservations_manage_group = parser.add_group( 'Manage the reservations to be created with the commitment.', mutex=True) reservations_manage_group.add_argument( '--reservations-from-file', type=arg_parsers.BufferedFileInput(), help='The path to a YAML file of multiple reservations\' configuration.' ) single_reservation_group = reservations_manage_group.add_argument_group( help='Manage the reservation to be created with the commitment.') resource_args.GetReservationResourceArg( positional=False).AddArgument(single_reservation_group) single_reservation_group.add_argument( '--reservation-type', hidden=True, choices=['specific'], default='specific', help='The type of the reservation to be created.') specific_sku_reservation_group = single_reservation_group.add_argument_group( help='Manage the specific SKU reservation properties to create.') AddFlagsToSpecificSkuGroup(specific_sku_reservation_group)
def AddReservationArgGroup(parser, support_share_setting=False): """Adds all flags needed for reservations creation.""" reservations_manage_group = parser.add_group( 'Manage the reservations to be created with the commitment.', mutex=True) AddReservationsFromFileFlag(reservations_manage_group) single_reservation_group = reservations_manage_group.add_argument_group( help='Manage the reservation to be created with the commitment.') resource_args.GetReservationResourceArg( positional=False).AddArgument(single_reservation_group) single_reservation_group.add_argument( '--reservation-type', hidden=True, choices=['specific'], default='specific', help='The type of the reservation to be created.') specific_sku_reservation_group = single_reservation_group.add_argument_group( help='Manage the specific SKU reservation properties to create.') AddFlagsToSpecificSkuGroup(specific_sku_reservation_group) if support_share_setting: share_setting_reservation_group = single_reservation_group.add_argument_group( help='Manage the properties of a shared reservation to create', required=False) AddFlagsToShareSettingGroup(share_setting_reservation_group)
def _MakeSingleReservation(args, messages, holder): """Makes one Allocation message object.""" reservation_ref = resource_args.GetReservationResourceArg( positional=False).ResolveAsResource( args, holder.resources, scope_lister=compute_flags.GetDefaultScopeLister(holder.client)) return util.MakeReservationMessageFromArgs(messages, args, reservation_ref)
def Run(self, args): """Common routine for updating reservation.""" holder = base_classes.ComputeApiHolder(self.ReleaseTrack()) resources = holder.resources service = holder.client.apitools_client.reservations # Validate the command. _ValidateArgs(args, self._support_share_with, self._support_share_with_flag) reservation_ref = resource_args.GetReservationResourceArg( ).ResolveAsResource(args, resources, scope_lister=compute_flags.GetDefaultScopeLister( holder.client)) result = list() errors = [] share_with = False if self._support_share_with: if args.IsSpecified('add_share_with') or args.IsSpecified( 'remove_share_with'): share_with = True if self._support_share_with_flag: if args.IsSpecified('share_with'): share_with = True if self._support_share_with and share_with: r_update_request = _GetShareSettingUpdateRequest( args, reservation_ref, holder, self._support_share_with_flag) # Invoke Reservation.update API. result.append( list( request_helper.MakeRequests( requests=[(service, 'Update', r_update_request)], http=holder.client.apitools_client.http, batch_url=holder.client.batch_url, errors=errors))) if errors: utils.RaiseToolException(errors) if args.IsSpecified('vm_count'): r_resize_request = _GetResizeRequest(args, reservation_ref, holder) # Invoke Reservation.resize API. result.append( holder.client.MakeRequests( ([(service, 'Resize', r_resize_request)]))) return result
def _RunCreate(compute_api, args): """Common routine for creating reservation.""" resources = compute_api.resources reservation_ref = resource_args.GetReservationResourceArg( ).ResolveAsResource(args, resources, scope_lister=compute_flags.GetDefaultScopeLister( compute_api.client)) messages = compute_api.client.messages project = reservation_ref.project create_request = _MakeCreateRequest(args, messages, project, reservation_ref) service = compute_api.client.apitools_client.reservations return compute_api.client.MakeRequests([(service, 'Insert', create_request) ])
def Run(self, args): holder = base_classes.ComputeApiHolder(self.ReleaseTrack()) resources = holder.resources reservation_ref = resource_args.GetReservationResourceArg( ).ResolveAsResource(args, resources, scope_lister=compute_flags.GetDefaultScopeLister( holder.client)) messages = holder.client.messages project = reservation_ref.project create_request = self._MakeCreateRequest(args, messages, project, reservation_ref) service = holder.client.apitools_client.reservations return holder.client.MakeRequests([(service, 'Insert', create_request) ])
def Args(cls, parser): resource_args.GetReservationResourceArg().AddArgument( parser, operation_type='create') flags.AddCreateFlags(parser, support_location_hint=cls._support_location_hint)
def Args(parser): resource_args.GetReservationResourceArg().AddArgument( parser, operation_type='create') flags.AddCreateFlags(parser)