github.com/opentelekomcloud/gophertelekomcloud@v0.9.3/openstack/identity/v3.0/security/UpdateLoginAuthPolicy.go (about) 1 package security 2 3 import ( 4 golangsdk "github.com/opentelekomcloud/gophertelekomcloud" 5 "github.com/opentelekomcloud/gophertelekomcloud/internal/build" 6 "github.com/opentelekomcloud/gophertelekomcloud/internal/extract" 7 ) 8 9 type UpdateLoginPolicyOpts struct { 10 // Validity period (days) to disable users if they have not logged in within the period. Value range: 0-240. 11 // Validity period (days) to disable users if they have not logged in within the period. 12 // If this parameter is set to 0, no users will be disabled. 13 AccountValidityPeriod *int `json:"account_validity_period,omitempty"` 14 // Custom information that will be displayed upon successful login. 15 CustomInfoForLogin string `json:"custom_info_for_login,omitempty"` 16 // Duration (minutes) to lock users out. 17 LockoutDuration int `json:"lockout_duration,omitempty"` 18 // Number of unsuccessful login attempts to lock users out. 19 LoginFailedTimes int `json:"login_failed_times,omitempty"` 20 // Period (minutes) to count the number of unsuccessful login attempts. 21 PeriodWithLoginFailures int `json:"period_with_login_failures,omitempty"` 22 // Session timeout (minutes) that will apply if you or users created using your account 23 // do not perform any operations within a specific period. 24 SessionTimeout int `json:"session_timeout,omitempty"` 25 // Indicates whether to display last login information upon successful login. 26 ShowRecentLoginInfo *bool `json:"show_recent_login_info,omitempty"` 27 } 28 29 func UpdateLoginAuthPolicy(client *golangsdk.ServiceClient, id string, opts UpdateLoginPolicyOpts) (*LoginPolicy, error) { 30 b, err := build.RequestBody(opts, "login_policy") 31 if err != nil { 32 return nil, err 33 } 34 35 // PUT /v3.0/OS-SECURITYPOLICY/domains/{domain_id}/login-policy 36 raw, err := client.Put(client.ServiceURL("OS-SECURITYPOLICY", "domains", id, "login-policy"), b, nil, &golangsdk.RequestOpts{ 37 OkCodes: []int{200}, 38 }) 39 if err != nil { 40 return nil, err 41 } 42 43 var res LoginPolicy 44 return &res, extract.IntoStructPtr(raw.Body, &res, "login_policy") 45 }