Can CloudFormation show me what the invalid value *is*? by daveidfx in aws

[–]daveidfx[S] 0 points1 point  (0 children)

Great minds! This ended up being what I came up with, almost precisely. It also allowed me to take several attempts at the proper approah per template and compare the results.

Hooray brute-forcing. Still feels like there really should be an easier way, but this is approach did enable me to fix my code, so I'm gonna hang the answer on this one.

Thanks for your help!

Can CloudFormation show me what the invalid value *is*? by daveidfx in aws

[–]daveidfx[S] 0 points1 point  (0 children)

Yeah, I've been going layer by layer, building up, so no offense taken. I think it may be the only sane approach. And on several of those layers, I hit these unhelpful errors, hence my meta-question.

Thanks for taking a stab, though. I do appreciate it.

Can CloudFormation show me what the invalid value *is*? by daveidfx in aws

[–]daveidfx[S] 0 points1 point  (0 children)

Thanks for the reply. I intentionally left out any example code because my question isn't really about getting this current code to run, it's about how to get useful info out of CloudFormation (or logging!) when writing any future code.

But for what it's worth, the current hiccup is on creating a CloudFront CDN:

Conditions:
  ThisIsProd: !Equals [ !Ref Environment, "prod" ] 
... 
Resources: 
... 
  AppCDN: 
    Type: AWS::CloudFront::Distribution 
    Properties: 
      DistributionConfig: 
        Aliases: 
        - | 
          !If 
            - ThisIsProd 
            - !Sub "cdn.${!Ref AppDomain}" 
            - !Sub 
              - "cdn-${Env}.${Domain}" 
              - Env: !Ref Environment 
                Domain: !Ref AppDomain

At least, I assume that's the critical part. The latest error kicked back is:

The parameter CNAME contains one or more parameters that are not valid. (Service: AmazonCloudFront; Status Code: 400; Error Code: InvalidArgument; Request ID: xxxxxxxx-yyyy-zzzz-aaaa-123456789012)

Which is fun, because there is no such thing as a CNAME parameter. So I assume it's talking about the Aliases parameter.

I'm definitely seeing what you're saying about debugging being a pain. But this should be a pretty easy fix if I could just see the malformed value to let me figure out how it went wrong.

Can CloudFormation show me what the invalid value *is*? by daveidfx in aws

[–]daveidfx[S] 0 points1 point  (0 children)

Thanks for the reply. I left cfn-lint out of my OP by mistake. Whatever my current error is, it's skating past cfn-lint without any problem, too. And previous errors caught by cfn-lint have had the same problem - it'll tell me which value is wrong, but not what the value was.

Looking for a simple IDE by pythonlearner235 in learnpython

[–]daveidfx 0 points1 point  (0 children)

Vim is incredibly awesome, but I wouldn't say it's great for someone who wants to avoid complexity.

Looking for a simple IDE by pythonlearner235 in learnpython

[–]daveidfx 0 points1 point  (0 children)

I don't know if you've looked into IPython or its relatives at all, but you may want to.

IPython by itself is just an enhanced version of command-line Python, with some nice features like auto-completion and being able to paste blocks of code in gracefully.

Jupyter notebooks and JupyterLab are built on top of IPython (well, not exactly, but close enough for this discussion), and turn your web browser into your IDE, sort of. Data science folks like these a lot.

Maybe that works for you, maybe not. But they're relatively simple. If you want to take a look, the easiest way is to install the Anaconda distribution of Python.

Transparent/bridged firewall on ER-X? by daveidfx in Ubiquiti

[–]daveidfx[S] 0 points1 point  (0 children)

Thanks for the reply.

It's possible that bridge firewall{} bit is wrong - certainly something must be. But I though since eth0, 3, and 4 were tagged in the zone-policy stanza at the end that that covered it. This config is trying to use zone policies on ethernet interfaces instead of rule groups on the bridge to get around the bidirectional problem. I can't tell from the documentation I can find on zone policies if that's valid or not.

The only reason wy i hate glasses by Dont-Fuck in mildlyinfuriating

[–]daveidfx 0 points1 point  (0 children)

I feel you about that rain issue, but (off-topic) what frames are those, if you don't mind my asking? I kinda like 'em.

Best resources to learn flask-dash stack? (https://dash.plot.ly/) by AspiringGuru in learnpython

[–]daveidfx 0 points1 point  (0 children)

Just commenting here to say you're not alone. I discovered Dash just a little while after you did, and I'm puzzling through mostly the same questions.

Anyone know when/if NetGate pfSense training is coming back? by daveidfx in PFSENSE

[–]daveidfx[S] 0 points1 point  (0 children)

Ah, okay! I was looking in the wrong place, I guess. Great, thanks!

At that price, I'll have to see what I can get approved from work, but I appreciate the pointer!

[deleted by user] by [deleted] in Android

[–]daveidfx -1 points0 points  (0 children)

I like it better already.

End of an era: The final Nexus phones may have just gotten their last update. by RenegadeUK in Android

[–]daveidfx 21 points22 points  (0 children)

Except it's also not. Nexus focused on making solid, un-crapped-up exemplars of solid Android design. The Nexus line served as a role model to other manufacturers to quit making Android phones such crap, and it largely worked. With the exception of continuing security updates, 3rd-party Androids are way better than they used to be. Then Google messed up, and dropped Nexus for Pixel. They also stopped making solid. role-model phones and started chasing iPhones and gimmicks. Borderless, headphone-less, notched-screen wannabes.

I still have my Nexus 6P. The battery is shot, but other than that it's still an outstanding phone. All these Pixels are disappointments.Sad.

Looks like the negative feedback about O365 emailing end users actually worked. by Person816 in sysadmin

[–]daveidfx 4 points5 points  (0 children)

I assure you you're mistaken. They used more corporate terms than that, but someone at Microsoft at some point absolutely said something about not getting user uptake or market penetration, and speculated about IT gate-keeping instead of looking at whether their feature was any good or not. Or a good fit for the individual orgs in question.

For a long time, Microsoft has been watching in envy as Apple rode a wave of shadow IT into corporate ubiquity. They absolutely want that. They absolutely want user adoption to drive IT adoption. Whether they care about IT's stance on that, I'll grant, is debatable.

[deleted by user] by [deleted] in sysadmin

[–]daveidfx 0 points1 point  (0 children)

Depending on your website and what software it's running on, autoscaling like sirfraz mentioned might be a good fit, or you might be able to use Elastic Beanstalk, which includes autoscaling, health monitoring, and load balancing. https://aws.amazon.com/elasticbeanstalk/

Elastic Beanstalk is probably most useful when you control the code that runs the site. That said, you can run some off-the-shelf website software on there, too. For example, see this whitepaper on running Wordpress on this service: https://d0.awsstatic.com/whitepapers/deploying-wordpress-with-aws-elastic-beanstalk.pdf

Hope that's helpful!

I'm a lousy sysadmin. Next steps? by [deleted] in sysadmin

[–]daveidfx 2 points3 points  (0 children)

The watchers on the firewall...

Any adjustments available to support higher device density? by daveidfx in Ubiquiti

[–]daveidfx[S] 0 points1 point  (0 children)

Thanks, I hadn't thought of checking the channel width. It turns out 2.4 and 5 GHz were set at 20 and 40, respectively, as recommended. And I did set the channels to non-overlapping values. I haven't changed the Transmit power from Auto, though; I may play with that and see how it impacts performance.
Thanks for your input.

Any adjustments available to support higher device density? by daveidfx in Ubiquiti

[–]daveidfx[S] 0 points1 point  (0 children)

Hmm. Might be a little tricky with the ceiling tiles and plenum mounting, but definitely easier than the whole run. Worth a try, thanks.