-
Notifications
You must be signed in to change notification settings - Fork 597
/
api_op_GetPolicy.go
140 lines (117 loc) · 4.07 KB
/
api_op_GetPolicy.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
package iam
import (
"context"
"github.com/aws/aws-sdk-go-v2/aws"
"github.com/aws/aws-sdk-go-v2/internal/awsutil"
)
type GetPolicyInput struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) of the managed policy that you want information
// about.
//
// For more information about ARNs, see Amazon Resource Names (ARNs) and AWS
// Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
// in the AWS General Reference.
//
// PolicyArn is a required field
PolicyArn *string `min:"20" type:"string" required:"true"`
}
// String returns the string representation
func (s GetPolicyInput) String() string {
return awsutil.Prettify(s)
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *GetPolicyInput) Validate() error {
invalidParams := aws.ErrInvalidParams{Context: "GetPolicyInput"}
if s.PolicyArn == nil {
invalidParams.Add(aws.NewErrParamRequired("PolicyArn"))
}
if s.PolicyArn != nil && len(*s.PolicyArn) < 20 {
invalidParams.Add(aws.NewErrParamMinLen("PolicyArn", 20))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// Contains the response to a successful GetPolicy request.
type GetPolicyOutput struct {
_ struct{} `type:"structure"`
// A structure containing details about the policy.
Policy *Policy `type:"structure"`
}
// String returns the string representation
func (s GetPolicyOutput) String() string {
return awsutil.Prettify(s)
}
const opGetPolicy = "GetPolicy"
// GetPolicyRequest returns a request value for making API operation for
// AWS Identity and Access Management.
//
// Retrieves information about the specified managed policy, including the policy's
// default version and the total number of IAM users, groups, and roles to which
// the policy is attached. To retrieve the list of the specific users, groups,
// and roles that the policy is attached to, use the ListEntitiesForPolicy API.
// This API returns metadata about the policy. To retrieve the actual policy
// document for a specific version of the policy, use GetPolicyVersion.
//
// This API retrieves information about managed policies. To retrieve information
// about an inline policy that is embedded with an IAM user, group, or role,
// use the GetUserPolicy, GetGroupPolicy, or GetRolePolicy API.
//
// For more information about policies, see Managed Policies and Inline Policies
// (https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
// in the IAM User Guide.
//
// // Example sending a request using GetPolicyRequest.
// req := client.GetPolicyRequest(params)
// resp, err := req.Send(context.TODO())
// if err == nil {
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetPolicy
func (c *Client) GetPolicyRequest(input *GetPolicyInput) GetPolicyRequest {
op := &aws.Operation{
Name: opGetPolicy,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &GetPolicyInput{}
}
req := c.newRequest(op, input, &GetPolicyOutput{})
return GetPolicyRequest{Request: req, Input: input, Copy: c.GetPolicyRequest}
}
// GetPolicyRequest is the request type for the
// GetPolicy API operation.
type GetPolicyRequest struct {
*aws.Request
Input *GetPolicyInput
Copy func(*GetPolicyInput) GetPolicyRequest
}
// Send marshals and sends the GetPolicy API request.
func (r GetPolicyRequest) Send(ctx context.Context) (*GetPolicyResponse, error) {
r.Request.SetContext(ctx)
err := r.Request.Send()
if err != nil {
return nil, err
}
resp := &GetPolicyResponse{
GetPolicyOutput: r.Request.Data.(*GetPolicyOutput),
response: &aws.Response{Request: r.Request},
}
return resp, nil
}
// GetPolicyResponse is the response type for the
// GetPolicy API operation.
type GetPolicyResponse struct {
*GetPolicyOutput
response *aws.Response
}
// SDKResponseMetdata returns the response metadata for the
// GetPolicy request.
func (r *GetPolicyResponse) SDKResponseMetdata() *aws.Response {
return r.response
}