Exemple #1
0
        return super(DescribeBeta, self).CreateReference(args,
                                                         default=default_scope)

    @property
    def global_service(self):
        return self.compute.backendServices

    @property
    def regional_service(self):
        return self.compute.regionBackendServices

    @property
    def zonal_service(self):
        return None

    @property
    def global_resource_type(self):
        return 'backendServices'

    @property
    def regional_resource_type(self):
        return 'regionBackendServices'

    @property
    def zonal_resource_type(self):
        return None


DescribeBeta.detailed_help = base_classes.GetMultiScopeDescriberHelp(
    'backend service', DescribeBeta.SCOPES)
    holder = base_classes.ComputeApiHolder(self.ReleaseTrack())
    client = holder.client
    apitools_client = client.apitools_client
    messages = client.messages
    resources = holder.resources

    ref = flags.MULTISCOPE_INSTANCE_GROUP_MANAGER_ARG.ResolveAsResource(
        args, resources,
        scope_lister=compute_flags.GetDefaultScopeLister(client))

    if ref.Collection() == 'compute.instanceGroupManagers':
      service = apitools_client.instanceGroupManagers
      request_type = messages.ComputeInstanceGroupManagersGetRequest
    elif ref.Collection() == 'compute.regionInstanceGroupManagers':
      service = apitools_client.regionInstanceGroupManagers
      request_type = messages.ComputeRegionInstanceGroupManagersGetRequest

    igm = encoding.MessageToDict(service.Get(request_type(**ref.AsDict())))
    annoted_igm = managed_instance_groups_utils.AddAutoscalersToMigs(
        migs_iterator=[igm],
        client=client,
        resources=resources,
        fail_when_api_not_supported=False)

    return list(annoted_igm)[0]


Describe.detailed_help = base_classes.GetMultiScopeDescriberHelp(
    'instance group', (base_classes.ScopeType.regional_scope,
                       base_classes.ScopeType.zonal_scope))
    @staticmethod
    def Args(parser):
        base_classes.MultiScopeDescriber.AddScopeArgs(parser,
                                                      'instanceGroupManagers',
                                                      DescribeAlpha.SCOPES)

    def ComputeDynamicProperties(self, args, items):
        """Add Autoscaler information if Autoscaler is defined for the item."""
        # Items are expected to be IGMs.
        return managed_instance_groups_utils.AddAutoscalersToMigs(
            migs_iterator=items,
            project=self.project,
            compute=self.compute,
            http=self.http,
            batch_url=self.batch_url,
            fail_when_api_not_supported=False)


Describe.detailed_help = {
    'brief':
    'Describe a managed instance group',
    'DESCRIPTION':
    """\
        *{command}* displays all data associated with a Google Compute Engine
managed instance group.
""",
}
DescribeAlpha.detailed_help = base_classes.GetMultiScopeDescriberHelp(
    'managed instance group', DescribeAlpha.SCOPES)
Exemple #4
0
  @property
  def global_resource_type(self):
    return None

  @property
  def regional_resource_type(self):
    return 'regionInstanceGroups'

  @property
  def zonal_resource_type(self):
    return 'instanceGroups'

  @staticmethod
  def Args(parser):
    base_classes.MultiScopeDescriber.AddScopeArgs(
        parser, 'instanceGroups', Describe.SCOPES)

  def ComputeDynamicProperties(self, args, items):
    return instance_groups_utils.ComputeInstanceGroupManagerMembership(
        compute=self.compute,
        project=self.project,
        http=self.http,
        batch_url=self.batch_url,
        items=items,
        filter_mode=instance_groups_utils.InstanceGroupFilteringMode.ALL_GROUPS)


Describe.detailed_help = base_classes.GetMultiScopeDescriberHelp(
    'instance group', Describe.SCOPES)
Exemple #5
0
        """Issues request necessary to describe the backend service."""
        holder = base_classes.ComputeApiHolder(self.ReleaseTrack())
        client = holder.client

        (backend_services_utils.
         IsDefaultRegionalBackendServicePropertyNoneWarnOtherwise())
        backend_service_ref = (
            flags.GLOBAL_REGIONAL_BACKEND_SERVICE_ARG.ResolveAsResource(
                args,
                holder.resources,
                scope_lister=compute_flags.GetDefaultScopeLister(client)))

        if backend_service_ref.Collection() == 'compute.backendServices':
            service = client.apitools_client.backendServices
            request = client.messages.ComputeBackendServicesGetRequest(
                **backend_service_ref.AsDict())
        elif backend_service_ref.Collection(
        ) == 'compute.regionBackendServices':
            service = client.apitools_client.regionBackendServices
            request = client.messages.ComputeRegionBackendServicesGetRequest(
                **backend_service_ref.AsDict())

        return client.MakeRequests([(service, 'Get', request)])[0]


Describe.detailed_help = base_classes.GetMultiScopeDescriberHelp(
    'backend service', [
        base_classes.ScopeType.regional_scope,
        base_classes.ScopeType.global_scope
    ])