本文整理了Java中org.jclouds.compute.functions.GroupNamingConvention.containsGroup()
方法的一些代码示例,展示了GroupNamingConvention.containsGroup()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。GroupNamingConvention.containsGroup()
方法的具体详情如下:
包路径:org.jclouds.compute.functions.GroupNamingConvention
类名称:GroupNamingConvention
方法名:containsGroup
[英]A predicate that identifies if an input has the given group encoded in it.
[中]一种谓词,标识输入中是否编码了给定的组。
代码示例来源:origin: jclouds/legacy-jclouds
private void cleanupOrphanedSecurityGroupsInZone(Set<String> groups, String zoneId) {
Optional<? extends SecurityGroupApi> securityGroupApi = novaApi.getSecurityGroupExtensionForZone(zoneId);
if (securityGroupApi.isPresent()) {
for (String group : groups) {
for (SecurityGroup securityGroup : Iterables.filter(securityGroupApi.get().list(),
SecurityGroupPredicates.nameMatches(namingConvention.create().containsGroup(group)))) {
ZoneAndName zoneAndName = ZoneAndName.fromZoneAndName(zoneId, securityGroup.getName());
logger.debug(">> deleting securityGroup(%s)", zoneAndName);
securityGroupApi.get().delete(securityGroup.getId());
// TODO: test this clear happens
securityGroupMap.invalidate(zoneAndName);
logger.debug("<< deleted securityGroup(%s)", zoneAndName);
}
}
}
}
代码示例来源:origin: org.jclouds.api/openstack-nova
private void cleanupOrphanedSecurityGroupsInZone(Set<String> groups, String zoneId) {
Optional<? extends SecurityGroupApi> securityGroupApi = novaApi.getSecurityGroupExtensionForZone(zoneId);
if (securityGroupApi.isPresent()) {
for (String group : groups) {
for (SecurityGroup securityGroup : Iterables.filter(securityGroupApi.get().list(),
SecurityGroupPredicates.nameMatches(namingConvention.create().containsGroup(group)))) {
ZoneAndName zoneAndName = ZoneAndName.fromZoneAndName(zoneId, securityGroup.getName());
logger.debug(">> deleting securityGroup(%s)", zoneAndName);
securityGroupApi.get().delete(securityGroup.getId());
// TODO: test this clear happens
securityGroupMap.invalidate(zoneAndName);
logger.debug("<< deleted securityGroup(%s)", zoneAndName);
}
}
}
}
代码示例来源:origin: io.cloudsoft.jclouds.api/openstack-nova
private void cleanupOrphanedSecurityGroupsInZone(Set<String> groups, String zoneId) {
Optional<? extends SecurityGroupApi> securityGroupApi = novaApi.getSecurityGroupExtensionForZone(zoneId);
if (securityGroupApi.isPresent()) {
for (String group : groups) {
for (SecurityGroup securityGroup : Iterables.filter(securityGroupApi.get().list(),
SecurityGroupPredicates.nameMatches(namingConvention.create().containsGroup(group)))) {
ZoneAndName zoneAndName = ZoneAndName.fromZoneAndName(zoneId, securityGroup.getName());
logger.debug(">> deleting securityGroup(%s)", zoneAndName);
securityGroupApi.get().delete(securityGroup.getId());
// TODO: test this clear happens
securityGroupMap.invalidate(zoneAndName);
logger.debug("<< deleted securityGroup(%s)", zoneAndName);
}
}
}
}
代码示例来源:origin: jclouds/legacy-jclouds
public void testPropertyChangesDelimiter() {
GroupNamingConvention fn = Guice.createInjector(new AbstractModule() {
@Override
protected void configure() {
bindConstant().annotatedWith(Names.named(RESOURCENAME_DELIMITER)).to('#');
}
}).getInstance(GroupNamingConvention.Factory.class).create();
assertEquals(fn.sharedNameForGroup("cluster"), "jclouds#cluster");
assertEquals(fn.groupInSharedNameOrNull("jclouds#cluster"), "cluster");
assertEquals(fn.groupInUniqueNameOrNull("jclouds#cluster"), null);
assertTrue(fn.containsGroup("cluster").apply("jclouds#cluster"));
}
代码示例来源:origin: apache/jclouds
public void testPropertyChangesDelimiter() {
GroupNamingConvention fn = Guice.createInjector(new AbstractModule() {
@Override
protected void configure() {
bindConstant().annotatedWith(Names.named(RESOURCENAME_DELIMITER)).to('#');
}
}).getInstance(GroupNamingConvention.Factory.class).create();
assertEquals(fn.sharedNameForGroup("cluster"), "jclouds#cluster");
assertEquals(fn.groupInSharedNameOrNull("jclouds#cluster"), "cluster");
assertEquals(fn.groupInUniqueNameOrNull("jclouds#cluster"), null);
assertTrue(fn.containsGroup("cluster").apply("jclouds#cluster"));
}
代码示例来源:origin: apache/jclouds
public void testPropertyChangesPrefix() {
GroupNamingConvention fn = Guice.createInjector(new AbstractModule() {
@Override
protected void configure() {
bindConstant().annotatedWith(Names.named(RESOURCENAME_PREFIX)).to("kclouds");
}
}).getInstance(GroupNamingConvention.Factory.class).create();
assertEquals(fn.sharedNameForGroup("cluster"), "kclouds-cluster");
assertEquals(fn.groupInSharedNameOrNull("kclouds-cluster"), "cluster");
assertEquals(fn.groupInUniqueNameOrNull("kclouds-cluster"), null);
assertTrue(fn.containsGroup("cluster").apply("kclouds-cluster"));
}
代码示例来源:origin: jclouds/legacy-jclouds
public void testPropertyChangesPrefix() {
GroupNamingConvention fn = Guice.createInjector(new AbstractModule() {
@Override
protected void configure() {
bindConstant().annotatedWith(Names.named(RESOURCENAME_PREFIX)).to("kclouds");
}
}).getInstance(GroupNamingConvention.Factory.class).create();
assertEquals(fn.sharedNameForGroup("cluster"), "kclouds-cluster");
assertEquals(fn.groupInSharedNameOrNull("kclouds-cluster"), "cluster");
assertEquals(fn.groupInUniqueNameOrNull("kclouds-cluster"), null);
assertTrue(fn.containsGroup("cluster").apply("kclouds-cluster"));
}
代码示例来源:origin: apache/jclouds
@VisibleForTesting
void deleteKeyPair(String region, String group) {
for (KeyPair keyPair : client.getKeyPairApi().get().describeKeyPairsInRegionWithFilter(region,
ImmutableMultimap.<String, String>builder()
.put("key-name", String.format("jclouds#%s#*", group).replace('#', delimiter))
.build())) {
String keyName = keyPair.getKeyName();
Predicate<String> keyNameMatcher = namingConvention.create().containsGroup(group);
String oldKeyNameRegex = String.format("jclouds#%s#%s#%s", group, region, "[0-9a-f]+").replace('#', delimiter);
// old keypair pattern too verbose as it has an unnecessary region qualifier
if (keyNameMatcher.apply(keyName) || keyName.matches(oldKeyNameRegex)) {
Set<String> instancesUsingKeyPair = extractIdsFromInstances(concat(client.getInstanceApi().get()
.describeInstancesInRegionWithFilter(region, ImmutableMultimap.<String, String>builder()
.put("instance-state-name", InstanceState.TERMINATED.toString())
.put("instance-state-name", InstanceState.SHUTTING_DOWN.toString())
.put("key-name", keyPair.getKeyName()).build())));
if (!instancesUsingKeyPair.isEmpty()) {
logger.debug("<< inUse keyPair(%s), by (%s)", keyPair.getKeyName(), instancesUsingKeyPair);
} else {
logger.debug(">> deleting keyPair(%s)", keyPair.getKeyName());
client.getKeyPairApi().get().deleteKeyPairInRegion(region, keyPair.getKeyName());
// TODO: test this clear happens
credentialsMap.remove(new RegionAndName(region, keyPair.getKeyName()));
credentialsMap.remove(new RegionAndName(region, group));
logger.debug("<< deleted keyPair(%s)", keyPair.getKeyName());
}
}
}
}
代码示例来源:origin: jclouds/legacy-jclouds
private void cleanupOrphanedKeyPairsInZone(Set<String> groups, String zoneId) {
Optional<? extends KeyPairApi> keyPairApi = novaApi.getKeyPairExtensionForZone(zoneId);
if (keyPairApi.isPresent()) {
for (String group : groups) {
for (KeyPair pair : keyPairApi.get().list().filter(nameMatches(namingConvention.create().containsGroup(group)))) {
ZoneAndName zoneAndName = ZoneAndName.fromZoneAndName(zoneId, pair.getName());
logger.debug(">> deleting keypair(%s)", zoneAndName);
keyPairApi.get().delete(pair.getName());
// TODO: test this clear happens
keyPairCache.invalidate(zoneAndName);
logger.debug("<< deleted keypair(%s)", zoneAndName);
}
keyPairCache.invalidate(ZoneAndName.fromZoneAndName(zoneId,
namingConvention.create().sharedNameForGroup(group)));
}
}
}
代码示例来源:origin: io.cloudsoft.jclouds.api/openstack-nova
private void cleanupOrphanedKeyPairsInZone(Set<String> groups, String zoneId) {
Optional<? extends KeyPairApi> keyPairApi = novaApi.getKeyPairExtensionForZone(zoneId);
if (keyPairApi.isPresent()) {
for (String group : groups) {
for (KeyPair pair : keyPairApi.get().list().filter(nameMatches(namingConvention.create().containsGroup(group)))) {
ZoneAndName zoneAndName = ZoneAndName.fromZoneAndName(zoneId, pair.getName());
logger.debug(">> deleting keypair(%s)", zoneAndName);
keyPairApi.get().delete(pair.getName());
// TODO: test this clear happens
keyPairCache.invalidate(zoneAndName);
logger.debug("<< deleted keypair(%s)", zoneAndName);
}
keyPairCache.invalidate(ZoneAndName.fromZoneAndName(zoneId,
namingConvention.create().sharedNameForGroup(group)));
}
}
}
代码示例来源:origin: jclouds/legacy-jclouds
public void testCanChangeSuffixSupplier() {
GroupNamingConvention fn = Guice.createInjector(new AbstractModule() {
@Override
protected void configure() {
bind(new TypeLiteral<Supplier<String>>() {
}).toInstance(Suppliers.ofInstance("foo"));
}
}).getInstance(GroupNamingConvention.Factory.class).create();
assertEquals(fn.uniqueNameForGroup("cluster"), "jclouds-cluster-foo");
// note accidental treatment of a unique node as a shared one can lead to
// incorrect group names, as long as we permit delimiter to be in group name
assertEquals(fn.groupInSharedNameOrNull("jclouds-cluster-foo"), "cluster-foo");
assertEquals(fn.groupInUniqueNameOrNull("jclouds-cluster-foo"), "cluster");
assertTrue(fn.containsGroup("cluster").apply("jclouds-cluster-foo"));
}
代码示例来源:origin: apache/jclouds
private void cleanupOrphanedSecurityGroupsInZone(Set<String> groups, String zoneId) {
Zone zone = zoneIdToZone.get().getUnchecked(zoneId);
if (supportsSecurityGroups().apply(zone)) {
for (String group : groups) {
for (SecurityGroup securityGroup : Iterables.filter(client.getSecurityGroupApi().listSecurityGroups(),
SecurityGroupPredicates.nameMatches(namingConvention.create().containsGroup(group)))) {
ZoneAndName zoneAndName = ZoneAndName.fromZoneAndName(zoneId, securityGroup.getName());
logger.debug(">> deleting securityGroup(%s)", zoneAndName);
client.getSecurityGroupApi().deleteSecurityGroup(securityGroup.getId());
// TODO: test this clear happens
securityGroupMap.invalidate(zoneAndName);
logger.debug("<< deleted securityGroup(%s)", zoneAndName);
}
}
}
}
代码示例来源:origin: org.jclouds.api/openstack-nova
private void cleanupOrphanedKeyPairsInZone(Set<String> groups, String zoneId) {
Optional<? extends KeyPairApi> keyPairApi = novaApi.getKeyPairExtensionForZone(zoneId);
if (keyPairApi.isPresent()) {
for (String group : groups) {
for (KeyPair pair : keyPairApi.get().list().filter(nameMatches(namingConvention.create().containsGroup(group)))) {
ZoneAndName zoneAndName = ZoneAndName.fromZoneAndName(zoneId, pair.getName());
logger.debug(">> deleting keypair(%s)", zoneAndName);
keyPairApi.get().delete(pair.getName());
// TODO: test this clear happens
keyPairCache.invalidate(zoneAndName);
logger.debug("<< deleted keypair(%s)", zoneAndName);
}
keyPairCache.invalidate(ZoneAndName.fromZoneAndName(zoneId,
namingConvention.create().sharedNameForGroup(group)));
}
}
}
代码示例来源:origin: apache/jclouds
public void testCanChangeSuffixSupplier() {
GroupNamingConvention fn = Guice.createInjector(new AbstractModule() {
@Override
protected void configure() {
bind(new TypeLiteral<Supplier<String>>() {
}).toInstance(Suppliers.ofInstance("foo"));
}
}).getInstance(GroupNamingConvention.Factory.class).create();
assertEquals(fn.uniqueNameForGroup("cluster"), "jclouds-cluster-foo");
// note accidental treatment of a unique node as a shared one can lead to
// incorrect group names, as long as we permit delimiter to be in group name
assertEquals(fn.groupInSharedNameOrNull("jclouds-cluster-foo"), "cluster-foo");
assertEquals(fn.groupInUniqueNameOrNull("jclouds-cluster-foo"), "cluster");
assertTrue(fn.containsGroup("cluster").apply("jclouds-cluster-foo"));
}
代码示例来源:origin: jclouds/legacy-jclouds
@VisibleForTesting
void deleteKeyPair(String region, String group) {
for (KeyPair keyPair : client.getKeyPairServices().describeKeyPairsInRegion(region)) {
String keyName = keyPair.getKeyName();
Predicate<String> keyNameMatcher = namingConvention.create().containsGroup(group);
String oldKeyNameRegex = String.format("jclouds#%s#%s#%s", group, region, "[0-9a-f]+").replace('#', delimiter);
// old keypair pattern too verbose as it has an unnecessary region qualifier
if (keyNameMatcher.apply(keyName) || keyName.matches(oldKeyNameRegex)) {
Set<String> instancesUsingKeyPair = extractIdsFromInstances(filter(concat(client.getInstanceServices()
.describeInstancesInRegion(region)), usingKeyPairAndNotDead(keyPair)));
if (instancesUsingKeyPair.size() > 0) {
logger.debug("<< inUse keyPair(%s), by (%s)", keyPair.getKeyName(), instancesUsingKeyPair);
} else {
logger.debug(">> deleting keyPair(%s)", keyPair.getKeyName());
client.getKeyPairServices().deleteKeyPairInRegion(region, keyPair.getKeyName());
// TODO: test this clear happens
credentialsMap.remove(new RegionAndName(region, keyPair.getKeyName()));
credentialsMap.remove(new RegionAndName(region, group));
logger.debug("<< deleted keyPair(%s)", keyPair.getKeyName());
}
}
}
}
代码示例来源:origin: org.jclouds.api/ec2
@VisibleForTesting
void deleteKeyPair(String region, String group) {
for (KeyPair keyPair : client.getKeyPairServices().describeKeyPairsInRegion(region)) {
String keyName = keyPair.getKeyName();
Predicate<String> keyNameMatcher = namingConvention.create().containsGroup(group);
String oldKeyNameRegex = String.format("jclouds#%s#%s#%s", group, region, "[0-9a-f]+").replace('#', delimiter);
// old keypair pattern too verbose as it has an unnecessary region qualifier
if (keyNameMatcher.apply(keyName) || keyName.matches(oldKeyNameRegex)) {
Set<String> instancesUsingKeyPair = extractIdsFromInstances(filter(concat(client.getInstanceServices()
.describeInstancesInRegion(region)), usingKeyPairAndNotDead(keyPair)));
if (instancesUsingKeyPair.size() > 0) {
logger.debug("<< inUse keyPair(%s), by (%s)", keyPair.getKeyName(), instancesUsingKeyPair);
} else {
logger.debug(">> deleting keyPair(%s)", keyPair.getKeyName());
client.getKeyPairServices().deleteKeyPairInRegion(region, keyPair.getKeyName());
// TODO: test this clear happens
credentialsMap.remove(new RegionAndName(region, keyPair.getKeyName()));
credentialsMap.remove(new RegionAndName(region, group));
logger.debug("<< deleted keyPair(%s)", keyPair.getKeyName());
}
}
}
}
代码示例来源:origin: apache/jclouds
private void cleanupOrphanedKeyPairsInZone(Set<String> groups, String zoneId) {
for (String group : groups) {
for (SshKeyPair pair : Iterables.filter(client.getSSHKeyPairApi().listSSHKeyPairs(),
nameMatches(namingConvention.create().containsGroup(group)))) {
logger.debug(">> deleting keypair(%s)", pair.getName());
client.getSSHKeyPairApi().deleteSSHKeyPair(pair.getName());
// TODO: test this clear happens
keyPairCache.invalidate(pair.getName());
logger.debug("<< deleted keypair(%s)", pair.getName());
}
keyPairCache.invalidate(namingConvention.create().sharedNameForGroup(group));
}
}
代码示例来源:origin: org.apache.jclouds.labs/joyent-cloudapi
private void cleanupOrphanedKeysInZone(Set<String> groups, String datacenterId) {
KeyApi keyApi = novaApi.getKeyApi();
for (String group : groups) {
for (Key key : Iterables.filter(keyApi.list(),
KeyPredicates.nameMatches(namingConvention.create().containsGroup(group)))) {
DatacenterAndName datacenterAndName = DatacenterAndName.fromDatacenterAndName(datacenterId, key.getName());
logger.debug(">> deleting key(%s)", datacenterAndName);
keyApi.delete(key.getName());
// TODO: test this clear happens
keyCache.invalidate(datacenterAndName);
logger.debug("<< deleted key(%s)", datacenterAndName);
}
keyCache.invalidate(DatacenterAndName.fromDatacenterAndName(datacenterId, namingConvention.create()
.sharedNameForGroup(group)));
}
}
代码示例来源:origin: org.jclouds.labs/joyent-sdc
private void cleanupOrphanedKeysInZone(Set<String> groups, String datacenterId) {
KeyClient keyClient = novaClient.getKeyClient();
for (String group : groups) {
for (Key key : Iterables.filter(keyClient.list(),
KeyPredicates.nameMatches(namingConvention.create().containsGroup(group)))) {
DatacenterAndName datacenterAndName = DatacenterAndName.fromDatacenterAndName(datacenterId, key.getName());
logger.debug(">> deleting key(%s)", datacenterAndName);
keyClient.delete(key.getName());
// TODO: test this clear happens
keyCache.invalidate(datacenterAndName);
logger.debug("<< deleted key(%s)", datacenterAndName);
}
keyCache.invalidate(DatacenterAndName.fromDatacenterAndName(datacenterId, namingConvention.create()
.sharedNameForGroup(group)));
}
}
代码示例来源:origin: io.cloudsoft.jclouds.labs/joyent-cloudapi
private void cleanupOrphanedKeysInZone(Set<String> groups, String datacenterId) {
KeyApi keyApi = novaApi.getKeyApi();
for (String group : groups) {
for (Key key : Iterables.filter(keyApi.list(),
KeyPredicates.nameMatches(namingConvention.create().containsGroup(group)))) {
DatacenterAndName datacenterAndName = DatacenterAndName.fromDatacenterAndName(datacenterId, key.getName());
logger.debug(">> deleting key(%s)", datacenterAndName);
keyApi.delete(key.getName());
// TODO: test this clear happens
keyCache.invalidate(datacenterAndName);
logger.debug("<< deleted key(%s)", datacenterAndName);
}
keyCache.invalidate(DatacenterAndName.fromDatacenterAndName(datacenterId, namingConvention.create()
.sharedNameForGroup(group)));
}
}
内容来源于网络,如有侵权,请联系作者删除!