From 1ba071a4ae7860677da40fdfb17ae1a858024d2a Mon Sep 17 00:00:00 2001 From: Sanne Raymaekers Date: Thu, 5 Sep 2024 14:46:34 +0200 Subject: [PATCH] cloudapi/v2: populate openscap related rhsm facts Also adds the policy id to the blueprint, this doesn't have any effect on the openscap step, it just puts in place the rhsm fact so instances registered to insights will appear under that policy. --- internal/blueprint/customizations.go | 1 + internal/cloudapi/v2/compose.go | 25 ++ internal/cloudapi/v2/openapi.v2.gen.go | 369 +++++++++++++------------ internal/cloudapi/v2/openapi.v2.yml | 12 + 4 files changed, 227 insertions(+), 180 deletions(-) diff --git a/internal/blueprint/customizations.go b/internal/blueprint/customizations.go index 75638ba5d5..09ce6684ba 100644 --- a/internal/blueprint/customizations.go +++ b/internal/blueprint/customizations.go @@ -122,6 +122,7 @@ type OpenSCAPCustomization struct { ProfileID string `json:"profile_id,omitempty" toml:"profile_id,omitempty"` Tailoring *OpenSCAPTailoringCustomizations `json:"tailoring,omitempty" toml:"tailoring,omitempty"` JSONTailoring *OpenSCAPJSONTailoringCustomizations `json:"json_tailoring,omitempty" toml:"json_tailoring,omitempty"` + PolicyID string `json:"policy_id,omitempty" toml:"policy_id,omitempty"` } type OpenSCAPTailoringCustomizations struct { diff --git a/internal/cloudapi/v2/compose.go b/internal/cloudapi/v2/compose.go index 2ff88c1805..5d270f6af1 100644 --- a/internal/cloudapi/v2/compose.go +++ b/internal/cloudapi/v2/compose.go @@ -8,6 +8,8 @@ import ( "math/big" "reflect" + "github.com/google/uuid" + "github.com/osbuild/images/pkg/customizations/subscription" "github.com/osbuild/images/pkg/disk" "github.com/osbuild/images/pkg/distrofactory" @@ -231,6 +233,11 @@ func (request *ComposeRequest) GetCustomizationsFromBlueprintRequest() (*bluepri oscap := &blueprint.OpenSCAPCustomization{ ProfileID: rbpc.Openscap.ProfileId, } + + if rbpc.Openscap.PolicyId != nil { + oscap.PolicyID = *rbpc.Openscap.PolicyId + } + if rbpc.Openscap.Datastream != nil { oscap.DataStream = *rbpc.Openscap.Datastream } @@ -739,6 +746,11 @@ func (request *ComposeRequest) GetBlueprintFromCustomizations() (blueprint.Bluep openSCAPCustomization := &blueprint.OpenSCAPCustomization{ ProfileID: request.Customizations.Openscap.ProfileId, } + + if request.Customizations.Openscap.PolicyId != nil { + openSCAPCustomization.PolicyID = *request.Customizations.Openscap.PolicyId + } + if request.Customizations.Openscap.Tailoring != nil && request.Customizations.Openscap.JsonTailoring != nil { return bp, fmt.Errorf("OpenSCAP customization error: choose one option between OpenSCAP tailoring and OpenSCAP json tailoring") } @@ -1163,6 +1175,19 @@ func (request *ComposeRequest) GetImageRequests(distroFactory *distrofactory.Fac imageOptions.Facts = &facts.ImageOptions{ APIType: facts.CLOUDV2_APITYPE, } + oscap := bp.Customizations.GetOpenSCAP() + if oscap != nil { + if oscap.ProfileID != "" { + imageOptions.Facts.OpenSCAPProfileID = oscap.ProfileID + } + if oscap.PolicyID != "" { + policyID, err := uuid.Parse(oscap.PolicyID) + if err != nil { + return nil, fmt.Errorf("Unable to parse %s as a uuid: %w", oscap.PolicyID, err) + } + imageOptions.Facts.CompliancePolicyID = policyID + } + } } // Set Subscription from the compose request diff --git a/internal/cloudapi/v2/openapi.v2.gen.go b/internal/cloudapi/v2/openapi.v2.gen.go index 9bc16727e3..9dab740425 100644 --- a/internal/cloudapi/v2/openapi.v2.gen.go +++ b/internal/cloudapi/v2/openapi.v2.gen.go @@ -348,8 +348,12 @@ type BlueprintFirewall struct { type BlueprintOpenSCAP struct { Datastream *string `json:"datastream,omitempty"` JsonTailoring *OpenSCAPJSONTailoring `json:"json_tailoring,omitempty"` - ProfileId string `json:"profile_id"` - Tailoring *OpenSCAPTailoring `json:"tailoring,omitempty"` + + // Puts a specified policy ID in the RHSM facts, so that any instances registered to + // insights will be automatically connected to the compliance policy in the console. + PolicyId *string `json:"policy_id,omitempty"` + ProfileId string `json:"profile_id"` + Tailoring *OpenSCAPTailoring `json:"tailoring,omitempty"` } // BlueprintRepository defines model for BlueprintRepository. @@ -921,8 +925,12 @@ type ObjectReference struct { // OpenSCAP defines model for OpenSCAP. type OpenSCAP struct { JsonTailoring *OpenSCAPJSONTailoring `json:"json_tailoring,omitempty"` - ProfileId string `json:"profile_id"` - Tailoring *OpenSCAPTailoring `json:"tailoring,omitempty"` + + // Puts a specified policy ID in the RHSM facts, so that any instances registered to + // insights will be automatically connected to the compliance policy in the console. + PolicyId *string `json:"policy_id,omitempty"` + ProfileId string `json:"profile_id"` + Tailoring *OpenSCAPTailoring `json:"tailoring,omitempty"` } // OpenSCAPJSONTailoring defines model for OpenSCAPJSONTailoring. @@ -1415,182 +1423,183 @@ func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL // Base64 encoded, gzipped, json marshaled Swagger object var swaggerSpec = []string{ - "H4sIAAAAAAAC/+x9eXPbuq74V+H4nZme/up9SZzMnHnPcTZnT+wkTa47ubRES4wlUiUpO855/e6/4SJZ", - "suWt7bnb6/3jnsYiQRAkQAAEwD9zFvUDShARPLf/Zy6ADPpIIGb+cpD8r424xXAgMCW5/dwNdBDAxEZv", - "uXwOvUE/8FCq+Rh6Icrt5yq5b9/yOSz7fA0Rm+byOQJ9+UW1zOe45SIfyi5iGsjfuWCYOKobx+8ZY1+F", - "/gAxQIcAC+RzgAlA0HKBAZjEJgIQY1MuL8VHtV2Fz7foowLdeuwetattjxLUluTjaiBo21iiCb0bRgPE", - "BJaIDKHHUT4XJH76M8eQo+azMFA+x13I0MsEC/cFWhYNzcKYmeX2/5arVGv1xs5uc69cqea+5HOKEpmw", - "zA+QMThVc2foa4gZsiUYg8OXuBkdvCJLyH56fveBR6F9rUjPv3uCMeI5FBYmiItCJZf/R047n+MEBtyl", - "4kWvdhInf1qIvi5ilU2wbFzXkbEroAg1l6QIBX2cxgj6uFC2mrXy7l5td7fR2GvY9UEWxbYk8dxk5Lj5", - "NXugW/uRLRCEAw9bmoWHMPRE3C7N0p0h4EgAQYH6DH4XLgKmC1DM+zEPIPAocfKADoYht6BANri/u+gT", - "zAFDImQE2UXQERygtwAzKEEDHzuuAAMEOKUEMSBcSMCQMkCFixgI1dz6REDmIMGLfdInM1wEC5EclruU", - "CcTkaCAxGIDE7hOcHhBzIHHn0EcAcjWU/Ds5HJiNNluiAaUeguTHF3Wz5Vy2FUPmZYvi5BCyUSb895Ch", - "H9ku2IcOijl0TupLitKhoqamI7KB6iAXHfghV+scEvw1lEeTaujgMSKAIU5DZiHgMBoGRbXEchC5WNTH", - "Qu6kIaO+6iIniriQ684gsakPKEFgADmyASUAgvv7ziHAvE8cRBCT21AvZEqgKMSyONajFhRmedMTvDBf", - "okkGjI6xnGSE/otCPw8mLmJINVGjyO0ZeraafEQXSGQ3B3OBmMLvlE7kjvYwFwB6HojQ4Pt94goR8P1S", - "yaYWL/rYYpTToSha1C8hUgh5yfJwCcq1LRlR999jjCZ/qJ8KlocLHhSIi/+C75EsfJEDvcSDfFAklxhH", - "P0nSEyoAD5CFhxjZeYCF/NFGdmilFmQJHeaJLtkDhXI7ZQvKZN/Vuyu9XTYg9zwqPRpakNwZMCdqxKzj", - "LhzEKLxgexGpzqFEKdnsO5Cpo4bdHFStAhxU64V6vVIr7JWtRmGnUq2Vd1CzvIeqWdgJRCARK/CSSOhG", - "m2FltuAQE1utteZQJTPADWUCepvsxWgfCjxGBRszZAnKpqVhSGzoIyKgxxe+Flw6KQhakEMXNMpzRGpY", - "u2jYGOwUKlZtWKjbsFyAO9VqoTwo75SrtT17195dK3lnFFtc24UduEZ+LpPPaQm5iciZQzIBIAuFAy9E", - "AcNEbCm5LUoExMTYDOnt0o6+6d3B5S5A/kCKbyJPWRfJTQE9AJkYQksqYbFe9xtDw9x+7r9KMxOlZJTw", - "Ugw3S9+zQi6oj99hfA6tAhVPu53u9m1OUclQNG3MBaOLs+5JDUZ+w4NQsa6gIOQo1ggsbTQUQWcIPDQU", - "APmBmKpPLuWiTzRgMMGepziJL/L2ENmUwUJtL4uB1T7jWaabNZJMqr9LtAbyvOQCeh6yNyW+gaKFWwb9", - "fWqHxghLD98iAHrYqEaBhsLzUqmSa2mrnwfQGk0gs7miEhRwgD0spmr222CXhVjEOwv0inBZSrEfpVUW", - "NmPEeKY20AIc+WPEgGkBiLJ6U8u/W9wt7pbXsvx6Zm8vMMsWrB+JWZxFusPZR0k9iyEoYu0s5nq8DdtH", - "IKdZ9BzadF3/48Nr1RJnbs9j+fPPQjUmsISaia4cbcoF8jP0Qamr0SGYtQG+1K0CiolIoPhdyJhBM1HK", - "EhpHBA48BI47N13gUxtlGi5DzNAEet4WmJgOkbhaToWZtNpu1ksFlBSy2ZZGm5IhdkKGeCyNVcMMGYsd", - "gqOTYRUWnaid8j0p8aF47cVGY2ytsXaSHYDukAdWyBgiwpsCSrypPB2GoRcfLsh2UIFjP/CUcl2IRBYD", - "cgpzp0jJRuMSt2HmBKOOa2cYN/yWz40QI2jtNjjXrYxR5KF17S90q2/5HA0Q4RYMNt5o1wEi3XbrRst5", - "JtRiYOK8qL2cdE/kYChowRv7uXkfRRd5yBLAlWqsPttHRt2NjugYMrKL4EME6IP+Ls9+BicgJB7ivE+E", - "0pkhQ8q+pAz4lKEUh2Op7mPLBRbkSKrMMZyLh8si+KBgQ28Cp7xPQo64/D0PkDR5Jy5SgssMQShAb4LB", - "JPwi+MDg5ANQPSVmMfq8T7KALMHTKCUk9JX7AU5y+ZymX0zKL5kWWUA5XnZu3CW+SqafMCyQ/EcJCas0", - "Df2i6l+0S2kJbRwCV1QgSWIo5DceEUEoLQpAAQYh9mwgsI+Km2sV8XaKscs8g5jL/XWg7k67l6lTV3UM", - "1ve7WezGEZMyYS363aid7MPdEZouF7ecu2CEpnxT0nS7p+cokxqSxu+UrOXuXtTuWz4Xci1wsnGTX3/k", - "/LvnWSbDt1UKkjq/M3Q0bWWoI3qdzqD32ZzqBAXMtpck5pH8V9AhB4EHJWT0Jpaq+4vA1Pk3DwkCB9uS", - "l6HxcZjzbXYmMKqc4ZSg62Fu/2+L6nL8CyYCOZKgX7TWn3VZhJiPudRiOdAA4oNKYYQJoJaA6vjyoUgh", - "Ut6p17OmG0DhZmnqwgWxTeml56REhz81vy9AzN501xOi75rS9Asj+sleP4l8c2q7muGXdbtypj2mt5aP", - "Sfbtmfw1OR+jWmICBlOBeHIa1Up9t96s7dSb+dxbwaEFg0qIidipaysvOgbS7ojSGLK1dkmicz7Gd82E", - "ZwrmSgtlXqfX3WxgGdVOy86F2wrKBF8ud9Rn8Ls0WykTgEHiIP5R+VoDRgW1qKfEktROkmT8W65a3RdW", - "kMvnmmXzD+zDQP1zu0usDSV9NOGkxJeyVbuQNhGWEYRn1Ws7YRkrWwubUso7LhiCfuZ0XzklLwJij6pf", - "1qAYDXPWvb7qxZ2+qUWVG9u4LheJuu0ACeDzLDobaeW+TegLCzQZQI5C5qWXZsZJkUPUskmRIduF2hlq", - "6TOiZGMuSsxFXrPULL01d1526iUJkfIS5aVcPmdE6n4uZDjTzTu3xZAy9JKUSxl4HlrqP3ECx3KRNcru", - "6gSO0ieSs1yLzJIV9JGAHiajbEr5mDHKeFE7xwJG5XIUKXNKUb//lrrjH5HzrNoPy+XqDmSW+4em4AZk", - "04N4mItFJGIc5OeihYigXI3/3wx5CHL0R7OguSAxMpT/v1PXvyj8DiBH191NcFGutheXiiF+y3bCcLmo", - "HKiWkGExlaJfoMRRrO41o1267GZyue+MYSrBJj7GB5tW9V9Wbw/OvTFieDjN+jzvwl7DbffmIN/Gh7XG", - "yetkXYNo1QrbkWdX2soI2tHhGpmU+QyKLPPNtvQNHR2CGfIJ1we0bX3/KZUOQZOa72wLquaVTXjdpVnu", - "j54Z4AMHsgGIr1GyQGYaEdJ40Df/0oZIKUacuwVkVxuNyh5otVqtdu3qHbYr3vNhp3LVO2rI3zpX7OT8", - "iF0+4U+Xl/eT8BTetc78uwvaeb8bVr8eVu3Dxnv5oPdW2nnLwmnxdkROp5KtRXI+oSzrjstcwpoGgAso", - "T/8JFi74bee3PPit8VteqoC/VQe/xcb5AAEuKJM2Ju8TSAAiFpsGAtkxpCK4lib1BCds+gECQpkOttYu", - "Z5p+n8T9kjyZjJlBWh+av0x2MAHqo9memSpv1raW7PM9u3pTr3MyZOqA2mr/zBTlVQdyRsiVsjqSv9wh", - "HlBigrE8bwOo1wqzOzREDBELKeV87tLNTm+nSrWG6o2d3QJq7g0KlapdK8B6Y6dQr+7sNBr1erlcLqfk", - "dqhuANdczGVJtXh2s/vA75/UqvapW0c9rKZnx/4PoqSe0gV1+E+dlLpSVR6lTP3GoJC2oSTbsCG00J/f", - "skTziL7itf5T+orVXLLveA1CK0lxCQkeIi5+Kj38JNAfJ8a81RhDXz0zJGDkXvlZE6NSa0MvFvV9LDLD", - "In53IXc/RrJSroAApnn+O24ctTaAieWFtlTVro4e7lpb3jrGhNjAiEvQ706HQa3VowgVOtZztkJzV+/5", - "3CAOKvjybV7zGiQDDjZy321/u59xqZ+4mE9LJGlLFZqZVyGKq9iMLiuvQ2TjiIbznTc3w+fBfK+YWOCi", - "FAESy/4zzpks6chjuGunGx1C+VRXtCXRZlCyaLYhPpJ0M0Cb9UkR8kHFnc8T3wBKT3C1ONPgjqRVmeFW", - "QQJi5UGYt5lTRhjkmdbN4ukZN15AQM9HMoy57uGhZSEu5zKE2AuZVDMDRKS0khNKKP5xwwXGmsXxLMxs", - "RSjoQjhNFGQUBw4ujcHUgVhZl05mG0cu5BnQKGQp7eVVEZZsWjQ/Kc+MGnVfQCfTAvP4y8zOXXT7M+qB", - "3kUXqDZ4iK3IURkPqmKS11nIZoKZ2nc0pR+J012xLPF6GHvGSgd/zV09U660lExSQSfDNoXOliPo0NRM", - "nXEdbRKycJtoGMccD/M+GPl7pBlESsxCQPNsMpSYYFS9x7KtPxOuPefuvj28yo6UnqPN1xBOi5iW/KkJ", - "2y2Z9dhfQbX5QPB8NOXM3aZO3g3cn/8i3k/loXpxAifbS6U/R+6s7DY/5EA17pRfHtK/3EP605ybnHsv", - "P+q6/KH4u3To7c+KnH1ZHZ9xpKJJkm1S8ZyzuH6ACUhr60XQcxFHfZLqnQxzlaetjQJOvTEyqQyCYTRG", - "MfwiaMUE8qZ5FU3DZ59nzjg4NtkQ2A8oExq2FIx/Xwgk+fvM09knRvrOpOZmdJ0XdxnknQuX/KeEPG54", - "BbhJzOLGoNZHHK6E0LnpbhNiGN1fLgTLLPO8/0vFGSbj+n+FH/7bhh+mow5nvp5EZEBAuXAY4tvFAfwK", - "YfyXCGEM4FRq1/+Uo1Kx3cbnZZ9ErHndBVhw5A1Vju1UAyNU5U7CMcSeivOOWuswSUapAJT1CSRTk8kq", - "CZ10c6oQGGngf1Q4RwO/cCQ4GGLk2RHMhelgDrBDKIvSWzYSt/8BEZiJDLG1/ZJtfyCmcvPDf/MYycOr", - "4xsvdDDRx9mihbfCIMqEF+s6y+MtY0Xte4IuEeEhQy8BZFHBi9W56UeqPYiCiYHuCBJ6HEBvOGktJ8Ne", - "NojKnM1Gh2bGEZkmQhPb/5TQzBlaK+MzdxuN74vPTMYVLARp2ph9Z4zmHDXj+EwTrvkziLlpoGbsrv1Z", - "vnTLrOFiEmLSAyx7wERScUbo/WauYEsn+pjmc4Cz3dVqyhfG6N9s2qp1xr1BJKY2klea1OvuDjWobMyl", - "jbRlWGnn8NooxICSAYVsXYCpjV/8ofOiyf0ikXjxofUiRdWSdcUheQnCwcsITV9cyN31rTDhyArZBvDk", - "3n+xkIl5XXSaQBJKGRoqZOURh9jL0voQC5tfWWzbEbSrQ5HjJDPAkVCp80sPlHWSW4e9qYIcc7Bz+Y1O", - "o3+DwP+/8Dxbc+vwK+ng/07SwZpcg5d/t2SDl6XZBtmuo18ZB1tmHHxbQdpuAup3UTVCS93L6tRkyoCt", - "45wzjl2eODEy090S8GZQEvQUyCNIbEe71Dm1blTdOD3oUMiFIyLYssLbUro/RzkgWxD9ABMbwDgumSAx", - "oWwE9BWzjkoG0saU/2JIYmUJIBgcDrGl7uL7RLiUo7hHXEpJHctICEyc+MiTkLIOzGwPKkm4KWXPPMAL", - "xTSiYZWjAwaBJ41G5buKC4zNBl0SKrCCRSPw0dmizO3EaqV79cNyuWbpPurf6G8l/ZsP+Uj/8uV/9S+X", - "rbb+4X9xwJHY17+qf+vf119oZu2Fk/bNj1z9D0JrhMRyjzEkWnuQ522317o6bN0dgq6gDDoIWB7kHBwo", - "EMX5klnmj4IZYWkEVvZW6LlIm3lzcSHxvY8Umqponw3a1A9CgcARcTAxlzzFPunF9YsUoLmKYhMsXKPf", - "nbRvgLk1zRv/JubKE5f2sylYpubb7A5KVXxJ1b6KS431yQdTFoYVYIALesnDENt6xT9EmowZTqoFIoX1", - "NqXIZnXmFkkpp6i/J4o7xXOKvMXJS7UEfSXXG3qq2n0xKaH8G9sKelQJrAi6CIH4ot+joV10KHVMOA3X", - "W0cVhCrFBcVMDbd0ATEVWBF6AhcM5nGxMcujHHERKWmG/8jvps5XtD31xoy7fZRktqTsIgCGgvpQYAt6", - "3nSeyCjcopplthgxdFHzBlFzia+Ckt7JWdtXbc9inxxBy402iaK6uR0GMKZUrFiaYdSdTBE8KAy0MswB", - "ZGi/TwAogA9S2dz/E/kQe9j+9mEftAhQfwFo2wxxrk0JhgKGuDJf4rEsCQLMTasIjikDhnp58AF62EL/", - "kwih+lA0I5vzsaX7bYmDHtqAWDa2Py0of3YBBsH/wCDgARVFx3SK+iRRUpbLttQw84/K1km85khg+5jw", - "TBrY1IeY7P+p/ysHVOwJuiEWCOhfwe8Bwz5k04+Lg3ueHjBKGzInLRSm7zxFZqz3QapUH+Zwyua61Vsz", - "KvWnhYPKoIFk2icRfftzuqvacAu7Ihcro9F+2HTxcsZO3V8kcy6fMwRO/viX1NONz92fV9pNnc0S/st8", - "XgXkFiI2JKIwYBDbhVq51qjU1hpJCXD5dZXiTiLTfwvlYXUanRFL2jkwc6r8TgMN/mNmKt36aqFzAL+/", - "XlYncd2+hQYddVtjC6r4UlvbC5tc5h9F7XVYBBcDSsWmnY/jDplK4sIYW4ckmaugdQ5m1W4VrY+TM9sC", - "hczIyBtGx5jre3Nwf3exUYBjJnbJuPztEIPMcrFAljA+2hnTxqF1SxRf/fMGse+9aaDvGHXCytowhW5P", - "tsqoyfMTrmJnfiHjkywveH2Nj0hNMh/7horg0UUkKsVcTlYXlR2wPFh9TLAf+n1io6EqHjiYJtopvSZ9", - "uNSre/W9nd3q3s4yJ5NW119osFFmSdqSmnU3FZ6zdWs5plKXzSDKVlGKa+Ch+RrRQGl0ciGAniTvEwg4", - "CiCTwtG0tpG0uLSyqw5YLDigExINUQSXBn6f2HiobphENIa0IiZIWsd8hkb0zchQVc96pFwBDPUJDwN9", - "4m9xZa9p1VNw1x6kKS5JMcDcLv0SceOyYxVFl3AbJ23Ed0lbJ62YdI94G2wGIJ17Odd5C0ach7OSwFHS", - "SZp8W+V35HMq8kP/UyOt/x1VnjZJIAviLCGkEkPBiRwGTnjBhQXmhtj8lfgnh0H857tGRhehRjDYTX1J", - "/5Hop0LT4pQ881cUDWt+mEWd5XOOcp46VgzAkTI/1sjUf1MdMBUFeV7BgZcGLT/EA+s/0h/noTA4mY1D", - "RWZAXS6f8/A4jYGSitAr6DgmakmsxzyQZvzsXwU6hrl8bsK9JUsk+fvcVOxIc9RiGOl3uKE6yci+NHwe", - "2rRAqEp8t7cLhw8JFAIRe/Nwk/M4VnCbMzyQPJBxL6h+l9azE/rIWPAqRIpSoRIxGNDBiSorVJ4BHibp", - "WxxCuS/+GFJmoVXFDZaru2aAOOt/Blp/KdhoEDqbZcScm/zC78gNmg17rNMI2h4N7cIB5EucUSrwP92z", - "Wq6Wy3vl3WI508GirqSzUxxG9BVn5DfIn91wsElmCOSjebOqXs0yQBIlfGd41NY/1GDQnw1lFncGcUaV", - "L0vWJkpln7ckJfOadECiUpUXIiGIFkO65TLwy85UJfc3oU7WnoqiQ9IgpW6xpCyzg5ZkXhjVcvGLoAJ6", - "WZ/mqKAGzccvEekHgHTn/NJgkbx6qcH7ESe6Cjh+4XCM1l/X91zMY38vlkakP0ipetoze3DfuTh8ubhu", - "ty66rYcjgMgYM0p0Sfw+GUOG9TVZdO8iN1/i+ozDsTSKEpXJlR/U86ZFIFFQz6xIRdVGY+TRQAJWjnZK", - "vGleu7e1n2cWRapFEFvy0MncWiRospTmaEvLW3daY3eP0FTF7ixK1a5UgLVI1U2AB6c0TMcKhJk5rR4k", - "Tpid2x+5fHXU+UJR8by5LGeyFUFggCzqIw6Miy+v3oOQlidR35WrFnBkUWJDkyaY8KUh8nLfLd73jgvN", - "H71EvG53ttvzyyH8Ja/PGDN2/8+M/ChERKZDoKXe9FFXOOrukCORj5lN7vYhEpYrGcNAKYKOVMKQcfP+", - "PWTe32UHaaYaMyrfJ/pOKJXSpGw8U4pB8cySC0cdjZMRGwSJhIWwCr+GpqoE+N2s9T4oV3fK9UHVhjto", - "r1Ef2LX6oDloVmGz1kANuLtrVwc75eEQfszrGJIBg8RyCx4eIcDixOcZPOYib5ZVKfXij3PXHostsg/2", - "4WKFhQ26mRDu1cLxEAnEfGkVg4mLDGn0XUrq2RQfEuggBn63ILE9FGDyEWAbEYHFVD/ppPeXuhqGyuRZ", - "qIkG2pTw0EcMWHJzqeTs+cQ1yIHlYcma6TYuIn0S76V4H0ipGW2sJSXXNg+4mw8fXWAE1yzFonsp++Rd", - "ciRn1QswB6kaIZM3l5aE/E+r+ZiNYaYNFUWTZXn1l09mOTr5GdRVmK3Aiqv8ILS10fU9/bK2cPRQxk+r", - "RhA9pWXK6QganbNFcIw9BByPDgbmQj32aeX7BDlF8EGleXG38P8+zAk+4YeZheeWPuZxbW4w4sc8VuAV", - "PQcz8CAZyVZ9orPxE4pVBCb1Ngx4xJ5tqVdTlEoQTcfMpl6sVIoLU6kVa/D7L0RSj8D8jEVLvU2zGOEI", - "CVR6TkFQ6vEfxjtZI2rRSZ+5h1FAl3xZmj6esGwXTVjs+HZj2ScCxbJA7uguYNUeXPNalXamLjU585oI", - "MY5fJN1CL9Bq1g+FEEGOsiNpD8wXbWjEJYqMXTI7i3Or3hOYrnhNQCUMaaNXP8uoLkgiZUpV1FziZngx", - "1/tKeK/0HczROZ5t5kacI+gyxViVnNhIO45bZg2nct6WpGnZZPgSqEQuvkE62iUkceIXNyDnn7QzStdm", - "0CIY35ahPR+Nu+zGcW3O36qBbtaNo/fOS1TKePW9QOxCzR5ssw2bMl6LfdISQDKoNg7NOfLBVFH5kAcf", - "ZoU11F+moMcHMJuHCgzqkwGahXGoY0dlxWqIvj5C0lEelNk6eChgyEK2shewTgOO3zuV40o9eEDHmXGc", - "iXIv/7gqL1tXddksrcQJHFOoKf1w50wSxZr+EuV+VvFlLiTi5gSM0DRO7pVnwSxhWEUhpm2T1ClZkP87", - "ODrpXIGbkxtwc39w0WmD86MncHBx3T5Xn/ukT/zbztXBScvqWvTgqHV4MWw+nY7Q+9kOtL3Lp8kuPDnp", - "eGfQE82z1+pb6aB6/sntDDvh24kIHl53UZ9c3DmH97s7r7DXCB4OG/7x5VktGCGC7kpWz//69XZ0Nb3l", - "7ucqvf08OXq/7w4q7avL9rB94ow+N2+rffL+PGIdq82Oy7fVCTsfeDC03ftP+AGS1iH3K82no6980Gjd", - "13Ztcc8ua7dP9qOzd/fpM74ZPjTv+uT84LVXro0fDq7tyy5/qu1dwDbZ6QSV63HQ7BzRUgcdPTxVvvrt", - "65sWPC8Pzk5r4dCpt0M04p963T6Z3D72UPviLXy+2Lm+/Eyvb84n48vb4dvAqXw+bI7D5/K5eC1ZV6fV", - "NxiW33zeCvdOzwI0Gl/f3L15fTL9Kl6nz0NGHzA6ngaTZ2d8OxGEXDZLTvcoLJ099NhTuVH1j+57u21r", - "sFsfWafHvePh5cgjo5NSn5SH9/XWHWyU66e1t9fySAxQbXxu3XymN9fh+cEDP+2Oy+X7k6fW9AaF00/N", - "Xeu+9HTkXu6Oat2H89c+2UGdZ2eKL6/LE6/ydHJ4d26F3mTE91qfQm/kVGhvUOe1d/95fFPePaG9t8d6", - "9RWeNx67n67cZ4T6pLlT/kwf3IFVOQ+6n16Hz/SVsyPx3LwZ3D9/ehofN+8CZj+22Ovp4GxUPQvuzltv", - "PfeN37b4gXtS6ZPyRfhWfYSXB2Wn2mncWJf2Wcn6+krLTctirwefQ/z2yHADh3uXn4Pm115p2H2/8rnd", - "cUiz9PX5vE9w8zb0huHubvjVfSxNRHUgCBbOHf/66r5dhq9P9/XnQd0dieOme35f+vx5t1796l40ziet", - "u9Zt66BPxOHxyfPj3djyj5zzw8vKebfVfPYfRoPamXvRu6xcfD6YwseKaxGvFf1unZ6Nof/warcb4z6x", - "fOsTvj27Pji4PGi3WvVjfHSETnd85h6f7oYP/Pbi8rJafmpYzy55e2oet3zFQ+2TSfO4PRl1+uRg0jk5", - "vqVn7RZvHxw8tVuTo/apc9Q+rrdabWd0O+v96eqpVdo9eAocb9ptPT+duq/Tc7dPSp+GO+83w4fx4LRa", - "PvpaG3V2r48Prsrk4vOng/uKH467n772wm7t8YId1PzaSeiJ4Pzu6Oz8QviNo8M+qbCT988t2qtMg72n", - "TvOidWhfttvX09fWK6eP983dp/uw/ak0IK+sh+6qF3fX7eH0pr2787jXbODrhz7xG91PA357ONltVy+Y", - "Z7cu65eHIZ0+V7pYnMDn+vntxYP41DuClTrmT92T9us73b15aj7Uzq5HjXKfOF8fnWb1qjTwq0fv3d1e", - "s/Z4dDioeOPXescbvzmdr+fIqVTePz+9+eyp+3x21h6O34efvKvuTvjmnPbJ61vprDz1nqsXeHDCdk5a", - "ren13v0jaz13J93L8pH12mtOjtrkbdQ9DKdf/cfJw/jq4HN41HloXqPaU59c4vvK8Oyqye3dw4AfvzUu", - "P322ySW57X46Za+9m/PDmv/IvJZNjnqu/fTQfH0eBY/u4ZTXSnt76LpP3FGZXZBp+fVqMoLhsITvm9fW", - "zufx5ej14u7yzGnc7z2cT8/Cx0fxPvlMXi+vGo93xwdfz+v8mfqXl30yFIPeaeVTYzq4eyy1auODAXy7", - "e6yK3fv3q1frHY26z0cYXlztXZROrbN2565ye9zcaVYP7ZZ3dLxn98mo6tzip+5tC8Kz8tlZ6/10fDe6", - "O7u4cM6rT7dP+PTqYVoVtbPp8ZAz6Dcm3fbj9dC9QZ3pxUHv+axPxiy48m4GaMh7e43d3rB6cNUJnfdn", - "1m48vB12z0fPzp1beTgZdzu3pD19H91Od47uq19vAvzY2JMyyr3pfH5m59Q6r51fdPdK+P3stnfnidfL", - "1h998sfNsLfbJ+p0Obo6XHX0LCllQxl64dzLPqR/VTRb/+bDSk/pz3oDIlnZI9PrIuFFjg1d/kP5mxNa", - "EeRSoeFAmVyJaHFVVaRPfg9wgDxM0MfMCiML8cJRCUm6ZRWdn+tiTnuRwRIn8oZpx+Y5te3s6kxVsmXb", - "8R1WFI1gXneAoXApw+/IVvbMYu7qRo81tLqPWIyuT+v3zd36kc0P7slUDGqDyfjOcU69W2/w9NnbJZXy", - "eG9JDcvMFNh7/cRFbP7oHAjzLJ3cUmnHkO1jsj6ak6v7dkmnLOt446zEn5BdCAbTxFMKGZUvo0JndrYk", - "Ih3dpfJT0g7XYkOGKp6Jb42MD/loU1xk27WY6ETMbamSyWNJv8Oix2WDEkIaQtKpoIWKhZiwt+gsm69y", - "SyzxtyzgHDBqh3E2wMqCgnNFe77TdbMAZjn28xNddLmGgr6Yardw7iGe1bJyfhX2Mx4k0NXXA8q3gJoq", - "zzSHrCXwWJdCMVI3la/BkcWQKOjHb+KjPH5sJmPvDiBHL5mOkUW/yAbqASYcO65I886yIg6UOZAkPF7J", - "+Kt6uVatZ9/PWuvPzvjeY+hBJ8rMZK6lc4V1kGiiOkeUTAk9Tk1VOCOgOOiYGc2d/svmlC5XkixDPlvW", - "ouTVBGHX0nXuOEnRLT+/J1I4JBY4sThZh1AvUdpri0iXqNuaWBciAo3VirgUIgIQNUrpWeUioUy4Begj", - "hi1YDCj1ikQEUs/N5XOVVZ+3UsyS5c2WX+pFrfLRgaEOkfteO6UZ3HdLR1DuM7JZxOPixQaZbvw00Xw6", - "wNo+3dp2XRaSt9eO8R4ytF2XJRXi13XLCIpb12Uhomhdh2X3T9++ZEueyPZw8BiRjFwJlaSMOeAuDT0b", - "MAQ9XVVR1VABg1CAxUXSqScqCkvyS59krL2OmQM+gsRECkHPAxkNgd55vE8gQ1rwadtiYVwYtzVScoyp", - "uhjWvnmJcJ+w0EO6aiRDQ8pQHkwQcOE4TotXuxmojG45uwECcAKjakBYAMzJB9EnAeUcmxA+H7+pQBUf", - "CsvVlwRmPYCgjrKIpFCOeWfZHVYipWab577msho2ZqkNe8ynZW7BUBv2yH5VYGPe2LD9kptEVSBp+zSU", - "OJFlk5wzk9ijk86WPXVirpujTfBlbrtsmXjCQkKWZZek8owWduHWE/rBlLDsW/c5kF+WHkTLs2SKvBan", - "p0TJMMmMEmrhohEYuryBJGDoBUWTFGjKHmeTcPsXNGd1tX/oScoFbfrXg5E/9mDkBtbHZlEzSqm2QobF", - "tCu3ul72AwSZ3isD9a/jaLizx55UgVVLqZrrdjFUadnkvn1TpsqQZoVe67oNghrnnwow1zFSOr2TF1Xu", - "k4XMY496EXOtAFouAlWVMqLU/9hJPJlMilB9Vp5Z05eXLjrto6vuUaFaLBdd4XtaBRVqI1x3D9TwJkGQ", - "AVWgBMAAJ4Jm9nPVqCy4/LCfqxXLxUpO14tTZCpZHiWIl/7E9jfFLVkldE6QDkrRMlMV0wFG0Ml9I2WN", - "h0T0lot+5whG0fqRKqMfi0s4KylTUfmztFiVBY8pAUrEIhvZxWRtz46tUUk+O6nCkqGPhDIc/pbx8F2U", - "vxshLyhwVBEfTNTeE24Ua7QfvTAV7Thtwmnx+Ze8DvlFjqZfBVWLUS2XE3HhJp/LM5f4pVdTGnWG0MrD", - "PUEltZ3TlEnSRG6R+k8c2qSpLg7aIVqFjPI4sK2Hrvz1Q7dCVQpxhJQ/HGtE9Oi1v370ezJzacsdGCAm", - "9waI97bGpP6PwGRE6ITMLUHjH7H69wS9BSoaF6jUZ0At9ViDnRLhiosj4f23L5JHeOj7kE1NknpSCCnh", - "Fe8nBacU/aGKGGY9eNXW1TsgIGgSdc2DgMqpY2VnWZRwUylMeYLHiMFIuCt5bww2BK2oviZmSfONLwqu", - "G8pF9DawFjKIi+iV4Z/D8en3Mb+lj08pzL4tyJvKzx69Y2ctvfkIXMi1+oHsf5rQYbNHK39Jnl+SZ0PJ", - "Y4RGlqT5WcrTFvpSRMM1ilLq5dSNVKUY8P8xZSlFqYwdlKbLL4Xpl9j6N1WYlsovbQgmtaYM/UU2mSkx", - "G8iThLD6F5Iif4HulaCMAvyP1r4S49+ZQbK2lCpGiyaz+ocDpHKItcsmW64J9CZKyo+TxmeetBtLr/rP", - "GiCLN7+lTm1JllTl3xUM4JmSFd9zig8xwdxNHOJg5RmOxezo1iUK1AWLjwQEmOg9jCkBcEBDYUL3eeiJ", - "Vce8qrjx65Bfe8grOi1hDbkF4gLN+m4uNhAxAYTqd9ys0IPMVKQFvwuXho5rbsfOutdXH4v/cYx0oqoP", - "O9G1ZbTLs9goekF6PS/FLTdgpzskQka4yi2K36iWyCgb3Iiz6GFqJd9Ngbq4sUUVY8WVj8zyRQX6oABJ", - "d6x5b1pH6kISvT9diMAVGytY8TImwS9+XMuPM2ItYcrUci8w5n8mr6XZYwOmSyQMr+a5uNKHZLkFPtO1", - "0dEbtETqIGKK/ZANbKQLidEUr8Wuf1XZchVnRHj+Yoz1jBHRahlfREu5DV/8MlJ/Gan/akbqgmzKkncK", - "eFKnWBAxsxf+FoRL1sxmTUqqzNqyOJZEO1WH7S9l/dkcsnZ7/NaNIcYvNvvnsJne6P9+TDZ7LAl6HohD", - "6aLdNGOz9R5tSHTQA7HisFeN2eztmMEUqKMzm1E39x8h0/yHTv3aP/gMX7qU6gNI/vaLi39x8TZcjBZ3", - "kOTcOMhn+Ql5bZr84L6fj79amKhBRckCaZVLENFrlv+GesnK6XyLczqypNileQRHpT+pl5vi4rrpEDAY", - "4KIq6+XioU6mgQEu6SLeyvOAWCF6gas0riptZS4wTUAHE2fVAFxAB/3gMIqIJHqkJx5mHZwv3/5/AAAA", - "//9Cpq87zb8AAA==", + "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", + "IoqHWQfn89f/HwAA//80eIXXl8EAAA==", } // GetSwagger returns the content of the embedded swagger specification file diff --git a/internal/cloudapi/v2/openapi.v2.yml b/internal/cloudapi/v2/openapi.v2.yml index 9999a0c369..993384e80f 100644 --- a/internal/cloudapi/v2/openapi.v2.yml +++ b/internal/cloudapi/v2/openapi.v2.yml @@ -975,6 +975,12 @@ components: required: - profile_id properties: + policy_id: + type: string + format: uuid + description: | + Puts a specified policy ID in the RHSM facts, so that any instances registered to + insights will be automatically connected to the compliance policy in the console. profile_id: type: string tailoring: @@ -986,6 +992,12 @@ components: required: - profile_id properties: + policy_id: + type: string + format: uuid + description: | + Puts a specified policy ID in the RHSM facts, so that any instances registered to + insights will be automatically connected to the compliance policy in the console. profile_id: type: string datastream: