小编ale*_*xis的帖子

Terraform 13,根据另一个变量的值验证变量

有没有办法实现以下逻辑

variable "environment" {
  description = "The environment this will be run in can only be set to [preprod|test|prod]"
  type        = string
  default     = "test"
  validation {
    condition     = can(regex("^(prod|preprod|test)$", var.environment))
    error_message = "The environment variable can only be set to [prod|preprod|test]."
  }
}

variable "fet_code" {
  description = "Set the feature code"
  type        = string
  default     = ""
  validation {
    condition     = var.environment == "test" && length(var.fet_code) != 3
    error_message = "The environment has been set to 'test' but …
Run Code Online (Sandbox Code Playgroud)

terraform terraform-provider-aws

18
推荐指数
3
解决办法
2万
查看次数

让log4j2与eclipse一起工作

我知道有很多问题已经被问到这个问题,但我一直试图让这个问题在几天内完成,而且当我开始时我不再向前推进.

我曾尝试使用-Dlog4j.configuration=file:/path/to/log4j.properties,并-Dlog4j.debug在Eclipse VM参数(在调试和运行),并得不到任何输出

我试过使用.properties和.xml但没有快乐

试图把.xml和.properties文件放在根目录,src和我添加到我的类路径的外部文件夹中...仍然没有喜悦

我认为它在另一个lib/jar中使用另一个.xml或.properties文件,但因为我无法进行任何调试工作,我发现很难跟踪我在这里做错了什么...

任何帮助都会很棒!下面是代码..只有错误信息得到打印.

我已下载(http://logging.apache.org/log4j/2.x/download.html)并导入到我的应用程序中 log4j-api-2.0-beta8.jar log4j-core-2.0-beta8

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

public class CucmServMonitor 
{
 private static final Logger logger  = LogManager.getLogger(CucmServMonitor.class.getName())
  public static void main(String[] args) 
  {
    logger.error("testing ERROR level");
    logger.trace("exiting application");
    System.out.println(logger.getName());   
  }
}
Run Code Online (Sandbox Code Playgroud)

我正在使用的xml文件log4j2.xml

<?xml version="1.0" encoding="UTF-8"?>
 <configuration status="WARN">
  <appenders>
   <Console name="Console" target="SYSTEM_OUT">
    <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
   </Console>
  </appenders>
 <loggers>
  <root level="debug">
   <appender-ref ref="Console"/>
  </root>
 </loggers>
</configuration>
Run Code Online (Sandbox Code Playgroud)

java eclipse log4j

7
推荐指数
1
解决办法
2万
查看次数

AWS 通过 API(Boto3 或 Terraform)禁用区域

虽然控制台AWS Account > IAM > Account Settings您可以启用和禁用区域

有没有办法通过 Boto3 或 Terraform 来做到这一点?

amazon-web-services boto3 terraform

6
推荐指数
1
解决办法
2506
查看次数

使用Perl的regexp中的卷曲括号

只是试图让我的头围绕regexps.以下是代码的一部分.它逐行读取文件,它具有以下表达式,可以在任一端触发空白行.

\匹配行的开头
\ s +一个或多个空格
\ z匹配行的结尾

while (<$fh>) 
{
  s{\A\s+}{};
  s{\s+\z}{};
}
Run Code Online (Sandbox Code Playgroud)

我正在努力的部分是大括号.我能找到的唯一文件表明它们可以作为乘数.我读了s {\ A\s +} {}; 如果开始行和白色空格替换为空,但这是我的猜测.我希望确认这个以及大括号在此正则表达式中的含义

regex perl

4
推荐指数
1
解决办法
585
查看次数

使用Python Pillow lib设置Color深度

我使用Python Pillow lib在将图像发送到设备之前更改图像.我需要更改图像以确保它符合以下要求

  • 分辨率(宽x高)= 298 x 144
  • 灰度
  • 颜色深度(位)= 4
  • 格式= .png

除了Color Depth到4位,我可以做所有这些.任何人都可以指出我如何实现这一目标的正确方向?

python image pillow

4
推荐指数
2
解决办法
4532
查看次数

将 var 传递到 Ansible 中的 selectattr 语句中

我正在循环遍历字典“ aws_ec2_volums_setting ”,并且尝试将循环变量传递item.id给“ selectattr ”语句以获取满足条件的列表。

- name: Set Filters
  set_fact:
    snapshot_list: "{{ ec2_snapshot_facts.snapshots | selectattr('volume_id', 'equalto', vars[item.id] ) | list }}"
  with_items: "{{ aws_ec2_volums_setting }}"
Run Code Online (Sandbox Code Playgroud)

如果我对值进行硬编码,它就可以正常工作:

- name: Set Filters
  set_fact:
    snapshot_list: "{{ ec2_snapshot_facts.snapshots | selectattr('volume_id', 'equalto', 'vol-xxxxxxxxx' ) | list }}"
  with_items: "{{ aws_ec2_volums_setting }}"
Run Code Online (Sandbox Code Playgroud)

如果我运行调试命令来检查 var 的值,一切看起来都不错

- name: Check Val
  debug:
    msg: "{{ item.id }}"
  with_items: "{{ aws_ec2_volums_setting }}"
Run Code Online (Sandbox Code Playgroud)

输出:

TASK [aws_delete_snapshoot : Set Filters2] ****************************************************************************************
ok: [localhost] => (item={u'vol': u'Vol-01', u'id': u'vol-XXXXXX', u'server': u'us-nv-sat-01'}) …
Run Code Online (Sandbox Code Playgroud)

jinja2 ansible ansible-2.x

3
推荐指数
1
解决办法
6080
查看次数

使用 Terraform 在 EKS 上部署 AWS 负载均衡器控制器

尝试在 Kubernetes 上部署aws-load-balancer-controller

我有以下 TF 代码:

resource "kubernetes_deployment" "ingress" {
  metadata {
    name      = "alb-ingress-controller"
    namespace = "kube-system"
    labels = {
      app.kubernetes.io/name = "alb-ingress-controller" 
      app.kubernetes.io/version = "v2.2.3"
      app.kubernetes.io/managed-by = "terraform"
    }
  }

  spec {
    replicas = 1

    selector {
      match_labels = {
        app.kubernetes.io/name = "alb-ingress-controller" 
      }
    }

    strategy {
      type = "Recreate"
    }

    template {
      metadata {
        labels = {
                app.kubernetes.io/name = "alb-ingress-controller" 
                app.kubernetes.io/version = "v2.2.3"
        }
      }

      spec {
        dns_policy                       = "ClusterFirst"
        restart_policy                   = "Always"
        service_account_name             = …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services amazon-elb kubernetes kubernetes-ingress amazon-eks

3
推荐指数
1
解决办法
7397
查看次数

将字符串转换为HEX字符

我有以下简短代码:

import socket
from sys import *

host = "10.10.10.10"
port = 7142
buf  = 1024

tcpSock = socket.socket()
tcpSock.settimeout(100)
tcpSock.connect((host,port))

## Send message
data ='\x01\x30\x41\x30\x41\x30\x36\x02\x30\x31\x44\x36\x03\x74\x0d'
if(tcpSock.send(data)):    
    print "Sending message:",data
data = tcpSock.recv(4096) 
tcpSock.close()

print "Received message:", data
#print "Received message:", data.strip().decode("hex")
Run Code Online (Sandbox Code Playgroud)

输出是:

发送信息:☺0A0A06☻01D6♥t

收到留言:☺00AB12☻0200D60000040001♥t

我被困在哪里是如何解码从服务器回到HEX字符的"收到的消息"

谢谢亚历克西斯

string hex python-2.7

2
推荐指数
1
解决办法
5100
查看次数