| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- // Copyright 2019 Yunion
- //
- // Licensed 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 cloudid
- import (
- "yunion.io/x/jsonutils"
- "yunion.io/x/onecloud/pkg/mcclient/options"
- )
- type CloudgroupListOptions struct {
- options.BaseListOptions
- ClouduserId string `json:"clouduser_id"`
- CloudpolicyId string `json:"cloudpolicy_id"`
- Usable bool `json:"usable"`
- }
- func (opts *CloudgroupListOptions) Params() (jsonutils.JSONObject, error) {
- return options.ListStructToParams(opts)
- }
- type CloudgroupCreateOptions struct {
- NAME string `json:"name"`
- MANAGER_ID string
- CloudpolicyIds []string `json:"cloudpolicy_ids"`
- Desc string `json:"description"`
- }
- func (opts *CloudgroupCreateOptions) Params() (jsonutils.JSONObject, error) {
- return jsonutils.Marshal(opts), nil
- }
- type CloudgroupIdOptions struct {
- ID string `help:"Cloudgroup Id"`
- }
- func (opts *CloudgroupIdOptions) GetId() string {
- return opts.ID
- }
- func (opts *CloudgroupIdOptions) Params() (jsonutils.JSONObject, error) {
- return nil, nil
- }
- type CloudgroupPolicyOptions struct {
- CloudgroupIdOptions
- CLOUDPOLICY_ID string `help:"Cloudpolicy Id"`
- }
- func (opts *CloudgroupPolicyOptions) Params() (jsonutils.JSONObject, error) {
- return jsonutils.Marshal(map[string]string{"cloudpolicy_id": opts.CLOUDPOLICY_ID}), nil
- }
- type CloudgroupUserOptions struct {
- CloudgroupIdOptions
- CLOUDUSER_ID string `help:"Clouduser Id"`
- }
- func (opts *CloudgroupUserOptions) Params() (jsonutils.JSONObject, error) {
- return jsonutils.Marshal(map[string]string{"clouduser_id": opts.CLOUDUSER_ID}), nil
- }
- type CloudgroupPoliciesOptions struct {
- CloudgroupIdOptions
- CloudpolicyIds []string `json:"cloudpolicy_ids"`
- }
- func (opts *CloudgroupPoliciesOptions) Params() (jsonutils.JSONObject, error) {
- return jsonutils.Marshal(map[string][]string{"cloudpolicy_ids": opts.CloudpolicyIds}), nil
- }
- type CloudgroupUsersOptions struct {
- CloudgroupIdOptions
- ClouduserIds []string `json:"clouduser_ids"`
- }
- func (opts *CloudgroupUsersOptions) Params() (jsonutils.JSONObject, error) {
- return jsonutils.Marshal(map[string][]string{"clouduser_ids": opts.ClouduserIds}), nil
- }
- type CloudgroupPublicOptions struct {
- CloudgroupIdOptions
- Scope string `help:"sharing scope" choices:"system|domain"`
- SharedDomains []string `help:"share to domains"`
- }
- func (opts *CloudgroupPublicOptions) Params() (jsonutils.JSONObject, error) {
- params := jsonutils.NewDict()
- if len(opts.Scope) > 0 {
- params.Add(jsonutils.NewString(opts.Scope), "scope")
- }
- if len(opts.SharedDomains) > 0 {
- params.Add(jsonutils.Marshal(opts.SharedDomains), "shared_domains")
- }
- return params, nil
- }
|