當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript core.NameUtils類代碼示例

本文整理匯總了TypeScript中@spinnaker/core.NameUtils的典型用法代碼示例。如果您正苦於以下問題:TypeScript NameUtils類的具體用法?TypeScript NameUtils怎麽用?TypeScript NameUtils使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


在下文中一共展示了NameUtils類的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1:

 toTest.clusters.forEach((cluster: any) => {
   const clusterName: string = NameUtils.getClusterName(
     cluster.application,
     cluster.stack,
     cluster.freeFormDetails,
   );
   if (clusterName === stage.cluster && cluster.account === stage.credentials && cluster.region === region) {
     regionFound = true;
   }
 });
開發者ID:emjburns,項目名稱:deck,代碼行數:10,代碼來源:cfTargetImpedance.validator.ts

示例2: if

 stagesToTest.forEach(toTest => {
   if (toTest.type === 'deploy' && toTest.clusters && toTest.clusters.length) {
     toTest.clusters.forEach((cluster: any) => {
       const clusterName: string = NameUtils.getClusterName(
         cluster.application,
         cluster.stack,
         cluster.freeFormDetails,
       );
       if (clusterName === stage.cluster && cluster.account === stage.credentials && cluster.region === region) {
         regionFound = true;
       }
     });
   } else if (
     toTest.type === 'cloneServerGroup' &&
     NameUtils.getClusterName(toTest.application, toTest.stack, toTest.freeFormDetails) === stage.cluster &&
     toTest.region === region
   ) {
     regionFound = true;
   }
 });
開發者ID:emjburns,項目名稱:deck,代碼行數:20,代碼來源:cfTargetImpedance.validator.ts

示例3: convertNetworkLoadBalancerForEditing

  public convertNetworkLoadBalancerForEditing(
    loadBalancer: IAmazonApplicationLoadBalancer,
  ): IAmazonNetworkLoadBalancerUpsertCommand {
    const applicationName = NameUtils.parseLoadBalancerName(loadBalancer.name).application;

    // Since we build up toEdit as we go, much easier to declare as any, then cast at return time.
    const toEdit: IAmazonNetworkLoadBalancerUpsertCommand = {
      availabilityZones: undefined,
      isInternal: loadBalancer.isInternal,
      region: loadBalancer.region,
      loadBalancerType: 'network',
      cloudProvider: loadBalancer.cloudProvider,
      credentials: loadBalancer.account || loadBalancer.credentials,
      listeners: [],
      targetGroups: [],
      name: loadBalancer.name,
      regionZones: loadBalancer.availabilityZones,
      securityGroups: [],
      subnetType: loadBalancer.subnetType,
      vpcId: undefined,
    };

    if (loadBalancer.elb) {
      const elb = loadBalancer.elb as INetworkLoadBalancerSourceData;
      toEdit.securityGroups = elb.securityGroups;
      toEdit.vpcId = elb.vpcid || elb.vpcId;

      // Convert listeners
      if (elb.listeners) {
        toEdit.listeners = elb.listeners.map(listener => {
          const certificates: IALBListenerCertificate[] = [];
          if (listener.certificates) {
            listener.certificates.forEach(cert => {
              const certArnParts = cert.certificateArn.split(':');
              const certParts = certArnParts[5].split('/');
              certificates.push({
                certificateArn: cert.certificateArn,
                type: certArnParts[2],
                name: certParts[1],
              });
            });
          }

          (listener.defaultActions || []).forEach(action => {
            if (action.targetGroupName) {
              action.targetGroupName = action.targetGroupName.replace(`${applicationName}-`, '');
            }
          });

          // Remove the default rule because it already exists in defaultActions
          listener.rules = (listener.rules || []).filter(l => !l.default);
          listener.rules.forEach(rule => {
            (rule.actions || []).forEach(action => {
              if (action.targetGroupName) {
                action.targetGroupName = action.targetGroupName.replace(`${applicationName}-`, '');
              }
            });
            rule.conditions = rule.conditions || [];
          });

          // Sort listener.rules by priority.
          listener.rules.sort((a, b) => (a.priority as number) - (b.priority as number));

          return {
            protocol: listener.protocol,
            port: listener.port,
            defaultActions: listener.defaultActions,
            certificates,
            rules: listener.rules || [],
            sslPolicy: listener.sslPolicy,
          };
        });
      }

      // Convert target groups
      if (elb.targetGroups) {
        toEdit.targetGroups = elb.targetGroups.map((targetGroup: any) => {
          return {
            name: targetGroup.targetGroupName.replace(`${applicationName}-`, ''),
            protocol: targetGroup.protocol,
            port: targetGroup.port,
            targetType: targetGroup.targetType,
            healthCheckProtocol: targetGroup.healthCheckProtocol,
            healthCheckPort: targetGroup.healthCheckPort,
            healthCheckTimeout: targetGroup.healthCheckTimeoutSeconds,
            healthCheckInterval: targetGroup.healthCheckIntervalSeconds,
            healthyThreshold: targetGroup.healthyThresholdCount,
            unhealthyThreshold: targetGroup.unhealthyThresholdCount,
            attributes: {
              deregistrationDelay: Number(targetGroup.attributes['deregistration_delay.timeout_seconds']),
            },
          };
        });
      }
    }
    return toEdit;
  }
開發者ID:mizzy,項目名稱:deck,代碼行數:97,代碼來源:loadBalancer.transformer.ts


注:本文中的@spinnaker/core.NameUtils類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。