github.com/manicqin/nomad@v0.9.5/ui/app/components/freestyle/sg-diff-viewer.js (about)

     1  import Component from '@ember/component';
     2  
     3  const generateDiff = changeset => ({
     4    Fields: null,
     5    ID: 'insertions-only',
     6    Objects: null,
     7    TaskGroups: [
     8      {
     9        Fields: [{ Annotations: null, Name: 'Count', New: '2', Old: '2', Type: 'None' }],
    10        Name: 'cache',
    11        Objects: [
    12          {
    13            Fields: changeset,
    14            Name: 'RestartPolicy',
    15            Objects: null,
    16            Type: 'Edited',
    17          },
    18        ],
    19        Type: 'Edited',
    20        Updates: null,
    21      },
    22    ],
    23    Type: 'Edited',
    24  });
    25  
    26  export default Component.extend({
    27    insertionsOnly: generateDiff([
    28      { Annotations: null, Name: 'Attempts', New: '15', Old: '15', Type: 'None' },
    29      { Annotations: null, Name: 'Delay', New: '25000000000', Old: '', Type: 'Added' },
    30      { Annotations: null, Name: 'Interval', New: '900000000000', Old: '', Type: 'Added' },
    31      { Annotations: null, Name: 'Mode', New: 'delay', Old: 'delay', Type: 'None' },
    32    ]),
    33  
    34    deletionsOnly: generateDiff([
    35      { Annotations: null, Name: 'Attempts', New: '15', Old: '15', Type: 'None' },
    36      {
    37        Annotations: null,
    38        Name: 'Delay',
    39        New: '25000000000',
    40        Old: '25000000000',
    41        Type: 'None',
    42      },
    43      {
    44        Annotations: null,
    45        Name: 'Interval',
    46        New: '900000000000',
    47        Old: '900000000000',
    48        Type: 'None',
    49      },
    50      { Annotations: null, Name: 'Mode', New: '', Old: 'delay', Type: 'Deleted' },
    51    ]),
    52  
    53    editsOnly: generateDiff([
    54      { Annotations: null, Name: 'Attempts', New: '15', Old: '15', Type: 'None' },
    55      {
    56        Annotations: null,
    57        Name: 'Delay',
    58        New: '25000000000',
    59        Old: '25000000000',
    60        Type: 'None',
    61      },
    62      {
    63        Annotations: null,
    64        Name: 'Interval',
    65        New: '900000000000',
    66        Old: '250000000000',
    67        Type: 'Edited',
    68      },
    69      { Annotations: null, Name: 'Mode', New: 'delay', Old: 'delay', Type: 'None' },
    70    ]),
    71  
    72    largeDiff: {
    73      Fields: null,
    74      ID: 'example',
    75      Objects: null,
    76      TaskGroups: [
    77        {
    78          Fields: null,
    79          Name: 'cache',
    80          Objects: null,
    81          Tasks: [
    82            {
    83              Annotations: null,
    84              Fields: [
    85                {
    86                  Annotations: null,
    87                  Name: 'Meta[one]',
    88                  New: "flew over the cuckoo's nest",
    89                  Old: '',
    90                  Type: 'Added',
    91                },
    92                {
    93                  Annotations: null,
    94                  Name: 'Meta[two]',
    95                  New: 'birds on a wire',
    96                  Old: '',
    97                  Type: 'Added',
    98                },
    99              ],
   100              Name: 'redis',
   101              Objects: [
   102                {
   103                  Fields: [
   104                    {
   105                      Annotations: null,
   106                      Name: 'image',
   107                      New: 'redis:3.4',
   108                      Old: 'redis:3.2',
   109                      Type: 'Edited',
   110                    },
   111                    {
   112                      Annotations: null,
   113                      Name: 'port_map[0][db]',
   114                      New: '6380',
   115                      Old: '6379',
   116                      Type: 'Edited',
   117                    },
   118                  ],
   119                  Name: 'Config',
   120                  Objects: null,
   121                  Type: 'Edited',
   122                },
   123                {
   124                  Fields: [
   125                    { Annotations: null, Name: 'CPU', New: '1000', Old: '500', Type: 'Edited' },
   126                    { Annotations: null, Name: 'DiskMB', New: '0', Old: '0', Type: 'None' },
   127                    { Annotations: null, Name: 'IOPS', New: '0', Old: '0', Type: 'None' },
   128                    { Annotations: null, Name: 'MemoryMB', New: '512', Old: '256', Type: 'Edited' },
   129                  ],
   130                  Name: 'Resources',
   131                  Objects: [
   132                    {
   133                      Fields: [
   134                        { Annotations: null, Name: 'MBits', New: '100', Old: '', Type: 'Added' },
   135                      ],
   136                      Name: 'Network',
   137                      Objects: [
   138                        {
   139                          Fields: [
   140                            { Annotations: null, Name: 'Label', New: 'db', Old: '', Type: 'Added' },
   141                          ],
   142                          Name: 'Dynamic Port',
   143                          Objects: null,
   144                          Type: 'Added',
   145                        },
   146                      ],
   147                      Type: 'Added',
   148                    },
   149                    {
   150                      Fields: [
   151                        { Annotations: null, Name: 'MBits', New: '', Old: '10', Type: 'Deleted' },
   152                      ],
   153                      Name: 'Network',
   154                      Objects: [
   155                        {
   156                          Fields: [
   157                            { Annotations: null, Name: 'Label', New: '', Old: 'db', Type: 'Deleted' },
   158                          ],
   159                          Name: 'Dynamic Port',
   160                          Objects: null,
   161                          Type: 'Deleted',
   162                        },
   163                      ],
   164                      Type: 'Deleted',
   165                    },
   166                  ],
   167                  Type: 'Edited',
   168                },
   169                {
   170                  Fields: [
   171                    {
   172                      Annotations: null,
   173                      Name: 'AddressMode',
   174                      New: 'auto',
   175                      Old: 'auto',
   176                      Type: 'None',
   177                    },
   178                    {
   179                      Annotations: null,
   180                      Name: 'Name',
   181                      New: 'redis-cache',
   182                      Old: 'redis-cache',
   183                      Type: 'None',
   184                    },
   185                    { Annotations: null, Name: 'PortLabel', New: 'db', Old: 'db', Type: 'None' },
   186                  ],
   187                  Name: 'Service',
   188                  Objects: [
   189                    {
   190                      Fields: [
   191                        { Annotations: null, Name: 'Tags', New: 'redis', Old: '', Type: 'Added' },
   192                        { Annotations: null, Name: 'Tags', New: 'cache', Old: 'cache', Type: 'None' },
   193                        {
   194                          Annotations: null,
   195                          Name: 'Tags',
   196                          New: 'global',
   197                          Old: 'global',
   198                          Type: 'None',
   199                        },
   200                      ],
   201                      Name: 'Tags',
   202                      Objects: null,
   203                      Type: 'Added',
   204                    },
   205                    {
   206                      Fields: [
   207                        { Annotations: null, Name: 'AddressMode', New: '', Old: '', Type: 'None' },
   208                        { Annotations: null, Name: 'Command', New: '', Old: '', Type: 'None' },
   209                        { Annotations: null, Name: 'GRPCService', New: '', Old: '', Type: 'None' },
   210                        {
   211                          Annotations: null,
   212                          Name: 'GRPCUseTLS',
   213                          New: 'false',
   214                          Old: 'false',
   215                          Type: 'None',
   216                        },
   217                        { Annotations: null, Name: 'InitialStatus', New: '', Old: '', Type: 'None' },
   218                        {
   219                          Annotations: null,
   220                          Name: 'Interval',
   221                          New: '15000000000',
   222                          Old: '10000000000',
   223                          Type: 'Edited',
   224                        },
   225                        { Annotations: null, Name: 'Method', New: '', Old: '', Type: 'None' },
   226                        { Annotations: null, Name: 'Name', New: 'alive', Old: 'alive', Type: 'None' },
   227                        { Annotations: null, Name: 'Path', New: '', Old: '', Type: 'None' },
   228                        { Annotations: null, Name: 'PortLabel', New: '', Old: '', Type: 'None' },
   229                        { Annotations: null, Name: 'Protocol', New: '', Old: '', Type: 'None' },
   230                        {
   231                          Annotations: null,
   232                          Name: 'TLSSkipVerify',
   233                          New: 'false',
   234                          Old: 'false',
   235                          Type: 'None',
   236                        },
   237                        {
   238                          Annotations: null,
   239                          Name: 'Timeout',
   240                          New: '7000000000',
   241                          Old: '2000000000',
   242                          Type: 'Edited',
   243                        },
   244                        { Annotations: null, Name: 'Type', New: 'tcp', Old: 'tcp', Type: 'None' },
   245                      ],
   246                      Name: 'Check',
   247                      Objects: null,
   248                      Type: 'Edited',
   249                    },
   250                  ],
   251                  Type: 'Edited',
   252                },
   253              ],
   254              Type: 'Edited',
   255            },
   256          ],
   257          Type: 'Edited',
   258          Updates: null,
   259        },
   260        {
   261          Fields: [
   262            { Annotations: null, Name: 'Count', New: '1', Old: '', Type: 'Added' },
   263            { Annotations: null, Name: 'Meta[key]', New: 'value', Old: '', Type: 'Added' },
   264            { Annotations: null, Name: 'Meta[red]', New: 'fish', Old: '', Type: 'Added' },
   265          ],
   266          Name: 'cache2',
   267          Objects: [
   268            {
   269              Fields: [
   270                { Annotations: null, Name: 'Attempts', New: '2', Old: '', Type: 'Added' },
   271                { Annotations: null, Name: 'Delay', New: '15000000000', Old: '', Type: 'Added' },
   272                { Annotations: null, Name: 'Interval', New: '1800000000000', Old: '', Type: 'Added' },
   273                { Annotations: null, Name: 'Mode', New: 'fail', Old: '', Type: 'Added' },
   274              ],
   275              Name: 'RestartPolicy',
   276              Objects: null,
   277              Type: 'Added',
   278            },
   279            {
   280              Fields: [
   281                { Annotations: null, Name: 'Migrate', New: 'false', Old: '', Type: 'Added' },
   282                { Annotations: null, Name: 'SizeMB', New: '300', Old: '', Type: 'Added' },
   283                { Annotations: null, Name: 'Sticky', New: 'false', Old: '', Type: 'Added' },
   284              ],
   285              Name: 'EphemeralDisk',
   286              Objects: null,
   287              Type: 'Added',
   288            },
   289          ],
   290          Tasks: [
   291            {
   292              Annotations: null,
   293              Fields: [
   294                { Annotations: null, Name: 'Driver', New: 'docker', Old: '', Type: 'Added' },
   295                { Annotations: null, Name: 'KillTimeout', New: '5000000000', Old: '', Type: 'Added' },
   296                { Annotations: null, Name: 'Leader', New: 'false', Old: '', Type: 'Added' },
   297                { Annotations: null, Name: 'ShutdownDelay', New: '0', Old: '', Type: 'Added' },
   298              ],
   299              Name: 'redis',
   300              Objects: [
   301                {
   302                  Fields: [
   303                    { Annotations: null, Name: 'image', New: 'redis:3.2', Old: '', Type: 'Added' },
   304                    {
   305                      Annotations: null,
   306                      Name: 'port_map[0][db]',
   307                      New: '6379',
   308                      Old: '',
   309                      Type: 'Added',
   310                    },
   311                  ],
   312                  Name: 'Config',
   313                  Objects: null,
   314                  Type: 'Added',
   315                },
   316                {
   317                  Fields: [
   318                    { Annotations: null, Name: 'CPU', New: '500', Old: '', Type: 'Added' },
   319                    { Annotations: null, Name: 'DiskMB', New: '0', Old: '', Type: 'Added' },
   320                    { Annotations: null, Name: 'IOPS', New: '0', Old: '', Type: 'Added' },
   321                    { Annotations: null, Name: 'MemoryMB', New: '256', Old: '', Type: 'Added' },
   322                  ],
   323                  Name: 'Resources',
   324                  Objects: [
   325                    {
   326                      Fields: [
   327                        { Annotations: null, Name: 'MBits', New: '10', Old: '', Type: 'Added' },
   328                      ],
   329                      Name: 'Network',
   330                      Objects: [
   331                        {
   332                          Fields: [
   333                            { Annotations: null, Name: 'Label', New: 'db', Old: '', Type: 'Added' },
   334                          ],
   335                          Name: 'Dynamic Port',
   336                          Objects: null,
   337                          Type: 'Added',
   338                        },
   339                      ],
   340                      Type: 'Added',
   341                    },
   342                  ],
   343                  Type: 'Added',
   344                },
   345              ],
   346              Type: 'Added',
   347            },
   348          ],
   349          Type: 'Added',
   350          Updates: null,
   351        },
   352      ],
   353      Type: 'Edited',
   354    },
   355  });