mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-25 23:25:24 +00:00
664ab2801d
So that app developers / admins know what access control checks are performed for each API, this patch extends the API docs generator to include details of the ACLs for each. The gendispatch.pl script is extended so that it generates a simple XML describing ACL rules, eg. <aclinfo> ... <api name='virConnectNumOfDomains'> <check object='connect' perm='search_domains'/> <filter object='domain' perm='getattr'/> </api> <api name='virDomainAttachDeviceFlags'> <check object='domain' perm='write'/> <check object='domain' perm='save' flags='!VIR_DOMAIN_AFFECT_CONFIG|VIR_DOMAIN_AFFECT_LIVE'/> <check object='domain' perm='save' flags='VIR_DOMAIN_AFFECT_CONFIG'/> </api> ... </aclinfo> The newapi.xsl template loads the XML files containing the ACL rules and generates a short block of HTML for each API describing the parameter checks and return value filters (if any). Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
494 lines
7.0 KiB
CSS
494 lines
7.0 KiB
CSS
|
|
|
|
h1 {
|
|
font-weight: normal;
|
|
color: #3c857c;
|
|
}
|
|
h1 strong {
|
|
font-weight: bold;
|
|
}
|
|
|
|
h2, h3, h4, h5, h6 {
|
|
color: #3c857c;
|
|
}
|
|
|
|
#header {
|
|
margin: 0px;
|
|
height: 104px;
|
|
width: 100%;
|
|
background: url(libvirt-header-bg.png);
|
|
border: 0px;
|
|
}
|
|
|
|
#body {
|
|
float: left;
|
|
width: 100%;
|
|
border: 0px;
|
|
left: 0px;
|
|
margin: 0px;
|
|
}
|
|
|
|
#content {
|
|
margin-left: 230px;
|
|
margin-right: 1em;
|
|
padding: 0px;
|
|
padding-bottom: 1em;
|
|
}
|
|
|
|
#menu {
|
|
float: left;
|
|
width: 220px;
|
|
margin-bottom: 1em;
|
|
}
|
|
|
|
#menu ul {
|
|
margin: 0px;
|
|
padding: 0px;
|
|
margin-left: 40px;
|
|
}
|
|
|
|
#menu li ul {
|
|
margin-left: 0px;
|
|
}
|
|
|
|
#menu ul li {
|
|
list-style: none;
|
|
color: black;
|
|
padding: 0px;
|
|
margin: 0px;
|
|
border: 0px;
|
|
font-weight: bold;
|
|
font-size: 1.2em;
|
|
}
|
|
|
|
#menu li ul li {
|
|
font-size: 1em;
|
|
}
|
|
|
|
#menu ul li a, #menu ul li span {
|
|
text-decoration: inherit;
|
|
color: inherit;
|
|
display: block;
|
|
padding: 6px;
|
|
margin: 2px;
|
|
}
|
|
|
|
#menu ul li .active {
|
|
background: #a4c6c2;
|
|
}
|
|
|
|
#menu ul.l0 li .inactive {
|
|
background: #c5dbd8;
|
|
}
|
|
|
|
|
|
#menu ul.l1 li .inactive,
|
|
#menu ul.l2 li .inactive {
|
|
background: #dfebea;
|
|
border-left: 8px solid #dfebea;
|
|
}
|
|
|
|
#menu ul.l1 li .inactive,
|
|
#menu ul.l1 li .active {
|
|
padding-left: 1em;
|
|
}
|
|
|
|
#menu ul.l1 li .inactive {
|
|
border-left: 6px solid #dfebea;
|
|
}
|
|
#menu ul.l1 li .active {
|
|
border-left: 6px solid #a5c6c2;
|
|
}
|
|
|
|
#menu ul.l2 li .inactive,
|
|
#menu ul.l2 li .active {
|
|
padding-left: 2em;
|
|
border-left: 8px solid #c5dbd8;
|
|
}
|
|
|
|
#menu ul.l3 li .inactive,
|
|
#menu ul.l3 li .active {
|
|
padding-left: 3em;
|
|
}
|
|
|
|
|
|
#headerLogo {
|
|
position: absolute;
|
|
top: 0px;
|
|
left: 0px;
|
|
height: 104px;
|
|
width: 400px;
|
|
background: url(libvirt-header-logo.png);
|
|
}
|
|
#headerSearch {
|
|
position: absolute;
|
|
top: 0px;
|
|
right: 0px;
|
|
padding: 2em;
|
|
z-index: 10;
|
|
}
|
|
|
|
#headerSearch input {
|
|
border: 1px solid #999999;
|
|
color: #999999;
|
|
background: white;
|
|
padding: 3px;
|
|
font-size: 1em;
|
|
}
|
|
|
|
#headerSearch #submit {
|
|
border: 1px solid #999999;
|
|
background: #eeeeee;
|
|
color: black;
|
|
padding: 3px;
|
|
font-size: 1em;
|
|
}
|
|
|
|
|
|
#sitemap ul li {
|
|
list-style: none;
|
|
}
|
|
|
|
#sitemap ul {
|
|
margin: 1em;
|
|
padding: 0em;
|
|
}
|
|
|
|
#sitemap ul ul {
|
|
padding-left: 2em;
|
|
}
|
|
|
|
#sitemap li {
|
|
margin: 0.5em;
|
|
}
|
|
|
|
#sitemap a {
|
|
color: inherit;
|
|
text-decoration: underline;
|
|
font-weight: bold;
|
|
}
|
|
|
|
pre {
|
|
border: 1px solid #999999;
|
|
background: #eeeeee;
|
|
color: black;
|
|
padding: 1em;
|
|
}
|
|
|
|
a {
|
|
color: #566866;
|
|
}
|
|
|
|
|
|
div.api {
|
|
border: 1px solid #999999;
|
|
background: #eeeeee;
|
|
color: black;
|
|
padding: 3px;
|
|
}
|
|
|
|
div.api pre {
|
|
margin: 0px;
|
|
border: 0px;
|
|
background: inherit;
|
|
padding: inherit;
|
|
}
|
|
|
|
div.api table {
|
|
margin: 0px;
|
|
padding-left: 2em;
|
|
border-spacing: 0px;
|
|
}
|
|
|
|
div.api table td, div.variablelist table td {
|
|
vertical-align: top;
|
|
padding-left: 1em;
|
|
}
|
|
|
|
|
|
h1 a, h2 a, h3 a, h4 a, h5 a {
|
|
color: inherit;
|
|
text-decoration: inherit;
|
|
}
|
|
|
|
#changelog .author {
|
|
color: #3c857c;
|
|
font-weight: bold;
|
|
}
|
|
|
|
p.image {
|
|
text-align: center;
|
|
}
|
|
|
|
.top_table {
|
|
border-collapse: collapse;
|
|
}
|
|
|
|
.top_table th {
|
|
background: #a4c6c2;
|
|
}
|
|
|
|
.top_table th a {
|
|
color: inherit;
|
|
text-decoration: inherit;
|
|
}
|
|
|
|
.top_table td, .top_table th {
|
|
border: 1px solid #999999;
|
|
}
|
|
|
|
.top_table tr:hover td, .top_table col:hover td {
|
|
background: #eeeeee;
|
|
}
|
|
|
|
.top_table tr td:hover {
|
|
background: #c5dbd8;
|
|
}
|
|
|
|
#footer {
|
|
clear: both;
|
|
position: relative;
|
|
margin: 0px;
|
|
padding: 0px;
|
|
border: 0px;
|
|
width: 100%;
|
|
height: 180px;
|
|
background: #FFFFFF;
|
|
/* background: #757575; */
|
|
}
|
|
/* This is hidden from IE <= 6 because it can't do transparency */
|
|
/* body > #footer {
|
|
background: #757575 url(footer_pattern.png) repeat-x;
|
|
} */
|
|
|
|
#footer p {
|
|
position: absolute;
|
|
top: 0px;
|
|
left: 0px;
|
|
margin: 0px;
|
|
border: 0px solid red;
|
|
width: 220px;
|
|
text-align: center;
|
|
}
|
|
|
|
#footer p a img {
|
|
border: 0px;
|
|
}
|
|
|
|
#projects {
|
|
margin: 0px;
|
|
border: 0px;
|
|
position: absolute;
|
|
top: 0px;
|
|
left: 0px;
|
|
width: 100%;
|
|
}
|
|
|
|
|
|
#projects dl {
|
|
margin: 0px;
|
|
border: 0px solid white;
|
|
height: 180px;
|
|
position: absolute;
|
|
top: 0px;
|
|
left: 0px;
|
|
}
|
|
/* This is hidden from IE <= 6 because it can't do transparency */
|
|
head:first-child+body #projects dl {
|
|
background: url(footer_corner.png) no-repeat ! important;
|
|
}
|
|
|
|
#projects #p1 {
|
|
margin-left: 25%;
|
|
width: 75%;
|
|
}
|
|
|
|
#projects #p2 {
|
|
margin-left: 50%;
|
|
width: 50%;
|
|
}
|
|
|
|
#projects #p3 {
|
|
margin-left: 75%;
|
|
width: 25%;
|
|
}
|
|
|
|
#projects dt, #projects dd {
|
|
padding: 0px;
|
|
margin: 0px;
|
|
}
|
|
|
|
#projects #p1 dt, #projects #p1 dd {
|
|
width: 33%;
|
|
}
|
|
#projects #p2 dt, #projects #p2 dd {
|
|
width: 50%;
|
|
}
|
|
#projects #p3 dt, #projects #p3 dd {
|
|
width: 99%;
|
|
}
|
|
|
|
#projects {
|
|
}
|
|
|
|
#projects span {
|
|
font-size: 0.8em;
|
|
display: block;
|
|
padding-left: 1em;
|
|
padding-top: 0.5em;
|
|
}
|
|
|
|
#projects a {
|
|
font-size: 0.8em;
|
|
display: block;
|
|
padding-left: 0.8em;
|
|
padding-top: 1em;
|
|
}
|
|
|
|
#projects a {
|
|
color: white;
|
|
text-decoration: inherit;
|
|
}
|
|
|
|
#projects span {
|
|
color: #ccc;
|
|
}
|
|
|
|
|
|
#sponsor {
|
|
color: #757575;
|
|
text-decoration: inherit;
|
|
font-size: 1.2em;
|
|
}
|
|
|
|
span.since {
|
|
color: #3c857c;
|
|
font-style: italic;
|
|
font-weight: bold;
|
|
}
|
|
|
|
img.diagram {
|
|
background: rgb(230,230,230);
|
|
border: 2px dotted rgb(178,178,178);
|
|
padding: 1em;
|
|
display: block;
|
|
margin-left: auto;
|
|
margin-right: auto;
|
|
}
|
|
|
|
table.data th, table.data td {
|
|
padding: 0.3em;
|
|
}
|
|
|
|
table.data {
|
|
border-spacing: 0px;
|
|
}
|
|
|
|
table.data thead th {
|
|
background: rgb(178,178,178);
|
|
text-align: center;
|
|
}
|
|
|
|
table.data {
|
|
border: 1px solid black;
|
|
border-collapse: collapse;
|
|
}
|
|
|
|
table.data thead tr th {
|
|
border: 1px solid black;
|
|
}
|
|
|
|
table.data tr.head th {
|
|
border-left: 1px solid black;
|
|
border-right: 1px solid black;
|
|
}
|
|
|
|
table.data tbody td {
|
|
background: rgb(240,240,240);
|
|
}
|
|
table.data tbody td.y {
|
|
background: rgb(220,255,220);
|
|
text-align: center;
|
|
}
|
|
table.data tbody td.n {
|
|
background: rgb(255,220,220);
|
|
text-align: center;
|
|
}
|
|
|
|
.api {
|
|
font-family: monospace;
|
|
}
|
|
|
|
.api .type {
|
|
font-weight: bold;
|
|
white-space: nowrap;
|
|
color: darkslateblue;
|
|
}
|
|
|
|
.api .keyword {
|
|
font-weight: bold;
|
|
color: #A2F;
|
|
}
|
|
|
|
.api .comment {
|
|
color: #080;
|
|
margin-left: 2em;
|
|
position: relative;
|
|
}
|
|
|
|
.api .comment:before {
|
|
content: ": ";
|
|
position: absolute;
|
|
left: -1.3em;
|
|
}
|
|
|
|
.api .undisclosed {
|
|
font-style: italic;
|
|
letter-spacing: .3ex;
|
|
font-weight: bolder;
|
|
text-transform: uppercase;
|
|
margin-left: 2em;
|
|
}
|
|
|
|
.api .directive {
|
|
color: teal;
|
|
}
|
|
|
|
.api :link:hover, .api :link:focus {
|
|
color: blue;
|
|
border-color: blue;
|
|
}
|
|
|
|
.api :link {
|
|
text-decoration: none;
|
|
}
|
|
|
|
dl.variablelist > dt {
|
|
display: block;
|
|
float: left;
|
|
font-style: italic;
|
|
font-weight: inherit;
|
|
}
|
|
|
|
.variablelist dd {
|
|
padding-left: 10em;
|
|
}
|
|
|
|
dl.variablelist > dt:after {
|
|
content: ": ";
|
|
}
|
|
|
|
table.acl {
|
|
margin: 1em;
|
|
border-spacing: 0px;
|
|
border: 1px solid #ccc;
|
|
}
|
|
|
|
table.acl tr, table.acl td {
|
|
padding: 0.3em;
|
|
}
|
|
|
|
table.acl thead {
|
|
background: #ddd;
|
|
}
|