// Licensed to the Apache Software Foundation (ASF) under one // or more contributor license agreements. See the NOTICE file // distributed with this work for additional information // regarding copyright ownership. The ASF licenses this file // to you under the Apache License, Version 2.0 (the // "License"); you may not use this file except in compliance // with the License. You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, // software distributed under the License is distributed on an // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY // KIND, either express or implied. See the License for the // specific language governing permissions and limitations // under the License. package com.cloud.hypervisor.kvm.resource; public class LibvirtSecretDef { public enum Usage { VOLUME("volume"), CEPH("ceph"); String _usage; Usage(String usage) { _usage = usage; } @Override public String toString() { return _usage; } } private Usage _usage; private boolean _ephemeral; private boolean _private; private String _uuid; private String _description; private String _cephName; private String _volumeVolume; public LibvirtSecretDef(Usage usage, String uuid) { _usage = usage; _uuid = uuid; } public LibvirtSecretDef(Usage usage, String uuid, String description) { _usage = usage; _uuid = uuid; _description = description; } public boolean getEphemeral() { return _ephemeral; } public boolean getPrivate() { return _private; } public String getUuid() { return _uuid; } public String getDescription() { return _description; } public String getVolumeVolume() { return _volumeVolume; } public String getCephName() { return _cephName; } public void setVolumeVolume(String volume) { _volumeVolume = volume; } public void setCephName(String name) { _cephName = name; } @Override public String toString() { StringBuilder secretBuilder = new StringBuilder(); secretBuilder.append("<secret ephemeral='" + (_ephemeral ? "yes" : "no") + "' private='" + (_private ? "yes" : "no") + "'>\n"); secretBuilder.append("<uuid>" + _uuid + "</uuid>\n"); if (_description != null) { secretBuilder.append("<description>" + _description + "</description>\n"); } secretBuilder.append("<usage type='" + _usage + "'>\n"); if (_usage == Usage.VOLUME) { secretBuilder.append("<volume>" + _volumeVolume + "</volume>\n"); } if (_usage == Usage.CEPH) { secretBuilder.append("<name>" + _cephName + "</name>\n"); } secretBuilder.append("</usage>\n"); secretBuilder.append("</secret>\n"); return secretBuilder.toString(); } }