示例#1
0
        table(
          name,
          region.basename(),
          IPAddress,
          IPProtocol,
          firstof(
              target,
              backendService).scope():label=TARGET
        )
        """)
    lister.AddMultiScopeListerFlags(parser, regional=True, global_=True)
    parser.display_info.AddCacheUpdater(flags.ForwardingRulesCompleter)

  def Run(self, args):
    holder = base_classes.ComputeApiHolder(self.ReleaseTrack())
    client = holder.client

    request_data = lister.ParseMultiScopeFlags(args, holder.resources)

    list_implementation = lister.MultiScopeLister(
        client,
        regional_service=client.apitools_client.forwardingRules,
        global_service=client.apitools_client.globalForwardingRules,
        aggregation_service=client.apitools_client.forwardingRules)

    return lister.Invoke(request_data, list_implementation)


List.detailed_help = (
    base_classes.GetGlobalRegionalListerHelp('forwarding rules'))
示例#2
0
    @staticmethod
    def Args(parser):
        parser.display_info.AddFormat(flags.DEFAULT_LIST_FORMAT)
        lister.AddMultiScopeListerFlags(parser, regional=True, global_=True)

    def Run(self, args):
        holder = base_classes.ComputeApiHolder(self.ReleaseTrack())
        client = holder.client

        request_data = lister.ParseMultiScopeFlags(args, holder.resources)

        list_implementation = lister.MultiScopeLister(
            client,
            regional_service=client.apitools_client.regionBackendServices,
            global_service=client.apitools_client.backendServices,
            aggregation_service=client.apitools_client.backendServices)

        return lister.Invoke(request_data, list_implementation)


@base.ReleaseTracks(base.ReleaseTrack.ALPHA, base.ReleaseTrack.BETA)
class ListBeta(List):
    @staticmethod
    def Args(parser):
        parser.display_info.AddFormat(flags.DEFAULT_BETA_LIST_FORMAT)
        lister.AddMultiScopeListerFlags(parser, regional=True, global_=True)


List.detailed_help = base_classes.GetGlobalRegionalListerHelp(
    'backend services')
示例#3
0
                                           custom_get_requests=None)


@base.ReleaseTracks(base.ReleaseTrack.ALPHA, base.ReleaseTrack.BETA)
class ListBeta(ListGA):
    """List Google Compute Engine operations."""
    def __init__(self, *args, **kwargs):
        super(ListBeta, self).__init__(*args, **kwargs)
        self._ga = False

    @staticmethod
    def Args(parser):
        AddFlags(parser, False)


ListGA.detailed_help = base_classes.GetGlobalRegionalListerHelp('operations')
ListBeta.detailed_help = {
    'brief':
    'List Google Compute Engine operations',
    'DESCRIPTION':
    """\
        *{command}* displays all Google Compute Engine operations in a
        project.

        By default, all global, regional, zonal and Compute Accounts operations
        are listed. The results can be narrowed by providing combinations of
        the --zones, --regions, --global and --accounts flags.
        """,
    'EXAMPLES':
    """\
        To list all operations in a project in table form, run:
        for region in regions:
            request = messages.ComputeRegionTargetTcpProxiesListRequest(
                project=project, region=region, filter=filter_expr)
            items = list_pager.YieldFromList(client.regionTargetTcpProxies,
                                             request,
                                             field='items',
                                             limit=args.limit,
                                             batch_size=None)
            # yield from items
            for item in items:
                yield item

    def _GetRegions(self, client, project):
        messages = client.MESSAGES_MODULE
        request = messages.ComputeRegionsListRequest(project=project)
        regions = list_pager.YieldFromList(client.regions,
                                           request,
                                           field='items',
                                           batch_size=None)
        return [region.name for region in regions]


@base.ReleaseTracks(base.ReleaseTrack.ALPHA, base.ReleaseTrack.BETA)
class ListAlphaBeta(List):
    _enable_region_target_tcp_proxy = True


List.detailed_help = base_classes.GetGlobalListerHelp('target TCP proxies')
ListAlphaBeta.detailed_help = base_classes.GetGlobalRegionalListerHelp(
    'target TCP proxies')
                                        limit=args.limit,
                                        batch_size=None)


@base.ReleaseTracks(base.ReleaseTrack.ALPHA, base.ReleaseTrack.BETA)
class ListAlphaBeta(base.ListCommand):
    """List SSL policies."""
    @staticmethod
    def Args(parser):
        parser.display_info.AddFormat(flags.DEFAULT_AGGREGATED_LIST_FORMAT)
        lister.AddMultiScopeListerFlags(parser, regional=True, global_=True)

    def Run(self, args):
        holder = base_classes.ComputeApiHolder(self.ReleaseTrack())
        client = holder.client

        request_data = lister.ParseMultiScopeFlags(args, holder.resources)

        list_implementation = lister.MultiScopeLister(
            client,
            regional_service=client.apitools_client.regionSslPolicies,
            global_service=client.apitools_client.sslPolicies,
            aggregation_service=client.apitools_client.sslPolicies)

        return lister.Invoke(request_data, list_implementation)


List.detailed_help = base_classes.GetGlobalListerHelp('SSL policies')
ListAlphaBeta.detailed_help = base_classes.GetGlobalRegionalListerHelp(
    'SSL policies')
@base.ReleaseTracks(base.ReleaseTrack.ALPHA)
class ListAlpha(base.ListCommand):
    """List security policies."""
    @staticmethod
    def Args(parser):
        parser.display_info.AddFormat("""\
        table(
          name,
          region.basename()
        )""")
        lister.AddMultiScopeListerFlags(parser, regional=True, global_=True)

    def Run(self, args):
        holder = base_classes.ComputeApiHolder(self.ReleaseTrack())
        client = holder.client

        request_data = lister.ParseMultiScopeFlags(args, holder.resources)

        list_implementation = lister.MultiScopeLister(
            client,
            regional_service=client.apitools_client.regionSecurityPolicies,
            global_service=client.apitools_client.securityPolicies,
            aggregation_service=client.apitools_client.securityPolicies)

        return lister.Invoke(request_data, list_implementation)


List.detailed_help = base_classes.GetGlobalListerHelp('security policies')
ListAlpha.detailed_help = base_classes.GetGlobalRegionalListerHelp(
    'security policies')