예제 #1
0
  def CreateRequests(self, args):
    group_ref = instance_groups_utils.CreateInstanceGroupReference(
        scope_prompter=self, compute=self.compute, resources=self.resources,
        name=args.name, region=args.region, zone=args.zone)
    instances = instance_groups_utils.CreateInstanceReferences(
        self, self.compute_client, group_ref, args.instances)

    if group_ref.Collection() == 'compute.instanceGroupManagers':
      service = self.compute.instanceGroupManagers
      request = (
          self.messages.ComputeInstanceGroupManagersRecreateInstancesRequest(
              instanceGroupManager=group_ref.Name(),
              instanceGroupManagersRecreateInstancesRequest=(
                  self.messages.InstanceGroupManagersRecreateInstancesRequest(
                      instances=instances,
                  )
              ),
              project=self.project,
              zone=group_ref.zone,
          ))
    else:
      service = self.compute.regionInstanceGroupManagers
      request = (
          self.messages.
          ComputeRegionInstanceGroupManagersRecreateInstancesRequest(
              instanceGroupManager=group_ref.Name(),
              regionInstanceGroupManagersRecreateRequest=(
                  self.messages.RegionInstanceGroupManagersRecreateRequest(
                      instances=instances,)
              ),
              project=self.project,
              region=group_ref.region,
          ))

    return [(service, self.method, request)]
예제 #2
0
 def CreateGroupReference(self, args):
     return instance_groups_utils.CreateInstanceGroupReference(
         scope_prompter=self,
         compute=self.compute,
         resources=self.resources,
         name=args.name,
         region=args.region,
         zone=args.zone)
예제 #3
0
 def CreateGroupReference(self, args):
     return instance_groups_utils.CreateInstanceGroupReference(
         scope_prompter=self,
         compute=self.compute,
         resources=self.resources,
         name=args.instance_group,
         region=args.instance_group_region,
         zone=args.instance_group_zone,
         zonal_resource_type='instanceGroups',
         regional_resource_type='regionInstanceGroups')
예제 #4
0
파일: create.py 프로젝트: TobiahRex/Wingman
 def CreateGroupReference(self, args):
     group_ref = instance_groups_utils.CreateInstanceGroupReference(
         scope_prompter=self,
         compute=self.compute,
         resources=self.resources,
         name=args.name,
         region=args.region,
         zone=args.zone)
     if _IsZonalGroup(group_ref):
         self.WarnForZonalCreation([group_ref])
     return group_ref
예제 #5
0
 def CreateGroupReference(self, args):
     """Overrides."""
     return instance_groups_utils.CreateInstanceGroupReference(
         scope_prompter=self,
         compute=self.compute,
         resources=self.resources,
         name=args.instance_group,
         region=args.instance_group_region,
         zone=(args.instance_group_zone
               if args.instance_group_zone else args.zone),
         zonal_resource_type='instanceGroups',
         regional_resource_type='regionInstanceGroups')
예제 #6
0
 def CreateRequests(self, args):
   group_ref = instance_groups_utils.CreateInstanceGroupReference(
       scope_prompter=self, compute=self.compute, resources=self.resources,
       name=args.group, region=args.region, zone=args.zone,
       zonal_resource_type='instanceGroups',
       regional_resource_type='regionInstanceGroups')
   ports = instance_groups_utils.ValidateAndParseNamedPortsArgs(
       self.messages, args.named_ports)
   # service could be zonal or regional
   request, service = instance_groups_utils.GetSetNamedPortsRequestForGroup(
       self.compute_client, group_ref, ports)
   return [(service, self.method, request)]
예제 #7
0
    def CreateRequests(self, args):
        group_ref = instance_groups_utils.CreateInstanceGroupReference(
            scope_prompter=self,
            compute=self.compute,
            resources=self.resources,
            name=args.name,
            region=args.region,
            zone=args.zone)

        if group_ref.Collection() == 'compute.instanceGroupManagers':
            region = utils.ZoneNameToRegionName(group_ref.zone)
        else:
            region = group_ref.region

        pool_refs = self.CreateRegionalReferences(args.target_pools,
                                                  region,
                                                  resource_type='targetPools')
        pools = [pool_ref.SelfLink() for pool_ref in pool_refs]

        if group_ref.Collection() == 'compute.instanceGroupManagers':
            service = self.compute.instanceGroupManagers
            request = (self.messages.
                       ComputeInstanceGroupManagersSetTargetPoolsRequest(
                           instanceGroupManager=group_ref.Name(),
                           instanceGroupManagersSetTargetPoolsRequest=(
                               self.messages.
                               InstanceGroupManagersSetTargetPoolsRequest(
                                   targetPools=pools, )),
                           project=self.project,
                           zone=group_ref.zone,
                       ))
        else:
            service = self.compute.regionInstanceGroupManagers
            request = (
                self.messages.
                ComputeRegionInstanceGroupManagersSetTargetPoolsRequest(
                    instanceGroupManager=group_ref.Name(),
                    regionInstanceGroupManagersSetTargetPoolsRequest=(
                        self.messages.
                        RegionInstanceGroupManagersSetTargetPoolsRequest(
                            targetPools=pools, )),
                    project=self.project,
                    region=group_ref.region,
                ))
        return [(service, self.method, request)]
예제 #8
0
    def CreateRequests(self, args):
        group_ref = instance_groups_utils.CreateInstanceGroupReference(
            scope_prompter=self,
            compute=self.compute,
            resources=self.resources,
            name=args.name,
            region=args.region,
            zone=args.zone)
        auto_healing_policies = (
            managed_instance_groups_utils.CreateAutohealingPolicies(
                self, args))

        if group_ref.Collection() == 'compute.instanceGroupManagers':
            service = self.compute.instanceGroupManagers
            request = (
                self.messages.
                ComputeInstanceGroupManagersSetAutoHealingPoliciesRequest(
                    project=self.project,
                    zone=group_ref.zone,
                    instanceGroupManager=group_ref.Name(),
                    instanceGroupManagersSetAutoHealingRequest=(
                        self.messages.
                        InstanceGroupManagersSetAutoHealingRequest(
                            autoHealingPolicies=auto_healing_policies))))
        else:
            service = self.compute.regionInstanceGroupManagers
            request = (
                self.messages.
                ComputeRegionInstanceGroupManagersSetAutoHealingPoliciesRequest(
                    project=self.project,
                    region=group_ref.region,
                    instanceGroupManager=group_ref.Name(),
                    regionInstanceGroupManagersSetAutoHealingRequest=(
                        self.messages.
                        RegionInstanceGroupManagersSetAutoHealingRequest(
                            autoHealingPolicies=auto_healing_policies))))

        return [(service, self.method, request)]
예제 #9
0
  def CreateRequests(self, args):
    group_ref = instance_groups_utils.CreateInstanceGroupReference(
        scope_prompter=self, compute=self.compute, resources=self.resources,
        name=args.name, region=args.region, zone=args.zone)
    template_ref = self.CreateGlobalReference(
        args.template, resource_type='instanceTemplates')

    if group_ref.Collection() == 'compute.instanceGroupManagers':
      service = self.compute.instanceGroupManagers
      request = (
          self.messages.ComputeInstanceGroupManagersSetInstanceTemplateRequest(
              instanceGroupManager=group_ref.Name(),
              instanceGroupManagersSetInstanceTemplateRequest=(
                  self.messages.InstanceGroupManagersSetInstanceTemplateRequest(
                      instanceTemplate=template_ref.SelfLink(),
                  )
              ),
              project=self.project,
              zone=group_ref.zone,)
      )
    else:
      service = self.compute.regionInstanceGroupManagers
      request = (
          self.messages.
          ComputeRegionInstanceGroupManagersSetInstanceTemplateRequest(
              instanceGroupManager=group_ref.Name(),
              regionInstanceGroupManagersSetTemplateRequest=(
                  self.messages.RegionInstanceGroupManagersSetTemplateRequest(
                      instanceTemplate=template_ref.SelfLink(),
                  )
              ),
              project=self.project,
              region=group_ref.region,)
      )

    return [(service, self.method, request)]