我users在我的角色里面定制了linux 创建.我需要让我的角色的用户自定义home_directory,group_name,name,password.
我想知道是否有更灵活的方法来应对默认值.
我知道下面的代码是可能的:
- name: Create default
user:
name: "default_name"
when: my_variable is not defined
- name: Create custom
user:
name: "{{my_variable}}"
when: my_variable is defined
Run Code Online (Sandbox Code Playgroud)
但正如我所提到的,有很多可选变量,这会产生很多可能性.
是否有类似上面的代码?
user:
name: "default_name", "{{my_variable}}"
Run Code Online (Sandbox Code Playgroud)
代码应该name="default_name"在my_variable未定义时设置.
我可以设置所有变量defaults/main.yml并创建用户:
- name: Create user
user:
name: "{{my_variable}}"
Run Code Online (Sandbox Code Playgroud)
但是这些变量都在一个非常大的哈希中,并且哈希中有一些哈希不能作为默认值.
我正在研究一个只需要收集一个事实的角色.
性能这是一个问题,我知道收集事实是耗时的.
我正在寻找一些方法来过滤gather_facts剧本,这将允许我只收集所需的事实.
这可以使用安装核心模块:
ansible -m setup -a 'filter=ansible_hostname' my_host
10.200.0.127 | success >> {
"ansible_facts": {
"ansible_hostname": "my_host"
},
"changed": false
}
Run Code Online (Sandbox Code Playgroud)
在剧本中可以使用这个功能吗?像这样的东西?
- hosts: all
sudo: yes
gather_facts: True
filter: "filter=ansible_*"
Run Code Online (Sandbox Code Playgroud)
PS:上面的代码抛出语法异常.
编辑1:如果有人需要获取主机名,那么还有另一个有用的变量inventory_hostname.
我遇到了GWT CellTable的问题.我需要动态创建celltable,我没有实体(Bean)类这样做.我已经看过了celltable的所有例子,并且在没有实体类的情况下进行了很多搜索.
我需要根据存储在数据库中的一些元数据动态填充表.我能够创建表结构
考虑有两个类,一个是GRID,另一个是COLUMN,用于元数据和列定义.GRID将COLUMNS列表作为列定义
Class GRID {
List<COLUMN> columns;
}
Class COLUMN {
String columnName;
}
Run Code Online (Sandbox Code Playgroud)
现在我需要从数据库获取网格并循环列以填充单元格(列),如:
com.google.gwt.user.cellview.client.Column<String, String> textColumn = new Column<String, String>(
new EditTextCell()) {
@Override
public String getValue(String object) {
return object;
}
};
Run Code Online (Sandbox Code Playgroud)
现在,我需要向celltable添加一些数据.但没有实体,没有例子如何填充不同的列.我试过自己的样子:( 考虑网格有3列)
List<String> data;
String a1 = "A1";
String a2 = "A2";
String a3 = "A3";
data = new ArrayList<String>();
data.add(a1);
data.add(a2);
data.add(a3);
final AsyncDataProvider<String> provider = new AsyncDataProvider<String>() {
@Override
protected void onRangeChanged(HasData<String> display) {
updateRowData(0, data);
}
};
provider.addDataDisplay(grid);
provider.updateRowCount(data.size(), true); …Run Code Online (Sandbox Code Playgroud) 这是我的PostgreSQL函数:
salvarArquivoGeometricoCasoZeroPOINT
(dimensao text,tableName text,tuplas text[],srid text)
Run Code Online (Sandbox Code Playgroud)
它有一个text[]参数,我想String[]从我的JPQL 传递一个Java :
public String salvarGeometriaCaso0(String[] tuplas,FileDto arquivo){
Query query =
em().createNativeQuery("select
salvarArquivoGeometricoCasoZeroPOINT(?1,?2,?3,?4)");
query.setParameter(1,arquivo.getGeo());//String
query.setParameter(2,arquivo.getTable());/String
query.setParameter(3,tuplas);//String[]
query.setParameter(4,arquivo.getSrid());//String
return (String) query.getSingleResult();//function returns a Text, so cast to String
}
Run Code Online (Sandbox Code Playgroud)
上面的代码失败,但有异常:
ERROR] Internal Exception: org.postgresql.util.PSQLException: Can not infer a SQL
type to use for an instance of [Ljava.lang.String;.
Use setObject () with an explicit Types value to specify the type to use.
Run Code Online (Sandbox Code Playgroud)
所以我不确定如何从EclipseLink调用我的函数.
我需要对div css做一些调整.但我无法在方法onBind()或onReveal()上执行此操作,因为调用此两个方法时不会加载html.
所以我想知道一些方法来自动调用一个方法,当我修改我的html(当一个Presenter被称为html必须修改,因为新的小部件将被添加)加载.
这是我必须调用的方法:
private void hidePopup(){
$(".olLayerGooglePoweredBy, .olLayerGoogleV3, .gmnoprint").
css(CSS.VISIBILITY.with
(com.google.gwt.dom.client.Style.Visibility.HIDDEN));
}
Run Code Online (Sandbox Code Playgroud) 我在golang上使用AWS SDK发送大型备份文件(2GB~10GB).
当进程开始时,存在大量内存消耗.我知道这是因为代码将文件读取到缓冲区,但我是Go的新手,我不知道如何更改它.
这是我用来读取文件并发送到AWS S3 Uploader的代码:
file, err := os.Open(file_to_upload)
file_name := getFileName(file_to_upload)
if err != nil {
fmt.Println(err)
os.Exit(1)
}
defer file.Close()
fileInfo, _ := file.Stat()
var size int64 = fileInfo.Size()
buffer := make([]byte, size)
file.Read(buffer)
fileBytes := bytes.NewReader(buffer)
fileType := http.DetectContentType(buffer)
upparams := &s3manager.UploadInput{
Bucket: &bucket,
Key: &file_name,
Body: fileBytes,
ACL: aws.String("private"),
ContentType: aws.String(fileType),
Metadata: map[string]*string{
"Key": aws.String("MetadataValue"), //required
},
}
result, err := uploader.Upload(upparams, func(u *s3manager.Uploader){
if partsize != 0{
u.PartSize = int64(partsize) * 1024 * 1024 …Run Code Online (Sandbox Code Playgroud) 我想在用户按下/释放按钮时更改JButton图标.
选择JButton时的图标图像

取消选择JButton并释放JButton时的图标图像:

我怎样才能做到这一点?
当我的Presenter被显示时,我必须进行RPC调用.该调用导致String []具有大量数据.但是这个电话非常慢.完成大约需要1分钟.
经过一些测试,我发现ListBox.addItem()占用了这个调用的30%.这是在该Widget上添加String的巨大时间.
我该怎么办才能最大限度地缩短这段时间
假设我需要在我的Presenter显示时加载所有内容.
我已经完成的事情:
我注意到GWT设计了一个LightweightCollections来改善客户端集合的使用(这是我的下一步).
但是我能对ListBox做些什么呢?
gwt ×3
java ×3
ansible ×2
gwt-platform ×2
amazon-s3 ×1
ansible-2.x ×1
applet ×1
datagrid ×1
eclipselink ×1
go ×1
html ×1
icons ×1
jbutton ×1
jpql ×1
listbox ×1
memory ×1
postgresql ×1
swing ×1