def Run(self, args):
    holder = base_classes.ComputeApiHolder(self.ReleaseTrack())
    resources = holder.resources
    client = holder.client
    commitment_ref = flags.MakeCommitmentArg(False).ResolveAsResource(
        args,
        resources,
        scope_lister=compute_flags.GetDefaultScopeLister(holder.client))

    messages = holder.client.messages

    commitment = messages.Commitment(
        name=commitment_ref.Name(),
        plan=flags.TranslatePlanArg(messages, args.plan),
        category=messages.Commitment.CategoryValueValuesEnum.LICENSE,
        licenseResource=messages.LicenseResourceCommitment(
            amount=args.amount,
            coresPerLicense=args.cores_per_license,
            license=args.license
        ))
    request = (messages.ComputeRegionCommitmentsInsertRequest(
        commitment=commitment,
        project=commitment_ref.project,
        region=commitment_ref.region))
    return client.MakeRequests([(client.apitools_client.regionCommitments,
                                 'Insert', request)])
Example #2
0
    def _MakeCreateRequest(self, args, messages, project, region,
                           commitment_ref, holder):

        if (args.split_source_commitment is not None
                and args.merge_source_commitments is not None):
            raise Exception(
                'It is not possible to merge and split in one request')

        commitment_type_flag = flags.GetTypeMapperFlag(messages)
        commitment_type = commitment_type_flag.GetEnumForChoice(args.type)
        commitment = messages.Commitment(
            reservations=reservation_helper.MakeReservations(
                args, messages, holder),
            name=commitment_ref.Name(),
            plan=flags.TranslatePlanArg(messages, args.plan),
            resources=flags.TranslateResourcesArgGroup(messages, args),
            type=commitment_type,
            autoRenew=flags.TranslateAutoRenewArg(args),
            splitSourceCommitment=args.split_source_commitment,
            mergeSourceCommitments=flags.TranslateMergeArg(
                args.merge_source_commitments))
        return messages.ComputeRegionCommitmentsInsertRequest(
            commitment=commitment,
            project=project,
            region=commitment_ref.region,
        )
Example #3
0
 def _MakeCreateRequest(self, args, messages, project, region, commitment_ref):
   commitment = messages.Commitment(
       name=commitment_ref.Name(),
       plan=flags.TranslatePlanArg(messages, args.plan),
       resources=flags.TranslateResourcesArg(messages, args.resources),
   )
   return messages.ComputeRegionCommitmentsInsertRequest(
       commitment=commitment,
       project=project,
       region=commitment_ref.region,
   )
Example #4
0
 def _MakeCreateRequest(self, args, messages, project, region,
                        commitment_ref, holder):
     commitment = messages.Commitment(
         reservations=reservation_helper.MakeReservations(
             args, messages, holder),
         name=commitment_ref.Name(),
         plan=flags.TranslatePlanArg(messages, args.plan),
         resources=flags.TranslateResourcesArgGroup(messages, args))
     return messages.ComputeRegionCommitmentsInsertRequest(
         commitment=commitment,
         project=project,
         region=commitment_ref.region,
     )
Example #5
0
 def _MakeCreateRequest(self, args, messages, project, region,
                        commitment_ref):
     commitment_type_flag = flags.GetTypeMapperFlag(messages)
     commitment_type = commitment_type_flag.GetEnumForChoice(args.type)
     commitment = messages.Commitment(
         name=commitment_ref.Name(),
         plan=flags.TranslatePlanArg(messages, args.plan),
         resources=flags.TranslateResourcesArg(messages, args.resources),
         type=commitment_type)
     return messages.ComputeRegionCommitmentsInsertRequest(
         commitment=commitment,
         project=project,
         region=commitment_ref.region,
     )
Example #6
0
 def _MakeCreateRequest(self, args, messages, project, region,
                        commitment_ref, holder):
     commitment_type_flag = flags.GetTypeMapperFlag(messages)
     commitment_type = commitment_type_flag.GetEnumForChoice(args.type)
     commitment = messages.Commitment(
         reservations=reservation_helper.MakeReservations(
             args, messages, holder),
         name=commitment_ref.Name(),
         plan=flags.TranslatePlanArg(messages, args.plan),
         resources=flags.TranslateResourcesArgGroup(messages, args),
         type=commitment_type,
         autoRenew=flags.TranslateAutoRenewArg(args))
     return messages.ComputeRegionCommitmentsInsertRequest(
         commitment=commitment,
         project=project,
         region=commitment_ref.region,
     )