diff --git a/agent/Gopkg.lock b/agent/Gopkg.lock
index fa774de9bd8..2aff51b0aaf 100644
--- a/agent/Gopkg.lock
+++ b/agent/Gopkg.lock
@@ -10,7 +10,7 @@
version = "v0.4.7"
[[projects]]
- digest = "1:59564f8de34af5bb19953175ba0f3094fdee9cb3d9cba97fbcc98aebe97ef5bd"
+ digest = "1:4dfad161aee05f73bbd9740d329bb068a18028c0a9d6c0572f931ad320f71873"
name = "github.com/aws/aws-sdk-go"
packages = [
"aws",
@@ -49,15 +49,11 @@
"private/protocol/query",
"private/protocol/query/queryutil",
"private/protocol/rest",
- "private/protocol/restjson",
"private/protocol/restxml",
"private/protocol/xml/xmlutil",
"private/util",
- "service/cloudwatch",
"service/cloudwatchlogs",
"service/ec2",
- "service/efs",
- "service/iam",
"service/s3",
"service/s3/internal/arn",
"service/s3/s3iface",
@@ -117,7 +113,7 @@
revision = "c220ac4f01b8a301edcb9c9c05d7600249138cfa"
[[projects]]
- digest = "1:7e981651f8cc87275ad60b2c48927f13cd5e55815d8db0d44bfd899e476ddd32"
+ digest = "1:1a07bbfee1d0534e8dda4773948e6dcd3a061ea7ab047ce04619476946226483"
name = "github.com/containernetworking/cni"
packages = [
"libcni",
@@ -128,8 +124,16 @@
"pkg/version",
]
pruneopts = "UT"
- revision = "7d76556571b6cf1ab90d7026a73092ac8d5e0c23"
- version = "v0.7.0"
+ revision = "4cfb7b568922a3c79a23e438dc52fe537fc9687e"
+ version = "v0.7.1"
+
+[[projects]]
+ digest = "1:b657713432ed8677bfb1467dc3da20de35d25438286f5d4530cbff4ab0e82af1"
+ name = "github.com/containernetworking/plugins"
+ packages = ["pkg/ns"]
+ pruneopts = "UT"
+ revision = "ad10b6fa91aacd720f1f9ab94341a97a82a24965"
+ version = "v0.8.6"
[[projects]]
digest = "1:6bf7f66890675dcbc7952f7afd044a2a46a8bd3143f837c46fd3ccd15da383d7"
@@ -525,11 +529,8 @@
"github.com/aws/aws-sdk-go/private/protocol/json/jsonutil",
"github.com/aws/aws-sdk-go/private/protocol/jsonrpc",
"github.com/aws/aws-sdk-go/private/util",
- "github.com/aws/aws-sdk-go/service/cloudwatch",
"github.com/aws/aws-sdk-go/service/cloudwatchlogs",
"github.com/aws/aws-sdk-go/service/ec2",
- "github.com/aws/aws-sdk-go/service/efs",
- "github.com/aws/aws-sdk-go/service/iam",
"github.com/aws/aws-sdk-go/service/s3",
"github.com/aws/aws-sdk-go/service/s3/s3manager",
"github.com/aws/aws-sdk-go/service/secretsmanager",
@@ -541,6 +542,7 @@
"github.com/containernetworking/cni/libcni",
"github.com/containernetworking/cni/pkg/types",
"github.com/containernetworking/cni/pkg/types/current",
+ "github.com/containernetworking/plugins/pkg/ns",
"github.com/deniswernert/udev",
"github.com/didip/tollbooth",
"github.com/docker/docker/api/types",
diff --git a/agent/Gopkg.toml b/agent/Gopkg.toml
index 250c7c091db..27b9da695ba 100644
--- a/agent/Gopkg.toml
+++ b/agent/Gopkg.toml
@@ -80,7 +80,6 @@ required = ["github.com/golang/mock/mockgen/model"]
[[constraint]]
name = "github.com/vishvananda/netlink"
revision ="fe3b5664d23a11b52ba59bece4ff29c52772a56b"
-
[[constraint]]
name = "github.com/didip/tollbooth"
version = "3.0.2"
@@ -96,3 +95,7 @@ required = ["github.com/golang/mock/mockgen/model"]
[[constraint]]
branch = "master"
name = "github.com/awslabs/go-config-generator-for-fluentd-and-fluentbit"
+
+[[constraint]]
+ name = "github.com/containernetworking/plugins"
+ version = "0.8.6"
diff --git a/agent/ecscni/mocks_libcni/libcni_mocks.go b/agent/ecscni/mocks_libcni/libcni_mocks.go
index db394f60b65..23c4638c751 100644
--- a/agent/ecscni/mocks_libcni/libcni_mocks.go
+++ b/agent/ecscni/mocks_libcni/libcni_mocks.go
@@ -27,30 +27,30 @@ import (
gomock "github.com/golang/mock/gomock"
)
-// MockCNI is a mock of CNI interface
+// MockCNI is a mock of CNI interface.
type MockCNI struct {
ctrl *gomock.Controller
recorder *MockCNIMockRecorder
}
-// MockCNIMockRecorder is the mock recorder for MockCNI
+// MockCNIMockRecorder is the mock recorder for MockCNI.
type MockCNIMockRecorder struct {
mock *MockCNI
}
-// NewMockCNI creates a new mock instance
+// NewMockCNI creates a new mock instance.
func NewMockCNI(ctrl *gomock.Controller) *MockCNI {
mock := &MockCNI{ctrl: ctrl}
mock.recorder = &MockCNIMockRecorder{mock}
return mock
}
-// EXPECT returns an object that allows the caller to indicate expected use
+// EXPECT returns an object that allows the caller to indicate expected use.
func (m *MockCNI) EXPECT() *MockCNIMockRecorder {
return m.recorder
}
-// AddNetwork mocks base method
+// AddNetwork mocks base method.
func (m *MockCNI) AddNetwork(arg0 context.Context, arg1 *libcni.NetworkConfig, arg2 *libcni.RuntimeConf) (types.Result, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "AddNetwork", arg0, arg1, arg2)
@@ -59,13 +59,13 @@ func (m *MockCNI) AddNetwork(arg0 context.Context, arg1 *libcni.NetworkConfig, a
return ret0, ret1
}
-// AddNetwork indicates an expected call of AddNetwork
+// AddNetwork indicates an expected call of AddNetwork.
func (mr *MockCNIMockRecorder) AddNetwork(arg0, arg1, arg2 interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddNetwork", reflect.TypeOf((*MockCNI)(nil).AddNetwork), arg0, arg1, arg2)
}
-// AddNetworkList mocks base method
+// AddNetworkList mocks base method.
func (m *MockCNI) AddNetworkList(arg0 context.Context, arg1 *libcni.NetworkConfigList, arg2 *libcni.RuntimeConf) (types.Result, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "AddNetworkList", arg0, arg1, arg2)
@@ -74,13 +74,13 @@ func (m *MockCNI) AddNetworkList(arg0 context.Context, arg1 *libcni.NetworkConfi
return ret0, ret1
}
-// AddNetworkList indicates an expected call of AddNetworkList
+// AddNetworkList indicates an expected call of AddNetworkList.
func (mr *MockCNIMockRecorder) AddNetworkList(arg0, arg1, arg2 interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddNetworkList", reflect.TypeOf((*MockCNI)(nil).AddNetworkList), arg0, arg1, arg2)
}
-// CheckNetwork mocks base method
+// CheckNetwork mocks base method.
func (m *MockCNI) CheckNetwork(arg0 context.Context, arg1 *libcni.NetworkConfig, arg2 *libcni.RuntimeConf) error {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "CheckNetwork", arg0, arg1, arg2)
@@ -88,13 +88,13 @@ func (m *MockCNI) CheckNetwork(arg0 context.Context, arg1 *libcni.NetworkConfig,
return ret0
}
-// CheckNetwork indicates an expected call of CheckNetwork
+// CheckNetwork indicates an expected call of CheckNetwork.
func (mr *MockCNIMockRecorder) CheckNetwork(arg0, arg1, arg2 interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CheckNetwork", reflect.TypeOf((*MockCNI)(nil).CheckNetwork), arg0, arg1, arg2)
}
-// CheckNetworkList mocks base method
+// CheckNetworkList mocks base method.
func (m *MockCNI) CheckNetworkList(arg0 context.Context, arg1 *libcni.NetworkConfigList, arg2 *libcni.RuntimeConf) error {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "CheckNetworkList", arg0, arg1, arg2)
@@ -102,13 +102,13 @@ func (m *MockCNI) CheckNetworkList(arg0 context.Context, arg1 *libcni.NetworkCon
return ret0
}
-// CheckNetworkList indicates an expected call of CheckNetworkList
+// CheckNetworkList indicates an expected call of CheckNetworkList.
func (mr *MockCNIMockRecorder) CheckNetworkList(arg0, arg1, arg2 interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CheckNetworkList", reflect.TypeOf((*MockCNI)(nil).CheckNetworkList), arg0, arg1, arg2)
}
-// DelNetwork mocks base method
+// DelNetwork mocks base method.
func (m *MockCNI) DelNetwork(arg0 context.Context, arg1 *libcni.NetworkConfig, arg2 *libcni.RuntimeConf) error {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "DelNetwork", arg0, arg1, arg2)
@@ -116,13 +116,13 @@ func (m *MockCNI) DelNetwork(arg0 context.Context, arg1 *libcni.NetworkConfig, a
return ret0
}
-// DelNetwork indicates an expected call of DelNetwork
+// DelNetwork indicates an expected call of DelNetwork.
func (mr *MockCNIMockRecorder) DelNetwork(arg0, arg1, arg2 interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DelNetwork", reflect.TypeOf((*MockCNI)(nil).DelNetwork), arg0, arg1, arg2)
}
-// DelNetworkList mocks base method
+// DelNetworkList mocks base method.
func (m *MockCNI) DelNetworkList(arg0 context.Context, arg1 *libcni.NetworkConfigList, arg2 *libcni.RuntimeConf) error {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "DelNetworkList", arg0, arg1, arg2)
@@ -130,13 +130,29 @@ func (m *MockCNI) DelNetworkList(arg0 context.Context, arg1 *libcni.NetworkConfi
return ret0
}
-// DelNetworkList indicates an expected call of DelNetworkList
+// DelNetworkList indicates an expected call of DelNetworkList.
func (mr *MockCNIMockRecorder) DelNetworkList(arg0, arg1, arg2 interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DelNetworkList", reflect.TypeOf((*MockCNI)(nil).DelNetworkList), arg0, arg1, arg2)
}
-// GetNetworkCachedResult mocks base method
+// GetNetworkCachedConfig mocks base method.
+func (m *MockCNI) GetNetworkCachedConfig(arg0 *libcni.NetworkConfig, arg1 *libcni.RuntimeConf) ([]byte, *libcni.RuntimeConf, error) {
+ m.ctrl.T.Helper()
+ ret := m.ctrl.Call(m, "GetNetworkCachedConfig", arg0, arg1)
+ ret0, _ := ret[0].([]byte)
+ ret1, _ := ret[1].(*libcni.RuntimeConf)
+ ret2, _ := ret[2].(error)
+ return ret0, ret1, ret2
+}
+
+// GetNetworkCachedConfig indicates an expected call of GetNetworkCachedConfig.
+func (mr *MockCNIMockRecorder) GetNetworkCachedConfig(arg0, arg1 interface{}) *gomock.Call {
+ mr.mock.ctrl.T.Helper()
+ return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetNetworkCachedConfig", reflect.TypeOf((*MockCNI)(nil).GetNetworkCachedConfig), arg0, arg1)
+}
+
+// GetNetworkCachedResult mocks base method.
func (m *MockCNI) GetNetworkCachedResult(arg0 *libcni.NetworkConfig, arg1 *libcni.RuntimeConf) (types.Result, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "GetNetworkCachedResult", arg0, arg1)
@@ -145,13 +161,44 @@ func (m *MockCNI) GetNetworkCachedResult(arg0 *libcni.NetworkConfig, arg1 *libcn
return ret0, ret1
}
-// GetNetworkCachedResult indicates an expected call of GetNetworkCachedResult
+// GetNetworkCachedResult indicates an expected call of GetNetworkCachedResult.
func (mr *MockCNIMockRecorder) GetNetworkCachedResult(arg0, arg1 interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetNetworkCachedResult", reflect.TypeOf((*MockCNI)(nil).GetNetworkCachedResult), arg0, arg1)
}
-// ValidateNetwork mocks base method
+// GetNetworkListCachedConfig mocks base method.
+func (m *MockCNI) GetNetworkListCachedConfig(arg0 *libcni.NetworkConfigList, arg1 *libcni.RuntimeConf) ([]byte, *libcni.RuntimeConf, error) {
+ m.ctrl.T.Helper()
+ ret := m.ctrl.Call(m, "GetNetworkListCachedConfig", arg0, arg1)
+ ret0, _ := ret[0].([]byte)
+ ret1, _ := ret[1].(*libcni.RuntimeConf)
+ ret2, _ := ret[2].(error)
+ return ret0, ret1, ret2
+}
+
+// GetNetworkListCachedConfig indicates an expected call of GetNetworkListCachedConfig.
+func (mr *MockCNIMockRecorder) GetNetworkListCachedConfig(arg0, arg1 interface{}) *gomock.Call {
+ mr.mock.ctrl.T.Helper()
+ return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetNetworkListCachedConfig", reflect.TypeOf((*MockCNI)(nil).GetNetworkListCachedConfig), arg0, arg1)
+}
+
+// GetNetworkListCachedResult mocks base method.
+func (m *MockCNI) GetNetworkListCachedResult(arg0 *libcni.NetworkConfigList, arg1 *libcni.RuntimeConf) (types.Result, error) {
+ m.ctrl.T.Helper()
+ ret := m.ctrl.Call(m, "GetNetworkListCachedResult", arg0, arg1)
+ ret0, _ := ret[0].(types.Result)
+ ret1, _ := ret[1].(error)
+ return ret0, ret1
+}
+
+// GetNetworkListCachedResult indicates an expected call of GetNetworkListCachedResult.
+func (mr *MockCNIMockRecorder) GetNetworkListCachedResult(arg0, arg1 interface{}) *gomock.Call {
+ mr.mock.ctrl.T.Helper()
+ return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetNetworkListCachedResult", reflect.TypeOf((*MockCNI)(nil).GetNetworkListCachedResult), arg0, arg1)
+}
+
+// ValidateNetwork mocks base method.
func (m *MockCNI) ValidateNetwork(arg0 context.Context, arg1 *libcni.NetworkConfig) ([]string, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "ValidateNetwork", arg0, arg1)
@@ -160,13 +207,13 @@ func (m *MockCNI) ValidateNetwork(arg0 context.Context, arg1 *libcni.NetworkConf
return ret0, ret1
}
-// ValidateNetwork indicates an expected call of ValidateNetwork
+// ValidateNetwork indicates an expected call of ValidateNetwork.
func (mr *MockCNIMockRecorder) ValidateNetwork(arg0, arg1 interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ValidateNetwork", reflect.TypeOf((*MockCNI)(nil).ValidateNetwork), arg0, arg1)
}
-// ValidateNetworkList mocks base method
+// ValidateNetworkList mocks base method.
func (m *MockCNI) ValidateNetworkList(arg0 context.Context, arg1 *libcni.NetworkConfigList) ([]string, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "ValidateNetworkList", arg0, arg1)
@@ -175,7 +222,7 @@ func (m *MockCNI) ValidateNetworkList(arg0 context.Context, arg1 *libcni.Network
return ret0, ret1
}
-// ValidateNetworkList indicates an expected call of ValidateNetworkList
+// ValidateNetworkList indicates an expected call of ValidateNetworkList.
func (mr *MockCNIMockRecorder) ValidateNetworkList(arg0, arg1 interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ValidateNetworkList", reflect.TypeOf((*MockCNI)(nil).ValidateNetworkList), arg0, arg1)
diff --git a/agent/ecscni/plugin.go b/agent/ecscni/plugin.go
index 19595318603..f2c68a017bc 100644
--- a/agent/ecscni/plugin.go
+++ b/agent/ecscni/plugin.go
@@ -99,7 +99,7 @@ func (client *cniClient) setupNS(ctx context.Context, cfg *Config) (*current.Res
var bridgeResult cnitypes.Result
runtimeConfig := libcni.RuntimeConf{
ContainerID: cfg.ContainerID,
- NetNS: fmt.Sprintf(netnsFormat, cfg.ContainerPID),
+ NetNS: fmt.Sprintf(NetnsFormat, cfg.ContainerPID),
}
// Execute all CNI network configurations serially, in the given order.
@@ -162,7 +162,7 @@ func (client *cniClient) cleanupNS(ctx context.Context, cfg *Config) error {
runtimeConfig := libcni.RuntimeConf{
ContainerID: cfg.ContainerID,
- NetNS: fmt.Sprintf(netnsFormat, cfg.ContainerPID),
+ NetNS: fmt.Sprintf(NetnsFormat, cfg.ContainerPID),
}
// Execute all CNI network configurations serially, in the reverse order.
@@ -197,7 +197,7 @@ func (client *cniClient) ReleaseIPResource(ctx context.Context, cfg *Config, tim
runtimeConfig := libcni.RuntimeConf{
ContainerID: cfg.ContainerID,
- NetNS: fmt.Sprintf(netnsFormat, cfg.ContainerPID),
+ NetNS: fmt.Sprintf(NetnsFormat, cfg.ContainerPID),
}
seelog.Debugf("[ECSCNI] Releasing the ip resource from ipam db, id: [%s], ip: [%v]", cfg.ID, cfg.IPAMV4Address)
diff --git a/agent/ecscni/types.go b/agent/ecscni/types.go
index c48f3d23fde..01b5f8968a8 100644
--- a/agent/ecscni/types.go
+++ b/agent/ecscni/types.go
@@ -34,11 +34,11 @@ const (
// defaultAppMeshIfName is the default name of app mesh to setup iptable rules
// for app mesh container. IfName is mandatory field to invoke CNI plugin.
defaultAppMeshIfName = "aws-appmesh"
- // netnsFormat is used to construct the path to cotainer network namespace
- netnsFormat = "/host/proc/%s/ns/net"
// ecsSubnet is the available ip addresses to use for task networking
ecsSubnet = "169.254.172.0/22"
+ // NetnsFormat is used to construct the path to cotainer network namespace
+ NetnsFormat = "/host/proc/%s/ns/net"
// ECSIPAMPluginName is the binary of the ipam plugin
ECSIPAMPluginName = "ecs-ipam"
// ECSBridgePluginName is the binary of the bridge plugin
diff --git a/agent/handlers/task_server_setup_test.go b/agent/handlers/task_server_setup_test.go
index 23c3dfb3a6f..02ff13b3daf 100644
--- a/agent/handlers/task_server_setup_test.go
+++ b/agent/handlers/task_server_setup_test.go
@@ -44,6 +44,7 @@ import (
v3 "github.com/aws/amazon-ecs-agent/agent/handlers/v3"
v4 "github.com/aws/amazon-ecs-agent/agent/handlers/v4"
mock_audit "github.com/aws/amazon-ecs-agent/agent/logger/audit/mocks"
+ "github.com/aws/amazon-ecs-agent/agent/stats"
mock_stats "github.com/aws/amazon-ecs-agent/agent/stats/mock"
"github.com/aws/aws-sdk-go/aws"
"github.com/docker/docker/api/types"
@@ -727,7 +728,7 @@ func TestV2ContainerStats(t *testing.T) {
dockerStats.NumProcs = 2
gomock.InOrder(
state.EXPECT().GetTaskByIPAddress(remoteIP).Return(taskARN, true),
- statsEngine.EXPECT().ContainerDockerStats(taskARN, containerID).Return(dockerStats, nil),
+ statsEngine.EXPECT().ContainerDockerStats(taskARN, containerID).Return(dockerStats, &stats.NetworkStatsPerSec{}, nil),
)
server := taskServerSetup(credentials.NewManager(), auditLog, state, ecsClient, clusterName, statsEngine,
config.DefaultTaskMetadataSteadyStateRate, config.DefaultTaskMetadataBurstRate, "", containerInstanceArn)
@@ -776,7 +777,7 @@ func TestV2TaskStats(t *testing.T) {
gomock.InOrder(
state.EXPECT().GetTaskByIPAddress(remoteIP).Return(taskARN, true),
state.EXPECT().ContainerMapByArn(taskARN).Return(containerMap, true),
- statsEngine.EXPECT().ContainerDockerStats(taskARN, containerID).Return(dockerStats, nil),
+ statsEngine.EXPECT().ContainerDockerStats(taskARN, containerID).Return(dockerStats, &stats.NetworkStatsPerSec{}, nil),
)
server := taskServerSetup(credentials.NewManager(), auditLog, state, ecsClient, clusterName, statsEngine,
config.DefaultTaskMetadataSteadyStateRate, config.DefaultTaskMetadataBurstRate, "", containerInstanceArn)
@@ -1005,7 +1006,7 @@ func TestV3TaskStats(t *testing.T) {
gomock.InOrder(
state.EXPECT().TaskARNByV3EndpointID(v3EndpointID).Return(taskARN, true),
state.EXPECT().ContainerMapByArn(taskARN).Return(containerMap, true),
- statsEngine.EXPECT().ContainerDockerStats(taskARN, containerID).Return(dockerStats, nil),
+ statsEngine.EXPECT().ContainerDockerStats(taskARN, containerID).Return(dockerStats, &stats.NetworkStatsPerSec{}, nil),
)
server := taskServerSetup(credentials.NewManager(), auditLog, state, ecsClient, clusterName, statsEngine,
config.DefaultTaskMetadataSteadyStateRate, config.DefaultTaskMetadataBurstRate, "", containerInstanceArn)
@@ -1038,7 +1039,7 @@ func TestV3ContainerStats(t *testing.T) {
gomock.InOrder(
state.EXPECT().TaskARNByV3EndpointID(v3EndpointID).Return(taskARN, true),
state.EXPECT().DockerIDByV3EndpointID(v3EndpointID).Return(containerID, true),
- statsEngine.EXPECT().ContainerDockerStats(taskARN, containerID).Return(dockerStats, nil),
+ statsEngine.EXPECT().ContainerDockerStats(taskARN, containerID).Return(dockerStats, &stats.NetworkStatsPerSec{}, nil),
)
server := taskServerSetup(credentials.NewManager(), auditLog, state, ecsClient, clusterName, statsEngine,
config.DefaultTaskMetadataSteadyStateRate, config.DefaultTaskMetadataBurstRate, "", containerInstanceArn)
@@ -1337,7 +1338,7 @@ func TestV4TaskStats(t *testing.T) {
gomock.InOrder(
state.EXPECT().TaskARNByV3EndpointID(v3EndpointID).Return(taskARN, true),
state.EXPECT().ContainerMapByArn(taskARN).Return(containerMap, true),
- statsEngine.EXPECT().ContainerDockerStats(taskARN, containerID).Return(dockerStats, nil),
+ statsEngine.EXPECT().ContainerDockerStats(taskARN, containerID).Return(dockerStats, &stats.NetworkStatsPerSec{}, nil),
)
server := taskServerSetup(credentials.NewManager(), auditLog, state, ecsClient, clusterName, statsEngine,
config.DefaultTaskMetadataSteadyStateRate, config.DefaultTaskMetadataBurstRate, "", containerInstanceArn)
@@ -1370,7 +1371,7 @@ func TestV4ContainerStats(t *testing.T) {
gomock.InOrder(
state.EXPECT().TaskARNByV3EndpointID(v3EndpointID).Return(taskARN, true),
state.EXPECT().DockerIDByV3EndpointID(v3EndpointID).Return(containerID, true),
- statsEngine.EXPECT().ContainerDockerStats(taskARN, containerID).Return(dockerStats, nil),
+ statsEngine.EXPECT().ContainerDockerStats(taskARN, containerID).Return(dockerStats, &stats.NetworkStatsPerSec{}, nil),
)
server := taskServerSetup(credentials.NewManager(), auditLog, state, ecsClient, clusterName, statsEngine,
config.DefaultTaskMetadataSteadyStateRate, config.DefaultTaskMetadataBurstRate, "", containerInstanceArn)
diff --git a/agent/handlers/v2/stats_response.go b/agent/handlers/v2/stats_response.go
index 43676cba9a6..9009519c82b 100644
--- a/agent/handlers/v2/stats_response.go
+++ b/agent/handlers/v2/stats_response.go
@@ -36,7 +36,7 @@ func NewTaskStatsResponse(taskARN string,
resp := make(map[string]*types.StatsJSON)
for _, dockerContainer := range containerMap {
containerID := dockerContainer.DockerID
- dockerStats, err := statsEngine.ContainerDockerStats(taskARN, containerID)
+ dockerStats, _, err := statsEngine.ContainerDockerStats(taskARN, containerID)
if err != nil {
seelog.Warnf("V2 task stats response: Unable to get stats for container '%s' for task '%s': %v",
containerID, taskARN, err)
diff --git a/agent/handlers/v2/stats_response_test.go b/agent/handlers/v2/stats_response_test.go
index e6b96584b42..83b7ef0e07c 100644
--- a/agent/handlers/v2/stats_response_test.go
+++ b/agent/handlers/v2/stats_response_test.go
@@ -18,6 +18,8 @@ package v2
import (
"testing"
+ "github.com/aws/amazon-ecs-agent/agent/stats"
+
apicontainer "github.com/aws/amazon-ecs-agent/agent/api/container"
mock_dockerstate "github.com/aws/amazon-ecs-agent/agent/engine/dockerstate/mocks"
mock_stats "github.com/aws/amazon-ecs-agent/agent/stats/mock"
@@ -42,7 +44,7 @@ func TestTaskStatsResponseSuccess(t *testing.T) {
}
gomock.InOrder(
state.EXPECT().ContainerMapByArn(taskARN).Return(containerMap, true),
- statsEngine.EXPECT().ContainerDockerStats(taskARN, containerID).Return(dockerStats, nil),
+ statsEngine.EXPECT().ContainerDockerStats(taskARN, containerID).Return(dockerStats, &stats.NetworkStatsPerSec{}, nil),
)
resp, err := NewTaskStatsResponse(taskARN, state, statsEngine)
diff --git a/agent/handlers/v2/task_container_stats_handler.go b/agent/handlers/v2/task_container_stats_handler.go
index 32470430570..65f21da9e3d 100644
--- a/agent/handlers/v2/task_container_stats_handler.go
+++ b/agent/handlers/v2/task_container_stats_handler.go
@@ -92,7 +92,7 @@ func WriteContainerStatsResponse(w http.ResponseWriter,
taskARN string,
containerID string,
statsEngine stats.Engine) {
- dockerStats, err := statsEngine.ContainerDockerStats(taskARN, containerID)
+ dockerStats, _, err := statsEngine.ContainerDockerStats(taskARN, containerID)
if err != nil {
errResponseJSON, err := json.Marshal("Unable to get container stats for: " + containerID)
if e := utils.WriteResponseIfMarshalError(w, err); e != nil {
diff --git a/agent/handlers/v4/container_stats_handler.go b/agent/handlers/v4/container_stats_handler.go
index 4a0ff3c1bba..6da7478356b 100644
--- a/agent/handlers/v4/container_stats_handler.go
+++ b/agent/handlers/v4/container_stats_handler.go
@@ -20,7 +20,6 @@ import (
"github.com/aws/amazon-ecs-agent/agent/engine/dockerstate"
"github.com/aws/amazon-ecs-agent/agent/handlers/utils"
- v2 "github.com/aws/amazon-ecs-agent/agent/handlers/v2"
v3 "github.com/aws/amazon-ecs-agent/agent/handlers/v3"
"github.com/aws/amazon-ecs-agent/agent/stats"
"github.com/cihub/seelog"
@@ -54,6 +53,33 @@ func ContainerStatsHandler(state dockerstate.TaskEngineState, statsEngine stats.
seelog.Infof("V4 container stats handler: writing response for container '%s'", containerID)
// v4 handler shares the same container states response format with v2 handler.
- v2.WriteContainerStatsResponse(w, taskArn, containerID, statsEngine)
+ WriteV4ContainerStatsResponse(w, taskArn, containerID, statsEngine)
}
}
+
+// WriteContainerStatsResponse writes the container stats to response writer.
+func WriteV4ContainerStatsResponse(w http.ResponseWriter,
+ taskARN string,
+ containerID string,
+ statsEngine stats.Engine) {
+ dockerStats, network_rate_stats, err := statsEngine.ContainerDockerStats(taskARN, containerID)
+ if err != nil {
+ errResponseJSON, err := json.Marshal("Unable to get container stats for: " + containerID)
+ if e := utils.WriteResponseIfMarshalError(w, err); e != nil {
+ return
+ }
+ utils.WriteJSONToResponse(w, http.StatusBadRequest, errResponseJSON, utils.RequestTypeContainerStats)
+ return
+ }
+
+ containerStatsResponse := StatsResponse{
+ StatsJSON: dockerStats,
+ Network_rate_stats: network_rate_stats,
+ }
+
+ responseJSON, err := json.Marshal(containerStatsResponse)
+ if e := utils.WriteResponseIfMarshalError(w, err); e != nil {
+ return
+ }
+ utils.WriteJSONToResponse(w, http.StatusOK, responseJSON, utils.RequestTypeContainerStats)
+}
diff --git a/agent/handlers/v4/stats_response.go b/agent/handlers/v4/stats_response.go
new file mode 100644
index 00000000000..ebaa914ca09
--- /dev/null
+++ b/agent/handlers/v4/stats_response.go
@@ -0,0 +1,63 @@
+// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License"). You may
+// not use this file except in compliance with the License. A copy of the
+// License is located at
+//
+// http://aws.amazon.com/apache2.0/
+//
+// or in the "license" file accompanying this file. This file 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 v4
+
+import (
+ "github.com/aws/amazon-ecs-agent/agent/engine/dockerstate"
+ "github.com/aws/amazon-ecs-agent/agent/stats"
+ "github.com/cihub/seelog"
+ "github.com/docker/docker/api/types"
+ "github.com/pkg/errors"
+)
+
+// StatsResponse is the v4 Stats response. It augments the v4 Stats response
+// with the docker stats.
+type StatsResponse struct {
+ *types.StatsJSON
+ Network_rate_stats *stats.NetworkStatsPerSec `json:"network_rate_stats,omitempty"`
+}
+
+// NewV4TaskStatsResponse returns a new v4 task stats response object
+func NewV4TaskStatsResponse(taskARN string,
+ state dockerstate.TaskEngineState,
+ statsEngine stats.Engine) (map[string]StatsResponse, error) {
+
+ containerMap, ok := state.ContainerMapByArn(taskARN)
+ if !ok {
+ return nil, errors.Errorf(
+ "v4 task stats response: unable to lookup containers for task %s",
+ taskARN)
+ }
+
+ resp := make(map[string]StatsResponse)
+ for _, dockerContainer := range containerMap {
+ containerID := dockerContainer.DockerID
+ dockerStats, network_rate_stats, err := statsEngine.ContainerDockerStats(taskARN, containerID)
+ if err != nil {
+ seelog.Warnf("V4 task stats response: Unable to get stats for container '%s' for task '%s': %v",
+ containerID, taskARN, err)
+ resp[containerID] = StatsResponse{}
+ continue
+ }
+
+ statsResponse := StatsResponse{
+ StatsJSON: dockerStats,
+ Network_rate_stats: network_rate_stats,
+ }
+
+ resp[containerID] = statsResponse
+ }
+
+ return resp, nil
+}
diff --git a/agent/handlers/v4/task_stats_handler.go b/agent/handlers/v4/task_stats_handler.go
index 0b8db86d7a7..6536bf9e5db 100644
--- a/agent/handlers/v4/task_stats_handler.go
+++ b/agent/handlers/v4/task_stats_handler.go
@@ -20,7 +20,6 @@ import (
"github.com/aws/amazon-ecs-agent/agent/engine/dockerstate"
"github.com/aws/amazon-ecs-agent/agent/handlers/utils"
- v2 "github.com/aws/amazon-ecs-agent/agent/handlers/v2"
v3 "github.com/aws/amazon-ecs-agent/agent/handlers/v3"
"github.com/aws/amazon-ecs-agent/agent/stats"
"github.com/cihub/seelog"
@@ -40,7 +39,31 @@ func TaskStatsHandler(state dockerstate.TaskEngineState, statsEngine stats.Engin
return
}
seelog.Infof("V4 tasks stats handler: writing response for task '%s'", taskArn)
- // v4 handler shares with the same task response format with v2 handler
- v2.WriteTaskStatsResponse(w, taskArn, state, statsEngine)
+ WriteV4TaskStatsResponse(w, taskArn, state, statsEngine)
}
}
+
+// WriteV4TaskStatsResponse writes the task stats to response writer.
+func WriteV4TaskStatsResponse(w http.ResponseWriter,
+ taskARN string,
+ state dockerstate.TaskEngineState,
+ statsEngine stats.Engine) {
+
+ taskStatsResponse, err := NewV4TaskStatsResponse(taskARN, state, statsEngine)
+ if err != nil {
+ seelog.Warnf("Unable to get task stats for task '%s': %v", taskARN, err)
+ errResponseJSON, err := json.Marshal("Unable to get task stats for: " + taskARN)
+ if e := utils.WriteResponseIfMarshalError(w, err); e != nil {
+ return
+ }
+ utils.WriteJSONToResponse(w, http.StatusBadRequest, errResponseJSON, utils.RequestTypeTaskStats)
+ return
+ }
+
+ responseJSON, err := json.Marshal(taskStatsResponse)
+ if e := utils.WriteResponseIfMarshalError(w, err); e != nil {
+ return
+ }
+ seelog.Infof("V4 Stats response json is %v", responseJSON)
+ utils.WriteJSONToResponse(w, http.StatusOK, responseJSON, utils.RequestTypeTaskStats)
+}
diff --git a/agent/stats/container.go b/agent/stats/container.go
index a34eed7dd94..2880791431d 100644
--- a/agent/stats/container.go
+++ b/agent/stats/container.go
@@ -27,7 +27,8 @@ import (
"github.com/cihub/seelog"
)
-func newStatsContainer(dockerID string, client dockerapi.DockerClient, resolver resolver.ContainerMetadataResolver, cfg *config.Config) (*StatsContainer, error) {
+func newStatsContainer(dockerID string, client dockerapi.DockerClient, resolver resolver.ContainerMetadataResolver,
+ cfg *config.Config) (*StatsContainer, error) {
dockerContainer, err := resolver.ResolveContainer(dockerID)
if err != nil {
return nil, err
@@ -126,6 +127,11 @@ func (container *StatsContainer) processStatsStream() error {
}
return nil
}
+ err := validateDockerStats(rawStat)
+ if err != nil {
+ return err
+ }
+
if err := container.statsQueue.Add(rawStat); err != nil {
seelog.Warnf("Container [%s]: error converting stats for container: %v", dockerID, err)
}
diff --git a/agent/stats/engine.go b/agent/stats/engine.go
index a697659743f..58fcb33cb2b 100644
--- a/agent/stats/engine.go
+++ b/agent/stats/engine.go
@@ -18,6 +18,7 @@ package stats
import (
"context"
"fmt"
+ "strconv"
"sync"
"time"
@@ -65,12 +66,13 @@ type DockerContainerMetadataResolver struct {
// defined to make testing easier.
type Engine interface {
GetInstanceMetrics() (*ecstcs.MetricsMetadata, []*ecstcs.TaskMetric, error)
- ContainerDockerStats(taskARN string, containerID string) (*types.StatsJSON, error)
+ ContainerDockerStats(taskARN string, containerID string) (*types.StatsJSON, *NetworkStatsPerSec, error)
GetTaskHealthMetrics() (*ecstcs.HealthMetadata, []*ecstcs.TaskHealth, error)
}
// DockerStatsEngine is used to monitor docker container events and to report
-// utlization metrics of the same.
+// utilization metrics of the same.
+
type DockerStatsEngine struct {
ctx context.Context
stopEngine context.CancelFunc
@@ -87,6 +89,7 @@ type DockerStatsEngine struct {
tasksToHealthCheckContainers map[string]map[string]*StatsContainer
// tasksToDefinitions maps task arns to task definition name and family metadata objects.
tasksToDefinitions map[string]*taskDefinition
+ taskToTaskStats map[string]*StatsTask
}
// ResolveTask resolves the api task object, given container id.
@@ -102,6 +105,18 @@ func (resolver *DockerContainerMetadataResolver) ResolveTask(dockerID string) (*
return task, nil
}
+func (resolver *DockerContainerMetadataResolver) ResolveTaskByARN(taskArn string) (*apitask.Task, error) {
+ if resolver.dockerTaskEngine == nil {
+ return nil, fmt.Errorf("docker task engine uninitialized")
+ }
+ task, found := resolver.dockerTaskEngine.State().TaskByArn(taskArn)
+ if !found {
+ return nil, fmt.Errorf("could not map task arn to task: %s", taskArn)
+ }
+ return task, nil
+
+}
+
// ResolveContainer resolves the api container object, given container id.
func (resolver *DockerContainerMetadataResolver) ResolveContainer(dockerID string) (*apicontainer.DockerContainer, error) {
if resolver.dockerTaskEngine == nil {
@@ -125,6 +140,7 @@ func NewDockerStatsEngine(cfg *config.Config, client dockerapi.DockerClient, con
tasksToContainers: make(map[string]map[string]*StatsContainer),
tasksToHealthCheckContainers: make(map[string]map[string]*StatsContainer),
tasksToDefinitions: make(map[string]*taskDefinition),
+ taskToTaskStats: make(map[string]*StatsTask),
containerChangeEventStream: containerChangeEventStream,
}
}
@@ -139,6 +155,7 @@ func (engine *DockerStatsEngine) synchronizeState() error {
for _, containerID := range listContainersResponse.DockerIDs {
engine.addAndStartStatsContainer(containerID)
}
+
return nil
}
@@ -146,7 +163,7 @@ func (engine *DockerStatsEngine) synchronizeState() error {
func (engine *DockerStatsEngine) addAndStartStatsContainer(containerID string) {
engine.lock.Lock()
defer engine.lock.Unlock()
- statsContainer, err := engine.addContainerUnsafe(containerID)
+ statsContainer, statsTaskContainer, err := engine.addContainerUnsafe(containerID)
if err != nil {
seelog.Debugf("Adding container to stats watch list failed, container: %s, err: %v", containerID, err)
return
@@ -157,6 +174,27 @@ func (engine *DockerStatsEngine) addAndStartStatsContainer(containerID string) {
}
statsContainer.StartStatsCollection()
+
+ task, err := engine.resolver.ResolveTask(containerID)
+ if err != nil {
+ return
+ }
+
+ dockerContainer, errResolveContainer := engine.resolver.ResolveContainer(containerID)
+ if errResolveContainer != nil {
+ seelog.Debugf("Could not map container ID to container, container: %s, err: %s", containerID, err)
+ return
+ }
+
+ if task.IsNetworkModeAWSVPC() {
+ // Start stats collector only for pause container
+ if statsTaskContainer != nil && dockerContainer.Container.Type == apicontainer.ContainerCNIPause {
+ statsTaskContainer.StartStatsCollection()
+ } else {
+ seelog.Debugf("stats task container is nil, cannot start task stats collection")
+ }
+ }
+
}
// MustInit initializes fields of the DockerStatsEngine object.
@@ -181,7 +219,6 @@ func (engine *DockerStatsEngine) MustInit(ctx context.Context, taskEngine ecseng
if err != nil {
return fmt.Errorf("Failed to subscribe to container change event stream, err %v", err)
}
-
err = engine.synchronizeState()
if err != nil {
seelog.Warnf("Synchronize the container state failed, err: %v", err)
@@ -191,7 +228,7 @@ func (engine *DockerStatsEngine) MustInit(ctx context.Context, taskEngine ecseng
return nil
}
-// Shutdown cleans up the resources after the statas engine.
+// Shutdown cleans up the resources after the stats engine.
func (engine *DockerStatsEngine) Shutdown() {
engine.stopEngine()
engine.Disable()
@@ -228,49 +265,83 @@ func (engine *DockerStatsEngine) removeAll() {
}
}
+func (engine *DockerStatsEngine) addToStatsTaskMapUnsafe(task *apitask.Task, dockerContainerName string,
+ containerType apicontainer.ContainerType) {
+ var statsTaskContainer *StatsTask
+ if task.IsNetworkModeAWSVPC() && containerType == apicontainer.ContainerCNIPause {
+ // Excluding the pause container
+ numberOfContainers := len(task.Containers) - 1
+ var taskExists bool
+ statsTaskContainer, taskExists = engine.taskToTaskStats[task.Arn]
+ if !taskExists {
+ containerInspect, err := engine.client.InspectContainer(engine.ctx, dockerContainerName,
+ dockerclient.InspectContainerTimeout)
+ if err != nil {
+ return
+ }
+ containerpid := strconv.Itoa(containerInspect.State.Pid)
+ statsTaskContainer, err = newStatsTaskContainer(task.Arn, containerpid, numberOfContainers,
+ engine.resolver, engine.config.PollingMetricsWaitDuration)
+ if err != nil {
+ return
+ }
+ engine.taskToTaskStats[task.Arn] = statsTaskContainer
+ } else {
+ statsTaskContainer.TaskMetadata.NumberContainers = numberOfContainers
+ }
+ }
+}
+
// addContainerUnsafe adds a container to the map of containers being watched.
-func (engine *DockerStatsEngine) addContainerUnsafe(dockerID string) (*StatsContainer, error) {
+func (engine *DockerStatsEngine) addContainerUnsafe(dockerID string) (*StatsContainer, *StatsTask, error) {
// Make sure that this container belongs to a task and that the task
// is not terminal.
task, err := engine.resolver.ResolveTask(dockerID)
if err != nil {
- return nil, errors.Wrapf(err, "could not map container to task, ignoring container: %s", dockerID)
+ return nil, nil, errors.Wrapf(err, "could not map container to task, ignoring container: %s", dockerID)
}
if len(task.Arn) == 0 || len(task.Family) == 0 {
- return nil, errors.Errorf("stats add container: invalid task fields, arn: %s, familiy: %s", task.Arn, task.Family)
+ return nil, nil, errors.Errorf("stats add container: invalid task fields, arn: %s, familiy: %s", task.Arn, task.Family)
}
if task.GetKnownStatus().Terminal() {
- return nil, errors.Errorf("stats add container: task is terminal, ignoring container: %s, task: %s", dockerID, task.Arn)
+ return nil, nil, errors.Errorf("stats add container: task is terminal, ignoring container: %s, task: %s", dockerID, task.Arn)
}
statsContainer, err := newStatsContainer(dockerID, engine.client, engine.resolver, engine.config)
if err != nil {
- return nil, errors.Wrapf(err, "could not map docker container ID to container, ignoring container: %s", dockerID)
+ return nil, nil, errors.Wrapf(err, "could not map docker container ID to container, ignoring container: %s", dockerID)
}
seelog.Debugf("Adding container to stats watch list, id: %s, task: %s", dockerID, task.Arn)
engine.tasksToDefinitions[task.Arn] = &taskDefinition{family: task.Family, version: task.Version}
+ dockerContainer, errResolveContainer := engine.resolver.ResolveContainer(dockerID)
+ if errResolveContainer != nil {
+ seelog.Debugf("Could not map container ID to container, container: %s, err: %s", dockerID, err)
+ }
+
watchStatsContainer := false
if !engine.config.DisableMetrics.Enabled() {
// Adding container to the map for collecting stats
- watchStatsContainer = engine.addToStatsContainerMapUnsafe(task.Arn, dockerID, statsContainer, engine.containerMetricsMapUnsafe)
+ watchStatsContainer = engine.addToStatsContainerMapUnsafe(task.Arn, dockerID, statsContainer,
+ engine.containerMetricsMapUnsafe)
+ if errResolveContainer == nil {
+ engine.addToStatsTaskMapUnsafe(task, dockerContainer.DockerName, dockerContainer.Container.Type)
+ }
}
- if dockerContainer, err := engine.resolver.ResolveContainer(dockerID); err != nil {
- seelog.Debugf("Could not map container ID to container, container: %s, err: %s", dockerID, err)
- } else if dockerContainer.Container.HealthStatusShouldBeReported() {
+ if errResolveContainer == nil && dockerContainer.Container.HealthStatusShouldBeReported() {
// Track the container health status
engine.addToStatsContainerMapUnsafe(task.Arn, dockerID, statsContainer, engine.healthCheckContainerMapUnsafe)
seelog.Debugf("Adding container to stats health check watch list, id: %s, task: %s", dockerID, task.Arn)
}
if !watchStatsContainer {
- return nil, nil
+ return nil, nil, nil
}
- return statsContainer, nil
+ return statsContainer, engine.taskToTaskStats[task.Arn], nil
}
func (engine *DockerStatsEngine) containerMetricsMapUnsafe() map[string]map[string]*StatsContainer {
@@ -568,7 +639,7 @@ func newDockerContainerMetadataResolver(taskEngine ecsengine.TaskEngine) (*Docke
func (engine *DockerStatsEngine) taskContainerMetricsUnsafe(taskArn string) ([]*ecstcs.ContainerMetric, error) {
containerMap, taskExists := engine.tasksToContainers[taskArn]
if !taskExists {
- return nil, fmt.Errorf("Task not found")
+ return nil, fmt.Errorf("task not found")
}
var containerMetrics []*ecstcs.ContainerMetric
@@ -593,6 +664,7 @@ func (engine *DockerStatsEngine) taskContainerMetricsUnsafe(taskArn string) ([]*
seelog.Infof("cloudwatch metrics for container %v not collected, reason (memory): %v", dockerID, err)
continue
}
+
containerMetric := &ecstcs.ContainerMetric{
ContainerName: &container.containerMetadata.Name,
CpuStatsSet: cpuStatsSet,
@@ -610,9 +682,8 @@ func (engine *DockerStatsEngine) taskContainerMetricsUnsafe(taskArn string) ([]*
if err != nil {
seelog.Warnf("Task not found for container ID: %s", dockerID)
} else {
- // send network stats for default/bridge/nat network modes
- if !task.IsNetworkModeAWSVPC() &&
- container.containerMetadata.NetworkMode != hostNetworkMode &&
+ // send network stats for default/bridge/nat/awsvpc network modes
+ if !task.IsNetworkModeAWSVPC() && container.containerMetadata.NetworkMode != hostNetworkMode &&
container.containerMetadata.NetworkMode != noneNetworkMode {
networkStatsSet, err := container.statsQueue.GetNetworkStatsSet()
if err != nil {
@@ -621,9 +692,19 @@ func (engine *DockerStatsEngine) taskContainerMetricsUnsafe(taskArn string) ([]*
} else {
containerMetric.NetworkStatsSet = networkStatsSet
}
+ } else if task.IsNetworkModeAWSVPC() {
+ taskStatsMap, taskExistsInTaskStats := engine.taskToTaskStats[taskArn]
+ if !taskExistsInTaskStats {
+ return nil, fmt.Errorf("task not found")
+ }
+ networkStats, err := taskStatsMap.StatsQueue.GetNetworkStatsSet()
+ if err != nil {
+ seelog.Warnf("error getting network stats: %v, task: %v", err, taskArn)
+ } else {
+ containerMetric.NetworkStatsSet = networkStats
+ }
}
}
-
containerMetrics = append(containerMetrics, containerMetric)
}
@@ -667,19 +748,41 @@ func (engine *DockerStatsEngine) resetStatsUnsafe() {
}
// ContainerDockerStats returns the last stored raw docker stats object for a container
-func (engine *DockerStatsEngine) ContainerDockerStats(taskARN string, containerID string) (*types.StatsJSON, error) {
+func (engine *DockerStatsEngine) ContainerDockerStats(taskARN string, containerID string) (*types.StatsJSON, *NetworkStatsPerSec, error) {
engine.lock.RLock()
defer engine.lock.RUnlock()
containerIDToStatsContainer, ok := engine.tasksToContainers[taskARN]
+ taskToTaskStats := engine.taskToTaskStats
if !ok {
- return nil, errors.Errorf("stats engine: task '%s' for container '%s' not found",
+ return nil, nil, errors.Errorf("stats engine: task '%s' for container '%s' not found",
taskARN, containerID)
}
container, ok := containerIDToStatsContainer[containerID]
if !ok {
- return nil, errors.Errorf("stats engine: container not found: %s", containerID)
+ return nil, nil, errors.Errorf("stats engine: container not found: %s", containerID)
+ }
+ containerStats := container.statsQueue.GetLastStat()
+ containerNetworkRateStats := container.statsQueue.GetLastNetworkStatPerSec()
+
+ // Insert network stats in container stats
+ task, err := engine.resolver.ResolveTaskByARN(taskARN)
+ if err != nil {
+ return nil, nil, errors.Errorf("stats engine: task '%s' not found",
+ taskARN)
+ }
+
+ if task.IsNetworkModeAWSVPC() {
+ taskStats, ok := taskToTaskStats[taskARN]
+ if ok {
+ taskNetworkStats := taskStats.StatsQueue.GetLastStat().Networks
+ containerStats.Networks = taskNetworkStats
+ containerNetworkRateStats = taskStats.StatsQueue.GetLastNetworkStatPerSec()
+ } else {
+ seelog.Warnf("Network stats not found for container %s", containerID)
+ }
}
- return container.statsQueue.GetLastStat(), nil
+
+ return containerStats, containerNetworkRateStats, nil
}
diff --git a/agent/stats/engine_test.go b/agent/stats/engine_test.go
index 24d8172bd7c..352655df97c 100644
--- a/agent/stats/engine_test.go
+++ b/agent/stats/engine_test.go
@@ -182,6 +182,7 @@ func TestStatsEngineMetadataInStatsSets(t *testing.T) {
},
}, nil)
mockDockerClient.EXPECT().Stats(gomock.Any(), gomock.Any(), gomock.Any()).Return(nil, nil).AnyTimes()
+ resolver.EXPECT().ResolveTaskByARN(gomock.Any()).Return(t1, nil).AnyTimes()
engine := NewDockerStatsEngine(&cfg, nil, eventStream("TestStatsEngineMetadataInStatsSets"))
ctx, cancel := context.WithCancel(context.TODO())
@@ -224,7 +225,7 @@ func TestStatsEngineMetadataInStatsSets(t *testing.T) {
t.Errorf("Error validating metadata: %v", err)
}
- dockerStat, err := engine.ContainerDockerStats("t1", "c1")
+ dockerStat, _, err := engine.ContainerDockerStats("t1", "c1")
assert.NoError(t, err)
assert.Equal(t, ts2, dockerStat.Read)
@@ -416,17 +417,20 @@ func TestSynchronizeOnRestart(t *testing.T) {
statsStarted <- struct{}{}
}).Return(statsChan, nil)
- resolver.EXPECT().ResolveTask(containerID).Return(&apitask.Task{
+ testTask := &apitask.Task{
Arn: "t1",
KnownStatusUnsafe: apitaskstatus.TaskRunning,
Family: "f1",
- }, nil)
+ }
+
+ resolver.EXPECT().ResolveTask(containerID).Return(testTask, nil).Times(2)
+ resolver.EXPECT().ResolveTaskByARN(gomock.Any()).Return(testTask, nil).AnyTimes()
resolver.EXPECT().ResolveContainer(containerID).Return(&apicontainer.DockerContainer{
DockerID: containerID,
Container: &apicontainer.Container{
HealthCheckType: "docker",
},
- }, nil).Times(2)
+ }, nil).Times(3)
err := engine.synchronizeState()
assert.NoError(t, err)
@@ -457,20 +461,38 @@ func testNetworkModeStats(t *testing.T, netMode string, enis []*apieni.ENI, empt
defer mockCtrl.Finish()
resolver := mock_resolver.NewMockContainerMetadataResolver(mockCtrl)
mockDockerClient := mock_dockerapi.NewMockDockerClient(mockCtrl)
- t1 := &apitask.Task{
- Arn: "t1",
- Family: "f1",
- ENIs: enis,
- }
- resolver.EXPECT().ResolveTask("c1").AnyTimes().Return(t1, nil)
- resolver.EXPECT().ResolveContainer(gomock.Any()).AnyTimes().Return(&apicontainer.DockerContainer{
+
+ testContainer := &apicontainer.DockerContainer{
Container: &apicontainer.Container{
Name: "test",
NetworkModeUnsafe: netMode,
+ Type: apicontainer.ContainerCNIPause,
},
- }, nil)
+ }
+
+ t1 := &apitask.Task{
+ Arn: "t1",
+ Family: "f1",
+ ENIs: enis,
+ KnownStatusUnsafe: apitaskstatus.TaskRunning,
+ Containers: []*apicontainer.Container{
+ {Name: "test"},
+ {Name: "test1"},
+ },
+ }
+
+ resolver.EXPECT().ResolveTask("c1").AnyTimes().Return(t1, nil)
+ resolver.EXPECT().ResolveTaskByARN(gomock.Any()).Return(t1, nil).AnyTimes()
+
+ resolver.EXPECT().ResolveContainer(gomock.Any()).AnyTimes().Return(testContainer, nil)
mockDockerClient.EXPECT().Stats(gomock.Any(), gomock.Any(), gomock.Any()).Return(nil, nil).AnyTimes()
+ mockDockerClient.EXPECT().InspectContainer(gomock.Any(), gomock.Any(), gomock.Any()).Return(&types.ContainerJSON{
+ ContainerJSONBase: &types.ContainerJSONBase{
+ ID: "test",
+ State: &types.ContainerState{Pid: 23},
+ },
+ }, nil).AnyTimes()
engine := NewDockerStatsEngine(&cfg, nil, eventStream("TestTaskNetworkStatsSet"))
ctx, cancel := context.WithCancel(context.TODO())
defer cancel()
diff --git a/agent/stats/engine_unix_test.go b/agent/stats/engine_unix_test.go
index c06599d909b..39420ba9d40 100644
--- a/agent/stats/engine_unix_test.go
+++ b/agent/stats/engine_unix_test.go
@@ -1,4 +1,4 @@
-//+build unit
+//+build linux,unit
// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.
//
@@ -16,9 +16,18 @@
package stats
import (
+ "context"
"testing"
+ apicontainer "github.com/aws/amazon-ecs-agent/agent/api/container"
apieni "github.com/aws/amazon-ecs-agent/agent/api/eni"
+ apitask "github.com/aws/amazon-ecs-agent/agent/api/task"
+ apitaskstatus "github.com/aws/amazon-ecs-agent/agent/api/task/status"
+ mock_dockerapi "github.com/aws/amazon-ecs-agent/agent/dockerclient/dockerapi/mocks"
+ mock_resolver "github.com/aws/amazon-ecs-agent/agent/stats/resolver/mock"
+ "github.com/docker/docker/api/types"
+ "github.com/golang/mock/gomock"
+ "github.com/stretchr/testify/assert"
)
func TestLinuxTaskNetworkStatsSet(t *testing.T) {
@@ -36,3 +45,69 @@ func TestLinuxTaskNetworkStatsSet(t *testing.T) {
testNetworkModeStats(t, tc.NetworkMode, tc.ENIs, tc.StatsEmpty)
}
}
+
+func TestNetworkModeStatsAWSVPCMode(t *testing.T) {
+ mockCtrl := gomock.NewController(t)
+ defer mockCtrl.Finish()
+ resolver := mock_resolver.NewMockContainerMetadataResolver(mockCtrl)
+ mockDockerClient := mock_dockerapi.NewMockDockerClient(mockCtrl)
+
+ testContainer := &apicontainer.DockerContainer{
+ Container: &apicontainer.Container{
+ Name: "test",
+ Type: apicontainer.ContainerCNIPause,
+ },
+ }
+
+ t1 := &apitask.Task{
+ Arn: "t1",
+ Family: "f1",
+ ENIs: []*apieni.ENI{{ID: "ec2Id"}},
+ KnownStatusUnsafe: apitaskstatus.TaskRunning,
+ Containers: []*apicontainer.Container{
+ {Name: "test"},
+ {Name: "test1"},
+ },
+ }
+
+ resolver.EXPECT().ResolveTask("c1").AnyTimes().Return(t1, nil)
+ resolver.EXPECT().ResolveTaskByARN(gomock.Any()).Return(t1, nil).AnyTimes()
+
+ resolver.EXPECT().ResolveContainer(gomock.Any()).AnyTimes().Return(testContainer, nil)
+ mockDockerClient.EXPECT().Stats(gomock.Any(), gomock.Any(), gomock.Any()).Return(nil, nil).AnyTimes()
+
+ mockDockerClient.EXPECT().InspectContainer(gomock.Any(), gomock.Any(), gomock.Any()).Return(&types.ContainerJSON{
+ ContainerJSONBase: &types.ContainerJSONBase{
+ ID: "test",
+ State: &types.ContainerState{Pid: 23},
+ },
+ }, nil).AnyTimes()
+ engine := NewDockerStatsEngine(&cfg, nil, eventStream("TestTaskNetworkStatsSet"))
+ ctx, cancel := context.WithCancel(context.TODO())
+ defer cancel()
+ engine.ctx = ctx
+ engine.resolver = resolver
+ engine.cluster = defaultCluster
+ engine.containerInstanceArn = defaultContainerInstance
+ engine.client = mockDockerClient
+ engine.addAndStartStatsContainer("c1")
+ ts1 := parseNanoTime("2015-02-12T21:22:05.131117533Z")
+ containerStats := createFakeContainerStats()
+ dockerStats := []*types.StatsJSON{{}, {}}
+ dockerStats[0].Read = ts1
+ containers, _ := engine.tasksToContainers["t1"]
+ taskContainers, _ := engine.taskToTaskStats["t1"]
+ for _, statsContainer := range containers {
+ for i := 0; i < 2; i++ {
+ statsContainer.statsQueue.add(containerStats[i])
+ statsContainer.statsQueue.setLastStat(dockerStats[i])
+ taskContainers.StatsQueue.add(containerStats[i])
+ }
+ }
+ _, taskMetrics, err := engine.GetInstanceMetrics()
+ assert.NoError(t, err)
+ assert.Len(t, taskMetrics, 1)
+ for _, containerMetric := range taskMetrics[0].ContainerMetrics {
+ assert.NotNil(t, containerMetric.NetworkStatsSet, "network stats should be non-empty")
+ }
+}
diff --git a/agent/stats/mock/engine.go b/agent/stats/mock/engine.go
index 3b037f3dba5..d829b4a6325 100644
--- a/agent/stats/mock/engine.go
+++ b/agent/stats/mock/engine.go
@@ -21,6 +21,7 @@ package mock_stats
import (
reflect "reflect"
+ "github.com/aws/amazon-ecs-agent/agent/stats"
ecstcs "github.com/aws/amazon-ecs-agent/agent/tcs/model/ecstcs"
types "github.com/docker/docker/api/types"
gomock "github.com/golang/mock/gomock"
@@ -50,12 +51,13 @@ func (m *MockEngine) EXPECT() *MockEngineMockRecorder {
}
// ContainerDockerStats mocks base method
-func (m *MockEngine) ContainerDockerStats(arg0, arg1 string) (*types.StatsJSON, error) {
+func (m *MockEngine) ContainerDockerStats(arg0, arg1 string) (*types.StatsJSON, *stats.NetworkStatsPerSec, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "ContainerDockerStats", arg0, arg1)
ret0, _ := ret[0].(*types.StatsJSON)
- ret1, _ := ret[1].(error)
- return ret0, ret1
+ ret1, _ := ret[1].(*stats.NetworkStatsPerSec)
+ ret2, _ := ret[2].(error)
+ return ret0, ret1, ret2
}
// ContainerDockerStats indicates an expected call of ContainerDockerStats
diff --git a/agent/stats/queue.go b/agent/stats/queue.go
index b7ba3500f4d..d06e26bb107 100644
--- a/agent/stats/queue.go
+++ b/agent/stats/queue.go
@@ -28,14 +28,16 @@ const (
// BytesInMiB is the number of bytes in a MebiByte.
BytesInMiB = 1024 * 1024
MaxCPUUsagePerc float32 = 1024 * 1024
+ NanoSecToSec float32 = 1000000000
)
// Queue abstracts a queue using UsageStats slice.
type Queue struct {
- buffer []UsageStats
- maxSize int
- lastStat *types.StatsJSON
- lock sync.RWMutex
+ buffer []UsageStats
+ maxSize int
+ lastStat *types.StatsJSON
+ lastNetworkStatPerSec *NetworkStatsPerSec
+ lock sync.RWMutex
}
// NewQueue creates a queue.
@@ -98,9 +100,21 @@ func (queue *Queue) add(rawStat *ContainerStats) {
// if we got a duplicate timestamp, set cpu percentage to the same value as the previous stat
seelog.Errorf("Received a docker stat object with duplicate timestamp")
stat.CPUUsagePerc = lastStat.CPUUsagePerc
+ if stat.NetworkStats != nil {
+ stat.NetworkStats.RxBytesPerSecond = lastStat.NetworkStats.RxBytesPerSecond
+ stat.NetworkStats.TxBytesPerSecond = lastStat.NetworkStats.TxBytesPerSecond
+ }
} else {
cpuUsageSinceLastStat := float32(rawStat.cpuUsage - lastStat.cpuUsage)
stat.CPUUsagePerc = 100 * cpuUsageSinceLastStat / timeSinceLastStat
+
+ //calculate per second Network metrics
+ if stat.NetworkStats != nil {
+ rxBytesSinceLastStat := float32(stat.NetworkStats.RxBytes - lastStat.NetworkStats.RxBytes)
+ txBytesSinceLastStat := float32(stat.NetworkStats.TxBytes - lastStat.NetworkStats.TxBytes)
+ stat.NetworkStats.RxBytesPerSecond = NanoSecToSec * (rxBytesSinceLastStat / timeSinceLastStat)
+ stat.NetworkStats.TxBytesPerSecond = NanoSecToSec * (txBytesSinceLastStat / timeSinceLastStat)
+ }
}
if queueLength >= queue.maxSize {
@@ -113,6 +127,14 @@ func (queue *Queue) add(rawStat *ContainerStats) {
seelog.Errorf("Calculated CPU usage percent (%.1f) is larger than backend maximum (%.1f). lastStatTS=%s lastStatCPUTime=%d thisStatTS=%s thisStatCPUTime=%d queueLength=%d",
stat.CPUUsagePerc, MaxCPUUsagePerc, lastStat.Timestamp.Format(time.RFC3339Nano), lastStat.cpuUsage, rawStat.timestamp.Format(time.RFC3339Nano), rawStat.cpuUsage, queueLength)
}
+
+ if stat.NetworkStats != nil {
+ networkStatPerSec := &NetworkStatsPerSec{
+ RxBytesPerSecond: stat.NetworkStats.RxBytesPerSecond,
+ TxBytesPerSecond: stat.NetworkStats.TxBytesPerSecond,
+ }
+ queue.lastNetworkStatPerSec = networkStatPerSec
+ }
}
queue.buffer = append(queue.buffer, stat)
@@ -126,6 +148,13 @@ func (queue *Queue) GetLastStat() *types.StatsJSON {
return queue.lastStat
}
+func (queue *Queue) GetLastNetworkStatPerSec() *NetworkStatsPerSec {
+ queue.lock.RLock()
+ defer queue.lock.RUnlock()
+
+ return queue.lastNetworkStatPerSec
+}
+
// GetCPUStatsSet gets the stats set for CPU utilization.
func (queue *Queue) GetCPUStatsSet() (*ecstcs.CWStatsSet, error) {
return queue.getCWStatsSet(getCPUUsagePerc)
@@ -187,6 +216,14 @@ func (queue *Queue) GetNetworkStatsSet() (*ecstcs.NetworkStatsSet, error) {
if err != nil {
seelog.Warnf("Error getting network tx packets: %v", err)
}
+ networkStatsSet.RxBytesPerSecond, err = queue.getUDoubleCWStatsSet(getNetworkRxPacketsPerSecond)
+ if err != nil {
+ seelog.Warnf("Error getting network rx bytes per second: %v", err)
+ }
+ networkStatsSet.TxBytesPerSecond, err = queue.getUDoubleCWStatsSet(getNetworkTxPacketsPerSecond)
+ if err != nil {
+ seelog.Warnf("Error getting network tx bytes per second: %v", err)
+ }
return networkStatsSet, err
}
@@ -246,6 +283,20 @@ func getNetworkTxPackets(s *UsageStats) uint64 {
return uint64(0)
}
+func getNetworkRxPacketsPerSecond(s *UsageStats) float64 {
+ if s.NetworkStats != nil {
+ return float64(s.NetworkStats.RxBytesPerSecond)
+ }
+ return float64(0)
+}
+
+func getNetworkTxPacketsPerSecond(s *UsageStats) float64 {
+ if s.NetworkStats != nil {
+ return float64(s.NetworkStats.TxBytesPerSecond)
+ }
+ return float64(0)
+}
+
func getCPUUsagePerc(s *UsageStats) float64 {
return float64(s.CPUUsagePerc)
}
@@ -379,3 +430,50 @@ func (queue *Queue) getULongStatsSet(getUsageInt getUsageIntFunc) (*ecstcs.ULong
OverflowSum: &overflowSum,
}, nil
}
+
+// getUDoubleCWStatsSet gets the stats set for per second network metrics
+func (queue *Queue) getUDoubleCWStatsSet(getUsageFloat getUsageFloatFunc) (*ecstcs.UDoubleCWStatsSet, error) {
+ queue.lock.Lock()
+ defer queue.lock.Unlock()
+
+ queueLength := len(queue.buffer)
+ if queueLength < 2 {
+ // Need at least 2 data points to calculate this.
+ return nil, fmt.Errorf("need at least 2 data points in queue to calculate CW stats set")
+ }
+
+ var min, max, sum float64
+ var sampleCount int64
+ min = math.MaxFloat64
+ max = -math.MaxFloat64
+ sum = 0
+ sampleCount = 0
+
+ for _, stat := range queue.buffer {
+ if stat.sent {
+ // don't send stats to TACS if already sent
+ continue
+ }
+ thisStat := getUsageFloat(&stat)
+ if math.IsNaN(thisStat) {
+ continue
+ }
+
+ min = math.Min(min, thisStat)
+ max = math.Max(max, thisStat)
+ sampleCount++
+ sum += thisStat
+ }
+
+ // don't emit metrics when sampleCount == 0
+ if sampleCount == 0 {
+ return nil, fmt.Errorf("need at least 1 non-NaN data points in queue to calculate CW stats set")
+ }
+
+ return &ecstcs.UDoubleCWStatsSet{
+ Max: &max,
+ Min: &min,
+ SampleCount: &sampleCount,
+ Sum: &sum,
+ }, nil
+}
diff --git a/agent/stats/queue_test.go b/agent/stats/queue_test.go
index 9899ac22bc0..dc3675929e5 100644
--- a/agent/stats/queue_test.go
+++ b/agent/stats/queue_test.go
@@ -314,6 +314,18 @@ func validateNetStatsSet(t *testing.T, netStats *ecstcs.NetworkStatsSet, queueLe
assert.Equal(t, int64(queueLen), *netStats.TxErrors.SampleCount, "incorrect TxErrors sampleCount")
assert.Equal(t, int64(0), *netStats.TxErrors.Sum, "incorrect TxErrors sum")
assert.Equal(t, int64(0), *netStats.TxErrors.OverflowSum, "incorrect TxErrors overlfowSum")
+
+ assert.NotNil(t, *netStats.RxBytesPerSecond, "incorrect RxBytesPerSecond set")
+ assert.Equal(t, float64(1.26999248e+08), *netStats.RxBytesPerSecond.Min, "incorrect RxBytesPerSecond min")
+ assert.Equal(t, float64(1.373376384e+09), *netStats.RxBytesPerSecond.Max, "incorrect RxBytesPerSecond max")
+ assert.Equal(t, int64(queueLen), *netStats.RxBytesPerSecond.SampleCount, "incorrect RxBytesPerSecond sampleCount")
+ assert.Equal(t, float64(5.540383824e+09), *netStats.RxBytesPerSecond.Sum, "incorrect RxBytesPerSecond sum")
+
+ assert.NotNil(t, *netStats.TxBytesPerSecond, "incorrect TxBytesPerSecond set")
+ assert.Equal(t, float64(1.26999248e+08), *netStats.TxBytesPerSecond.Min, "incorrect TxBytesPerSecond min")
+ assert.Equal(t, float64(1.373376384e+09), *netStats.TxBytesPerSecond.Max, "incorrect TxBytesPerSecond max")
+ assert.Equal(t, int64(queueLen), *netStats.TxBytesPerSecond.SampleCount, "incorrect TxBytesPerSecond sampleCount")
+ assert.Equal(t, float64(5.540383824e+09), *netStats.TxBytesPerSecond.Sum, "incorrect TxBytesPerSecond sum")
}
func TestQueueUintStats(t *testing.T) {
@@ -510,3 +522,197 @@ func TestHugeCPUUsagePercentDoesntGetCapped(t *testing.T) {
require.Equal(t, int64(2), *statSet.SampleCount)
require.Equal(t, float64(30000001124), *statSet.Sum)
}
+
+// If there are only 2 datapoints, and both have the same timestamp,
+// then sample count will be 0 for per sec metrics and GetNetworkStats should return error
+func TestPerSecNetworkStatSetFailsWhenSampleCountIsZero(t *testing.T) {
+ timestamps := []time.Time{
+ parseNanoTime("2015-02-12T21:22:05.131117533Z"),
+ parseNanoTime("2015-02-12T21:22:05.131117533Z"),
+ }
+ cpuTimes := []uint64{
+ 22400432,
+ 116499979,
+ }
+ memoryUtilizationInBytes := []uint64{
+ 3649536,
+ 3649536,
+ }
+
+ bytesReceivedTransmitted := []uint64{
+ 364953689,
+ 364953689,
+ }
+
+ queue := NewQueue(3)
+
+ for i, time := range timestamps {
+ queue.add(&ContainerStats{
+ cpuUsage: cpuTimes[i],
+ memoryUsage: memoryUtilizationInBytes[i],
+ networkStats: &NetworkStats{
+ RxBytes: bytesReceivedTransmitted[i],
+ RxDropped: 0,
+ RxErrors: bytesReceivedTransmitted[i],
+ RxPackets: bytesReceivedTransmitted[i],
+ TxBytes: bytesReceivedTransmitted[i],
+ TxDropped: bytesReceivedTransmitted[i],
+ TxErrors: 0,
+ TxPackets: bytesReceivedTransmitted[i],
+ RxBytesPerSecond: float32(nan32()),
+ TxBytesPerSecond: float32(nan32()),
+ },
+ timestamp: time})
+ }
+
+ // if we have identical timestamps and 2 datapoints
+ // then there will not be enough valid network stats to create
+ // a valid network stats set, and this function call should fail.
+ stats, err := queue.GetNetworkStatsSet()
+ require.Errorf(t, err, "Received unexpected network stats set %v", stats)
+}
+
+// If there are only 3 datapoints in total and among them 2 are identical, then GetNetworkStats should not return error
+func TestPerSecNetworkStatSetPassWithThreeDatapoints(t *testing.T) {
+ timestamps := []time.Time{
+ parseNanoTime("2015-02-12T21:22:05.131117533Z"),
+ parseNanoTime("2015-02-12T21:22:05.131117533Z"),
+ parseNanoTime("2015-02-12T21:32:05.131117533Z"),
+ }
+ cpuTimes := []uint64{
+ 22400432,
+ 116499979,
+ 115436856,
+ }
+ memoryUtilizationInBytes := []uint64{
+ 3649536,
+ 3649536,
+ 3649536,
+ }
+
+ bytesReceivedTransmitted := []uint64{
+ 364953689,
+ 364953689,
+ 364953689,
+ }
+
+ queue := NewQueue(3)
+
+ for i, time := range timestamps {
+ queue.add(&ContainerStats{
+ cpuUsage: cpuTimes[i],
+ memoryUsage: memoryUtilizationInBytes[i],
+ networkStats: &NetworkStats{
+ RxBytes: bytesReceivedTransmitted[i],
+ RxDropped: 0,
+ RxErrors: bytesReceivedTransmitted[i],
+ RxPackets: bytesReceivedTransmitted[i],
+ TxBytes: bytesReceivedTransmitted[i],
+ TxDropped: bytesReceivedTransmitted[i],
+ TxErrors: 0,
+ TxPackets: bytesReceivedTransmitted[i],
+ RxBytesPerSecond: float32(nan32()),
+ TxBytesPerSecond: float32(nan32()),
+ },
+ timestamp: time})
+ }
+
+ // if we have identical timestamps and 2 datapoints
+ // then there will not be enough valid network stats to create
+ // a valid network stats set, and this function call should fail.
+ stats, err := queue.GetNetworkStatsSet()
+ require.NoErrorf(t, err, "Received unexpected network stats set %v", stats)
+}
+
+// If there are only 2 datapoints, and both have different timestamp, GetNetworkStats should not return error
+func TestPerSecNetworkStatSetPassWithTwoDatapoints(t *testing.T) {
+ timestamps := []time.Time{
+ parseNanoTime("2015-02-12T21:22:05.131117533Z"),
+ parseNanoTime("2015-02-12T21:32:05.131117533Z"),
+ }
+ cpuTimes := []uint64{
+ 22400432,
+ 116499979,
+ }
+ memoryUtilizationInBytes := []uint64{
+ 3649536,
+ 3649536,
+ }
+
+ bytesReceivedTransmitted := []uint64{
+ 364953689,
+ 364953689,
+ }
+
+ queue := NewQueue(3)
+
+ for i, time := range timestamps {
+ queue.add(&ContainerStats{
+ cpuUsage: cpuTimes[i],
+ memoryUsage: memoryUtilizationInBytes[i],
+ networkStats: &NetworkStats{
+ RxBytes: bytesReceivedTransmitted[i],
+ RxDropped: 0,
+ RxErrors: bytesReceivedTransmitted[i],
+ RxPackets: bytesReceivedTransmitted[i],
+ TxBytes: bytesReceivedTransmitted[i],
+ TxDropped: bytesReceivedTransmitted[i],
+ TxErrors: 0,
+ TxPackets: bytesReceivedTransmitted[i],
+ RxBytesPerSecond: float32(nan32()),
+ TxBytesPerSecond: float32(nan32()),
+ },
+ timestamp: time})
+ }
+
+ // if we have identical timestamps and 2 datapoints
+ // then there will not be enough valid network stats to create
+ // a valid network stats set, and this function call should fail.
+ stats, err := queue.GetNetworkStatsSet()
+ require.NoErrorf(t, err, "Received unexpected network stats set %v", stats)
+}
+
+// If there are only 1 datapoint, then GetNetworkStats should return error
+func TestPerSecNetworkStatSetFailWithOneDatapoint(t *testing.T) {
+ timestamps := []time.Time{
+ parseNanoTime("2015-02-12T21:22:05.131117533Z"),
+ }
+
+ cpuTimes := []uint64{
+ 22400432,
+ }
+ memoryUtilizationInBytes := []uint64{
+ 3649536,
+ }
+
+ bytesReceivedTransmitted := []uint64{
+ 364953689,
+ }
+
+ queue := NewQueue(3)
+
+ for i, time := range timestamps {
+ queue.add(&ContainerStats{
+ cpuUsage: cpuTimes[i],
+ memoryUsage: memoryUtilizationInBytes[i],
+ networkStats: &NetworkStats{
+ RxBytes: bytesReceivedTransmitted[i],
+ RxDropped: 0,
+ RxErrors: bytesReceivedTransmitted[i],
+ RxPackets: bytesReceivedTransmitted[i],
+ TxBytes: bytesReceivedTransmitted[i],
+ TxDropped: bytesReceivedTransmitted[i],
+ TxErrors: 0,
+ TxPackets: bytesReceivedTransmitted[i],
+ RxBytesPerSecond: float32(nan32()),
+ TxBytesPerSecond: float32(nan32()),
+ },
+ timestamp: time})
+ }
+
+ // if we have identical timestamps and 2 datapoints
+ // then there will not be enough valid network stats to create
+ // a valid network stats set, and this function call should fail.
+ stats, err := queue.GetNetworkStatsSet()
+ require.Errorf(t, err, "Received unexpected network stats set %v", stats)
+}
diff --git a/agent/stats/resolver/mock/resolver.go b/agent/stats/resolver/mock/resolver.go
index dc1e61d7838..c6c5c24e595 100644
--- a/agent/stats/resolver/mock/resolver.go
+++ b/agent/stats/resolver/mock/resolver.go
@@ -26,30 +26,30 @@ import (
gomock "github.com/golang/mock/gomock"
)
-// MockContainerMetadataResolver is a mock of ContainerMetadataResolver interface
+// MockContainerMetadataResolver is a mock of ContainerMetadataResolver interface.
type MockContainerMetadataResolver struct {
ctrl *gomock.Controller
recorder *MockContainerMetadataResolverMockRecorder
}
-// MockContainerMetadataResolverMockRecorder is the mock recorder for MockContainerMetadataResolver
+// MockContainerMetadataResolverMockRecorder is the mock recorder for MockContainerMetadataResolver.
type MockContainerMetadataResolverMockRecorder struct {
mock *MockContainerMetadataResolver
}
-// NewMockContainerMetadataResolver creates a new mock instance
+// NewMockContainerMetadataResolver creates a new mock instance.
func NewMockContainerMetadataResolver(ctrl *gomock.Controller) *MockContainerMetadataResolver {
mock := &MockContainerMetadataResolver{ctrl: ctrl}
mock.recorder = &MockContainerMetadataResolverMockRecorder{mock}
return mock
}
-// EXPECT returns an object that allows the caller to indicate expected use
+// EXPECT returns an object that allows the caller to indicate expected use.
func (m *MockContainerMetadataResolver) EXPECT() *MockContainerMetadataResolverMockRecorder {
return m.recorder
}
-// ResolveContainer mocks base method
+// ResolveContainer mocks base method.
func (m *MockContainerMetadataResolver) ResolveContainer(arg0 string) (*container.DockerContainer, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "ResolveContainer", arg0)
@@ -58,13 +58,13 @@ func (m *MockContainerMetadataResolver) ResolveContainer(arg0 string) (*containe
return ret0, ret1
}
-// ResolveContainer indicates an expected call of ResolveContainer
+// ResolveContainer indicates an expected call of ResolveContainer.
func (mr *MockContainerMetadataResolverMockRecorder) ResolveContainer(arg0 interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ResolveContainer", reflect.TypeOf((*MockContainerMetadataResolver)(nil).ResolveContainer), arg0)
}
-// ResolveTask mocks base method
+// ResolveTask mocks base method.
func (m *MockContainerMetadataResolver) ResolveTask(arg0 string) (*task.Task, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "ResolveTask", arg0)
@@ -73,8 +73,23 @@ func (m *MockContainerMetadataResolver) ResolveTask(arg0 string) (*task.Task, er
return ret0, ret1
}
-// ResolveTask indicates an expected call of ResolveTask
+// ResolveTask indicates an expected call of ResolveTask.
func (mr *MockContainerMetadataResolverMockRecorder) ResolveTask(arg0 interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ResolveTask", reflect.TypeOf((*MockContainerMetadataResolver)(nil).ResolveTask), arg0)
}
+
+// ResolveTaskByARN mocks base method.
+func (m *MockContainerMetadataResolver) ResolveTaskByARN(arg0 string) (*task.Task, error) {
+ m.ctrl.T.Helper()
+ ret := m.ctrl.Call(m, "ResolveTaskByARN", arg0)
+ ret0, _ := ret[0].(*task.Task)
+ ret1, _ := ret[1].(error)
+ return ret0, ret1
+}
+
+// ResolveTaskByARN indicates an expected call of ResolveTaskByARN.
+func (mr *MockContainerMetadataResolverMockRecorder) ResolveTaskByARN(arg0 interface{}) *gomock.Call {
+ mr.mock.ctrl.T.Helper()
+ return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ResolveTaskByARN", reflect.TypeOf((*MockContainerMetadataResolver)(nil).ResolveTaskByARN), arg0)
+}
diff --git a/agent/stats/resolver/resolver.go b/agent/stats/resolver/resolver.go
index a48abed7495..8491a83574f 100644
--- a/agent/stats/resolver/resolver.go
+++ b/agent/stats/resolver/resolver.go
@@ -24,4 +24,5 @@ import (
type ContainerMetadataResolver interface {
ResolveTask(string) (*apitask.Task, error)
ResolveContainer(string) (*apicontainer.DockerContainer, error)
+ ResolveTaskByARN(string) (*apitask.Task, error)
}
diff --git a/agent/stats/task_linux.go b/agent/stats/task_linux.go
new file mode 100644
index 00000000000..419d61ef05a
--- /dev/null
+++ b/agent/stats/task_linux.go
@@ -0,0 +1,257 @@
+// +build linux
+
+// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License"). You may
+// not use this file except in compliance with the License. A copy of the
+// License is located at
+//
+// http://aws.amazon.com/apache2.0/
+//
+// or in the "license" file accompanying this file. This file 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 stats
+
+import (
+ "context"
+ "fmt"
+ "time"
+
+ apitaskstatus "github.com/aws/amazon-ecs-agent/agent/api/task/status"
+ "github.com/aws/amazon-ecs-agent/agent/config"
+ "github.com/aws/amazon-ecs-agent/agent/ecscni"
+ "github.com/aws/amazon-ecs-agent/agent/eni/netlinkwrapper"
+ "github.com/aws/amazon-ecs-agent/agent/stats/resolver"
+ "github.com/aws/amazon-ecs-agent/agent/utils/nswrapper"
+ "github.com/aws/amazon-ecs-agent/agent/utils/retry"
+ "github.com/containernetworking/plugins/pkg/ns"
+
+ "github.com/cihub/seelog"
+ "github.com/docker/docker/api/types"
+ dockerstats "github.com/docker/docker/api/types"
+ netlinklib "github.com/vishvananda/netlink"
+)
+
+const (
+ // linkTypeDevice defines the string that's expected to be the output of
+ // netlink.Link.Type() method for netlink.Device type.
+ linkTypeDevice = "device"
+ linkTypeVlan = "vlan"
+ // encapTypeLoopback defines the string that's set for the link.Attrs.EncapType
+ // field for localhost devices. The EncapType field defines the link
+ // encapsulation method. For localhost, it's set to "loopback".
+ encapTypeLoopback = "loopback"
+)
+
+// StatsTask abstracts methods to gather and aggregate network data for a task. Used only for AWSVPC mode.
+type StatsTask struct {
+ StatsQueue *Queue
+ TaskMetadata *TaskMetadata
+ Ctx context.Context
+ Cancel context.CancelFunc
+ Resolver resolver.ContainerMetadataResolver
+ nswrapperinterface nswrapper.NS
+ netlinkinterface netlinkwrapper.NetLink
+ metricPublishInterval time.Duration
+}
+
+func newStatsTaskContainer(taskARN string, containerPID string, numberOfContainers int,
+ resolver resolver.ContainerMetadataResolver, publishInterval time.Duration) (*StatsTask, error) {
+ nsAgent := nswrapper.NewNS()
+ netlinkclient := netlinkwrapper.New()
+
+ ctx, cancel := context.WithCancel(context.Background())
+ return &StatsTask{
+ TaskMetadata: &TaskMetadata{
+ TaskArn: taskARN,
+ ContainerPID: containerPID,
+ NumberContainers: numberOfContainers,
+ },
+ Ctx: ctx,
+ Cancel: cancel,
+ Resolver: resolver,
+ netlinkinterface: netlinkclient,
+ nswrapperinterface: nsAgent,
+ metricPublishInterval: publishInterval,
+ }, nil
+}
+
+func (task *StatsTask) StartStatsCollection() {
+ queueSize := int(config.DefaultContainerMetricsPublishInterval.Seconds() * 4)
+ task.StatsQueue = NewQueue(queueSize)
+ task.StatsQueue.Reset()
+ go task.collect()
+}
+
+func (task *StatsTask) StopStatsCollection() {
+ task.Cancel()
+}
+
+func (taskStat *StatsTask) collect() {
+ taskArn := taskStat.TaskMetadata.TaskArn
+ backoff := retry.NewExponentialBackoff(time.Second*1, time.Second*10, 0.5, 2)
+
+ for {
+ err := taskStat.processStatsStream()
+ select {
+ case <-taskStat.Ctx.Done():
+ seelog.Debugf("Stopping stats collection for taskStat %s", taskArn)
+ return
+ default:
+ if err != nil {
+ d := backoff.Duration()
+ time.Sleep(d)
+ seelog.Debugf("Error querying stats for task %s: %v", taskArn, err)
+ }
+ // We were disconnected from the stats stream.
+ // Check if the task is terminal. If it is, stop collecting metrics.
+ terminal, err := taskStat.terminal()
+ if err != nil {
+ // Error determining if the task is terminal. clean-up anyway.
+ seelog.Warnf("Error determining if the task %s is terminal, stopping stats collection: %v",
+ taskArn, err)
+ taskStat.StopStatsCollection()
+ } else if terminal {
+ seelog.Infof("Task %s is terminal, stopping stats collection", taskArn)
+ taskStat.StopStatsCollection()
+ }
+ }
+ }
+}
+
+func (taskStat *StatsTask) processStatsStream() error {
+ taskArn := taskStat.TaskMetadata.TaskArn
+ awsvpcNetworkStats, errC := taskStat.getAWSVPCNetworkStats()
+
+ returnError := false
+ for {
+ select {
+ case <-taskStat.Ctx.Done():
+ seelog.Info("task context is done")
+ return nil
+ case err := <-errC:
+ seelog.Warnf("Error encountered processing metrics stream from host, this may affect "+
+ "cloudwatch metric accuracy: %s", err)
+ returnError = true
+ case rawStat, ok := <-awsvpcNetworkStats:
+ if !ok {
+ if returnError {
+ return fmt.Errorf("error encountered processing metrics stream from host")
+ }
+ return nil
+ }
+ if err := taskStat.StatsQueue.Add(rawStat); err != nil {
+ seelog.Warnf("Task [%s]: error converting stats: %v", taskArn, err)
+ }
+ }
+
+ }
+}
+
+func (taskStat *StatsTask) terminal() (bool, error) {
+ resolvedTask, err := taskStat.Resolver.ResolveTaskByARN(taskStat.TaskMetadata.TaskArn)
+ if err != nil {
+ return false, err
+ }
+ return resolvedTask.GetKnownStatus() == apitaskstatus.TaskStopped, nil
+}
+
+func getDevicesList(linkList []netlinklib.Link) []string {
+ var deviceNames []string
+ for _, link := range linkList {
+ if link.Type() != linkTypeDevice && link.Type() != linkTypeVlan {
+ // We only care about netlink.Device/netlink.Vlan types. Ignore other link types.
+ continue
+ }
+ if link.Attrs().EncapType == encapTypeLoopback {
+ // Ignore localhost
+ continue
+ }
+ deviceNames = append(deviceNames, link.Attrs().Name)
+ }
+ return deviceNames
+}
+
+func (taskStat *StatsTask) populateNIDeviceList(containerPID string) ([]string, error) {
+ var err error
+ var deviceList []string
+ netNSPath := fmt.Sprintf(ecscni.NetnsFormat, containerPID)
+ err = taskStat.nswrapperinterface.WithNetNSPath(netNSPath, func(ns.NetNS) error {
+ linksInTaskNetNS, linkErr := taskStat.netlinkinterface.LinkList()
+ deviceNames := getDevicesList(linksInTaskNetNS)
+ deviceList = append(deviceList, deviceNames...)
+ return linkErr
+ })
+ return deviceList, err
+}
+
+func linkStatsToDockerStats(netLinkStats *netlinklib.LinkStatistics, numberOfContainers uint64) dockerstats.NetworkStats {
+ networkStats := dockerstats.NetworkStats{
+ RxBytes: netLinkStats.RxBytes / numberOfContainers,
+ RxPackets: netLinkStats.RxPackets / numberOfContainers,
+ RxErrors: netLinkStats.RxErrors / numberOfContainers,
+ RxDropped: netLinkStats.RxDropped / numberOfContainers,
+ TxBytes: netLinkStats.TxBytes / numberOfContainers,
+ TxPackets: netLinkStats.TxPackets / numberOfContainers,
+ TxErrors: netLinkStats.TxErrors / numberOfContainers,
+ TxDropped: netLinkStats.TxDropped / numberOfContainers,
+ }
+ return networkStats
+}
+
+func (taskStat *StatsTask) getAWSVPCNetworkStats() (<-chan *types.StatsJSON, <-chan error) {
+
+ errC := make(chan error)
+ statsC := make(chan *dockerstats.StatsJSON)
+ if taskStat.TaskMetadata.NumberContainers > 0 {
+ go func() {
+ defer close(statsC)
+ statPollTicker := time.NewTicker(taskStat.metricPublishInterval)
+ defer statPollTicker.Stop()
+ for range statPollTicker.C {
+ if len(taskStat.TaskMetadata.DeviceName) == 0 {
+ var err error
+ taskStat.TaskMetadata.DeviceName, err = taskStat.populateNIDeviceList(taskStat.TaskMetadata.ContainerPID)
+ if err != nil {
+ errC <- err
+ return
+ }
+ }
+ networkStats := make(map[string]dockerstats.NetworkStats, len(taskStat.TaskMetadata.DeviceName))
+ for _, device := range taskStat.TaskMetadata.DeviceName {
+ var link netlinklib.Link
+ err := taskStat.nswrapperinterface.WithNetNSPath(fmt.Sprintf(ecscni.NetnsFormat,
+ taskStat.TaskMetadata.ContainerPID),
+ func(ns.NetNS) error {
+ var linkErr error
+ if link, linkErr = taskStat.netlinkinterface.LinkByName(device); linkErr != nil {
+ return linkErr
+ }
+ return nil
+ })
+
+ if err != nil {
+ errC <- err
+ return
+ }
+ netLinkStats := link.Attrs().Statistics
+ networkStats[link.Attrs().Name] = linkStatsToDockerStats(netLinkStats,
+ uint64(taskStat.TaskMetadata.NumberContainers))
+ }
+
+ dockerStats := &types.StatsJSON{
+ Networks: networkStats,
+ Stats: types.Stats{
+ Read: time.Now(),
+ },
+ }
+ statsC <- dockerStats
+ }
+ }()
+ }
+
+ return statsC, errC
+}
diff --git a/agent/stats/task_linux_test.go b/agent/stats/task_linux_test.go
new file mode 100644
index 00000000000..ea6c7fd7638
--- /dev/null
+++ b/agent/stats/task_linux_test.go
@@ -0,0 +1,192 @@
+// +build linux,unit
+
+// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License"). You may
+// not use this file except in compliance with the License. A copy of the
+// License is located at
+//
+// http://aws.amazon.com/apache2.0/
+//
+// or in the "license" file accompanying this file. This file 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 stats
+
+import (
+ "context"
+ "errors"
+ "testing"
+ "time"
+
+ "github.com/aws/amazon-ecs-agent/agent/utils/nswrapper/mocks"
+
+ apicontainer "github.com/aws/amazon-ecs-agent/agent/api/container"
+ apitask "github.com/aws/amazon-ecs-agent/agent/api/task"
+ apitaskstatus "github.com/aws/amazon-ecs-agent/agent/api/task/status"
+ mock_netlink "github.com/aws/amazon-ecs-agent/agent/eni/netlinkwrapper/mocks"
+ mock_resolver "github.com/aws/amazon-ecs-agent/agent/stats/resolver/mock"
+ "github.com/containernetworking/plugins/pkg/ns"
+ "github.com/golang/mock/gomock"
+ "github.com/stretchr/testify/assert"
+ "github.com/vishvananda/netlink"
+)
+
+func TestTaskStatsCollection(t *testing.T) {
+ ctrl := gomock.NewController(t)
+ defer ctrl.Finish()
+ resolver := mock_resolver.NewMockContainerMetadataResolver(ctrl)
+ mockNS := mocks.NewMockNS(ctrl)
+ mockNetLink := mock_netlink.NewMockNetLink(ctrl)
+
+ containerPID := "23"
+ taskId := "task1"
+ ctx, cancel := context.WithCancel(context.TODO())
+ numberOfContainers := 2
+ taskStats := &StatsTask{
+ TaskMetadata: &TaskMetadata{
+ TaskArn: taskId,
+ ContainerPID: containerPID,
+ DeviceName: []string{"device1", "device2"},
+ NumberContainers: numberOfContainers,
+ },
+ Ctx: ctx,
+ Cancel: cancel,
+ Resolver: resolver,
+ netlinkinterface: mockNetLink,
+ nswrapperinterface: mockNS,
+ metricPublishInterval: time.Second,
+ }
+
+ testTask := &apitask.Task{
+ Containers: []*apicontainer.Container{
+ {Name: "c1"},
+ {Name: "c2", Type: apicontainer.ContainerCNIPause},
+ },
+ KnownStatusUnsafe: apitaskstatus.TaskRunning,
+ }
+ resolver.EXPECT().ResolveTaskByARN(gomock.Any()).Return(testTask, nil).AnyTimes()
+ mockNS.EXPECT().WithNetNSPath(gomock.Any(),
+ gomock.Any()).Do(func(nsPath interface{}, toRun func(n ns.NetNS) error) error {
+ return toRun(nil)
+ }).AnyTimes()
+ mockNetLink.EXPECT().LinkByName(gomock.Any()).Return(&netlink.Device{
+ LinkAttrs: netlink.LinkAttrs{
+ Name: "name",
+ Statistics: &netlink.LinkStatistics{
+ RxPackets: uint64(2),
+ RxBytes: uint64(50),
+ },
+ },
+ }, nil).AnyTimes()
+
+ taskStats.StartStatsCollection()
+ time.Sleep(checkPointSleep)
+ taskStats.StopStatsCollection()
+
+ networkStatsSet, err := taskStats.StatsQueue.GetNetworkStatsSet()
+
+ assert.NoError(t, err)
+ assert.NotNil(t, networkStatsSet)
+ rxSum := (*networkStatsSet.RxBytes.SampleCount * (int64(50))) / int64(numberOfContainers)
+ assert.EqualValues(t, rxSum, *networkStatsSet.RxBytes.Sum)
+}
+
+func TestTaskStatsCollectionError(t *testing.T) {
+ ctrl := gomock.NewController(t)
+ defer ctrl.Finish()
+ resolver := mock_resolver.NewMockContainerMetadataResolver(ctrl)
+ mockNS := mocks.NewMockNS(ctrl)
+ mockNetLink := mock_netlink.NewMockNetLink(ctrl)
+
+ containerPID := "23"
+ taskId := "task1"
+ ctx, cancel := context.WithCancel(context.TODO())
+
+ taskStats := &StatsTask{
+ TaskMetadata: &TaskMetadata{
+ TaskArn: taskId,
+ ContainerPID: containerPID,
+ DeviceName: []string{"device1", "device2"},
+ NumberContainers: 2,
+ },
+ Ctx: ctx,
+ Cancel: cancel,
+ Resolver: resolver,
+ netlinkinterface: mockNetLink,
+ nswrapperinterface: mockNS,
+ metricPublishInterval: time.Second,
+ }
+
+ testTask := &apitask.Task{
+ Containers: []*apicontainer.Container{
+ {Name: "c1"},
+ {Name: "c2", Type: apicontainer.ContainerCNIPause},
+ },
+ KnownStatusUnsafe: apitaskstatus.TaskRunning,
+ }
+ resolver.EXPECT().ResolveTaskByARN(gomock.Any()).Return(testTask, nil).AnyTimes()
+ err := errors.New("emit macho dwarf: elf header corrupted")
+
+ mockNS.EXPECT().WithNetNSPath(gomock.Any(), gomock.Any()).Return(err)
+ mockNS.EXPECT().WithNetNSPath(gomock.Any(),
+ gomock.Any()).Do(func(nsPath interface{}, toRun func(n ns.NetNS) error) error {
+ return toRun(nil)
+ }).AnyTimes()
+ mockNetLink.EXPECT().LinkByName(gomock.Any()).Return(&netlink.Device{
+ LinkAttrs: netlink.LinkAttrs{
+ Name: "name",
+ Statistics: &netlink.LinkStatistics{
+ RxPackets: uint64(2),
+ RxBytes: uint64(50),
+ },
+ },
+ }, nil).AnyTimes()
+
+ taskStats.StartStatsCollection()
+ time.Sleep(checkPointSleep)
+ taskStats.StopStatsCollection()
+
+ networkStatsSet, err := taskStats.StatsQueue.GetNetworkStatsSet()
+ assert.NoError(t, err)
+ assert.EqualValues(t, 50, *networkStatsSet.RxBytes.Sum)
+ assert.EqualValues(t, 2, *networkStatsSet.RxPackets.Sum)
+ assert.EqualValues(t, 2, *networkStatsSet.RxPackets.SampleCount)
+ assert.EqualValues(t, 2, *networkStatsSet.TxPackets.SampleCount)
+}
+
+func TestGetDeviceList(t *testing.T) {
+
+ link1 := &netlink.GenericLink{
+ LinkType: linkTypeDevice,
+ LinkAttrs: netlink.LinkAttrs{
+ Name: "link1device",
+ },
+ }
+ link2 := &netlink.GenericLink{
+ LinkType: linkTypeVlan,
+ LinkAttrs: netlink.LinkAttrs{
+ Name: "link2device",
+ },
+ }
+ link3 := &netlink.GenericLink{
+ LinkType: "randomLinkType",
+ LinkAttrs: netlink.LinkAttrs{
+ Name: "link3device",
+ },
+ }
+ link4 := &netlink.GenericLink{
+ LinkAttrs: netlink.LinkAttrs{
+ EncapType: encapTypeLoopback,
+ Name: "link4device",
+ },
+ LinkType: linkTypeVlan,
+ }
+ linkList := []netlink.Link{link1, link2, link3, link4}
+
+ deviceNames := getDevicesList(linkList)
+
+ assert.ElementsMatch(t, []string{"link1device", "link2device"}, deviceNames)
+}
diff --git a/agent/stats/task_unspecified.go b/agent/stats/task_unspecified.go
new file mode 100644
index 00000000000..07086610414
--- /dev/null
+++ b/agent/stats/task_unspecified.go
@@ -0,0 +1,43 @@
+// +build !linux
+
+// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License"). You may
+// not use this file except in compliance with the License. A copy of the
+// License is located at
+//
+// http://aws.amazon.com/apache2.0/
+//
+// or in the "license" file accompanying this file. This file 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 stats
+
+import (
+ "time"
+
+ "github.com/aws/amazon-ecs-agent/agent/stats/resolver"
+ "github.com/pkg/errors"
+)
+
+// Dummy StatsTasks
+type StatsTask struct {
+ // AWSVPC network stats only supported on linux
+ TaskMetadata *TaskMetadata
+ StatsQueue *Queue
+}
+
+func newStatsTaskContainer(taskARN string, containerPID string, numberOfContainers int,
+ resolver resolver.ContainerMetadataResolver, publishInterval time.Duration) (*StatsTask, error) {
+ return nil, errors.New("Unsupported platform")
+}
+
+func (task *StatsTask) StartStatsCollection() {
+ // AWSVPC network stats only supported on linux
+}
+
+func (task *StatsTask) StopStatsCollection() {
+ // AWSVPC network stats only supported on linux
+}
diff --git a/agent/stats/types.go b/agent/stats/types.go
index 9fc32b0d9f7..113a4213fac 100644
--- a/agent/stats/types.go
+++ b/agent/stats/types.go
@@ -35,14 +35,16 @@ type ContainerStats struct {
// NetworkStats contains the network stats information for a container
type NetworkStats struct {
- RxBytes uint64 `json:"rxBytes"`
- RxDropped uint64 `json:"rxDropped"`
- RxErrors uint64 `json:"rxErrors"`
- RxPackets uint64 `json:"rxPackets"`
- TxBytes uint64 `json:"txBytes"`
- TxDropped uint64 `json:"txDropped"`
- TxErrors uint64 `json:"txErrors"`
- TxPackets uint64 `json:"txPackets"`
+ RxBytes uint64 `json:"rxBytes"`
+ RxDropped uint64 `json:"rxDropped"`
+ RxErrors uint64 `json:"rxErrors"`
+ RxPackets uint64 `json:"rxPackets"`
+ TxBytes uint64 `json:"txBytes"`
+ TxDropped uint64 `json:"txDropped"`
+ TxErrors uint64 `json:"txErrors"`
+ TxPackets uint64 `json:"txPackets"`
+ RxBytesPerSecond float32 `json:"rxBytesPerSecond"`
+ TxBytesPerSecond float32 `json:"txBytesPerSecond"`
}
// UsageStats abstracts the format in which the queue stores data.
@@ -65,6 +67,15 @@ type ContainerMetadata struct {
NetworkMode string `json:"-"`
}
+// TaskMetadata contains meta-data information for a task.
+type TaskMetadata struct {
+ TaskArn string `json:"-"`
+ // ContainerPID is the PID of the pause container in the awsvpc task.
+ ContainerPID string `json:"-"`
+ DeviceName []string `json:"-"`
+ NumberContainers int `json:"-"`
+}
+
// StatsContainer abstracts methods to gather and aggregate utilization data for a container.
type StatsContainer struct {
containerMetadata *ContainerMetadata
@@ -81,3 +92,8 @@ type taskDefinition struct {
family string
version string
}
+
+type NetworkStatsPerSec struct {
+ RxBytesPerSecond float32 `json:"rx_bytes_per_sec"`
+ TxBytesPerSecond float32 `json:"tx_bytes_per_sec"`
+}
diff --git a/agent/stats/utils.go b/agent/stats/utils.go
index 9e6ec4720cc..9459dd817ab 100644
--- a/agent/stats/utils.go
+++ b/agent/stats/utils.go
@@ -43,5 +43,7 @@ func getNetworkStats(dockerStats *types.StatsJSON) *NetworkStats {
networkStats.TxErrors += netStats.TxErrors
networkStats.TxPackets += netStats.TxPackets
}
+ networkStats.RxBytesPerSecond = float32(nan32())
+ networkStats.TxBytesPerSecond = float32(nan32())
return networkStats
}
diff --git a/agent/stats/utils_test.go b/agent/stats/utils_test.go
index 75de6dc16ae..e3ed80e9b8f 100644
--- a/agent/stats/utils_test.go
+++ b/agent/stats/utils_test.go
@@ -18,6 +18,7 @@ package stats
import (
"encoding/json"
"fmt"
+ "math"
"testing"
"github.com/docker/docker/api/types"
@@ -78,4 +79,6 @@ func validateNetworkMetrics(t *testing.T, netStats *NetworkStats) {
assert.Equal(t, expectedTxPackets, netStats.TxPackets)
assert.Equal(t, expectedTxDropped, netStats.TxDropped)
assert.Equal(t, expectedTxErrors, netStats.TxErrors)
+ assert.True(t, math.IsNaN(float64(netStats.RxBytesPerSecond)))
+ assert.True(t, math.IsNaN(float64(netStats.TxBytesPerSecond)))
}
diff --git a/agent/stats/utils_unix.go b/agent/stats/utils_unix.go
index b6cbb15c146..db4053c4ddb 100644
--- a/agent/stats/utils_unix.go
+++ b/agent/stats/utils_unix.go
@@ -23,12 +23,6 @@ import (
// dockerStatsToContainerStats returns a new object of the ContainerStats object from docker stats.
func dockerStatsToContainerStats(dockerStats *types.StatsJSON) (*ContainerStats, error) {
- // The length of PercpuUsage represents the number of cores in an instance.
- if len(dockerStats.CPUStats.CPUUsage.PercpuUsage) == 0 || numCores == uint64(0) {
- seelog.Debug("Invalid container statistics reported, no cpu core usage reported")
- return nil, fmt.Errorf("Invalid container statistics reported, no cpu core usage reported")
- }
-
cpuUsage := dockerStats.CPUStats.CPUUsage.TotalUsage / numCores
memoryUsage := dockerStats.MemoryStats.Usage - dockerStats.MemoryStats.Stats["cache"]
storageReadBytes, storageWriteBytes := getStorageStats(dockerStats)
@@ -43,6 +37,14 @@ func dockerStatsToContainerStats(dockerStats *types.StatsJSON) (*ContainerStats,
}, nil
}
+func validateDockerStats(dockerStats *types.StatsJSON) error {
+ // The length of PercpuUsage represents the number of cores in an instance.
+ if len(dockerStats.CPUStats.CPUUsage.PercpuUsage) == 0 || numCores == uint64(0) {
+ return fmt.Errorf("invalid container statistics reported, no cpu core usage reported")
+ }
+ return nil
+}
+
func getStorageStats(dockerStats *types.StatsJSON) (uint64, uint64) {
// initialize block io and loop over stats to aggregate
if dockerStats.BlkioStats.IoServiceBytesRecursive == nil {
diff --git a/agent/stats/utils_unix_test.go b/agent/stats/utils_unix_test.go
index f9c93cb28fb..d91042c1063 100644
--- a/agent/stats/utils_unix_test.go
+++ b/agent/stats/utils_unix_test.go
@@ -25,17 +25,6 @@ import (
"github.com/stretchr/testify/require"
)
-func TestDockerStatsToContainerStatsEmptyCpuUsageGeneratesError(t *testing.T) {
- inputJsonFile, _ := filepath.Abs("./unix_test_stats.json")
- jsonBytes, _ := ioutil.ReadFile(inputJsonFile)
- dockerStat := &types.StatsJSON{}
- json.Unmarshal([]byte(jsonBytes), dockerStat)
- // empty the PercpuUsage array
- dockerStat.CPUStats.CPUUsage.PercpuUsage = make([]uint64, 0)
- _, err := dockerStatsToContainerStats(dockerStat)
- assert.Error(t, err, "expected error converting container stats with empty PercpuUsage")
-}
-
func TestDockerStatsToContainerStats(t *testing.T) {
// numCores is a global variable in package agent/stats
// which denotes the number of cpu cores
@@ -57,3 +46,14 @@ func TestDockerStatsToContainerStats(t *testing.T) {
assert.NotNil(t, netStats, "networkStats should not be nil")
validateNetworkMetrics(t, netStats)
}
+
+func TestDockerStatsToContainerStatsEmptyCpuUsageGeneratesError(t *testing.T) {
+ inputJsonFile, _ := filepath.Abs("./unix_test_stats.json")
+ jsonBytes, _ := ioutil.ReadFile(inputJsonFile)
+ dockerStat := &types.StatsJSON{}
+ json.Unmarshal([]byte(jsonBytes), dockerStat)
+ // empty the PercpuUsage array
+ dockerStat.CPUStats.CPUUsage.PercpuUsage = make([]uint64, 0)
+ err := validateDockerStats(dockerStat)
+ assert.Error(t, err, "expected error converting container stats with empty PercpuUsage")
+}
diff --git a/agent/stats/utils_windows.go b/agent/stats/utils_windows.go
index f7c542e66e9..8e5c5f69678 100644
--- a/agent/stats/utils_windows.go
+++ b/agent/stats/utils_windows.go
@@ -17,17 +17,11 @@ package stats
import (
"fmt"
- "github.com/cihub/seelog"
"github.com/docker/docker/api/types"
)
// dockerStatsToContainerStats returns a new object of the ContainerStats object from docker stats.
func dockerStatsToContainerStats(dockerStats *types.StatsJSON) (*ContainerStats, error) {
- if numCores == uint64(0) {
- seelog.Error("Invalid number of cpu cores acquired from the system")
- return nil, fmt.Errorf("invalid number of cpu cores acquired from the system")
- }
-
cpuUsage := (dockerStats.CPUStats.CPUUsage.TotalUsage * 100) / numCores
memoryUsage := dockerStats.MemoryStats.PrivateWorkingSet
networkStats := getNetworkStats(dockerStats)
@@ -42,3 +36,10 @@ func dockerStatsToContainerStats(dockerStats *types.StatsJSON) (*ContainerStats,
networkStats: networkStats,
}, nil
}
+
+func validateDockerStats(dockerStats *types.StatsJSON) error {
+ if numCores == uint64(0) {
+ return fmt.Errorf("invalid container statistics reported, no cpu core usage reported")
+ }
+ return nil
+}
diff --git a/agent/stats/utils_windows_test.go b/agent/stats/utils_windows_test.go
index 75309c153cf..544292096b4 100644
--- a/agent/stats/utils_windows_test.go
+++ b/agent/stats/utils_windows_test.go
@@ -39,7 +39,7 @@ func TestDockerStatsToContainerStatsZeroCoresGeneratesError(t *testing.T) {
}`, 100)
dockerStat := &types.StatsJSON{}
json.Unmarshal([]byte(jsonStat), dockerStat)
- _, err := dockerStatsToContainerStats(dockerStat)
+ err := validateDockerStats(dockerStat)
assert.Error(t, err, "expected error converting container stats with zero cpu cores")
}
diff --git a/agent/taskresource/envFiles/envfile.go b/agent/taskresource/envFiles/envfile.go
index 79e0d7423cb..314af51f33c 100644
--- a/agent/taskresource/envFiles/envfile.go
+++ b/agent/taskresource/envFiles/envfile.go
@@ -398,7 +398,7 @@ func (envfile *EnvironmentFileResource) writeEnvFile(writeFunc func(file oswrapp
err = tmpFile.Close()
if err != nil {
- seelog.Errorf("Error while closing temporary file %s created for envfile resource", tmpFile.Name(), err)
+ seelog.Errorf("Error while closing temporary file %s created for envfile resource", tmpFile.Name())
return err
}
diff --git a/agent/tcs/client/client_test.go b/agent/tcs/client/client_test.go
index b4409011f65..7da2bab9d29 100644
--- a/agent/tcs/client/client_test.go
+++ b/agent/tcs/client/client_test.go
@@ -56,8 +56,8 @@ func (*mockStatsEngine) GetInstanceMetrics() (*ecstcs.MetricsMetadata, []*ecstcs
return nil, nil, fmt.Errorf("uninitialized")
}
-func (*mockStatsEngine) ContainerDockerStats(taskARN string, id string) (*types.StatsJSON, error) {
- return nil, fmt.Errorf("not implemented")
+func (*mockStatsEngine) ContainerDockerStats(taskARN string, id string) (*types.StatsJSON, *stats.NetworkStatsPerSec, error) {
+ return nil, nil, fmt.Errorf("not implemented")
}
func (*mockStatsEngine) GetTaskHealthMetrics() (*ecstcs.HealthMetadata, []*ecstcs.TaskHealth, error) {
@@ -70,8 +70,8 @@ func (*emptyStatsEngine) GetInstanceMetrics() (*ecstcs.MetricsMetadata, []*ecstc
return nil, nil, fmt.Errorf("empty stats")
}
-func (*emptyStatsEngine) ContainerDockerStats(taskARN string, id string) (*types.StatsJSON, error) {
- return nil, fmt.Errorf("not implemented")
+func (*emptyStatsEngine) ContainerDockerStats(taskARN string, id string) (*types.StatsJSON, *stats.NetworkStatsPerSec, error) {
+ return nil, nil, fmt.Errorf("not implemented")
}
func (*emptyStatsEngine) GetTaskHealthMetrics() (*ecstcs.HealthMetadata, []*ecstcs.TaskHealth, error) {
@@ -90,8 +90,8 @@ func (*idleStatsEngine) GetInstanceMetrics() (*ecstcs.MetricsMetadata, []*ecstcs
return metadata, []*ecstcs.TaskMetric{}, nil
}
-func (*idleStatsEngine) ContainerDockerStats(taskARN string, id string) (*types.StatsJSON, error) {
- return nil, fmt.Errorf("not implemented")
+func (*idleStatsEngine) ContainerDockerStats(taskARN string, id string) (*types.StatsJSON, *stats.NetworkStatsPerSec, error) {
+ return nil, nil, fmt.Errorf("not implemented")
}
func (*idleStatsEngine) GetTaskHealthMetrics() (*ecstcs.HealthMetadata, []*ecstcs.TaskHealth, error) {
@@ -118,8 +118,8 @@ func (engine *nonIdleStatsEngine) GetInstanceMetrics() (*ecstcs.MetricsMetadata,
return metadata, taskMetrics, nil
}
-func (*nonIdleStatsEngine) ContainerDockerStats(taskARN string, id string) (*types.StatsJSON, error) {
- return nil, fmt.Errorf("not implemented")
+func (*nonIdleStatsEngine) ContainerDockerStats(taskARN string, id string) (*types.StatsJSON, *stats.NetworkStatsPerSec, error) {
+ return nil, nil, fmt.Errorf("not implemented")
}
func (*nonIdleStatsEngine) GetTaskHealthMetrics() (*ecstcs.HealthMetadata, []*ecstcs.TaskHealth, error) {
diff --git a/agent/tcs/handler/handler_test.go b/agent/tcs/handler/handler_test.go
index 6ac65bb3c31..a5524aba4a9 100644
--- a/agent/tcs/handler/handler_test.go
+++ b/agent/tcs/handler/handler_test.go
@@ -32,6 +32,7 @@ import (
"github.com/aws/amazon-ecs-agent/agent/config"
mock_engine "github.com/aws/amazon-ecs-agent/agent/engine/mocks"
"github.com/aws/amazon-ecs-agent/agent/eventstream"
+ "github.com/aws/amazon-ecs-agent/agent/stats"
tcsclient "github.com/aws/amazon-ecs-agent/agent/tcs/client"
"github.com/aws/amazon-ecs-agent/agent/tcs/model/ecstcs"
"github.com/aws/amazon-ecs-agent/agent/version"
@@ -67,8 +68,8 @@ func (*mockStatsEngine) GetInstanceMetrics() (*ecstcs.MetricsMetadata, []*ecstcs
return req.Metadata, req.TaskMetrics, nil
}
-func (*mockStatsEngine) ContainerDockerStats(taskARN string, id string) (*types.StatsJSON, error) {
- return nil, fmt.Errorf("not implemented")
+func (*mockStatsEngine) ContainerDockerStats(taskARN string, id string) (*types.StatsJSON, *stats.NetworkStatsPerSec, error) {
+ return nil, nil, fmt.Errorf("not implemented")
}
func (*mockStatsEngine) GetTaskHealthMetrics() (*ecstcs.HealthMetadata, []*ecstcs.TaskHealth, error) {
diff --git a/agent/tcs/model/api/api-2.json b/agent/tcs/model/api/api-2.json
index 3e8656183b5..108fabba78d 100644
--- a/agent/tcs/model/api/api-2.json
+++ b/agent/tcs/model/api/api-2.json
@@ -198,10 +198,12 @@
"NetworkStatsSet":{
"type":"structure",
"members":{
+ "rxBytesPerSecond":{"shape":"UDoubleCWStatsSet"},
"rxBytes":{"shape":"ULongStatsSet"},
"rxDropped":{"shape":"ULongStatsSet"},
"rxErrors":{"shape":"ULongStatsSet"},
"rxPackets":{"shape":"ULongStatsSet"},
+ "txBytesPerSecond":{"shape":"UDoubleCWStatsSet"},
"txBytes":{"shape":"ULongStatsSet"},
"txDropped":{"shape":"ULongStatsSet"},
"txErrors":{"shape":"ULongStatsSet"},
@@ -287,6 +289,25 @@
"max":10
},
"Timestamp":{"type":"timestamp"},
+ "UDouble":{
+ "type":"double",
+ "min":0
+ },
+ "UDoubleCWStatsSet":{
+ "type":"structure",
+ "required":[
+ "min",
+ "max",
+ "sampleCount",
+ "sum"
+ ],
+ "members":{
+ "min":{"shape":"UDouble"},
+ "max":{"shape":"UDouble"},
+ "sampleCount":{"shape":"UInteger"},
+ "sum":{"shape":"UDouble"}
+ }
+ },
"UInteger":{
"type":"integer",
"min":0
diff --git a/agent/tcs/model/ecstcs/api.go b/agent/tcs/model/ecstcs/api.go
index 4cfa913b327..b597ae8c08b 100644
--- a/agent/tcs/model/ecstcs/api.go
+++ b/agent/tcs/model/ecstcs/api.go
@@ -272,6 +272,8 @@ type NetworkStatsSet struct {
RxBytes *ULongStatsSet `locationName:"rxBytes" type:"structure"`
+ RxBytesPerSecond *UDoubleCWStatsSet `locationName:"rxBytesPerSecond" type:"structure"`
+
RxDropped *ULongStatsSet `locationName:"rxDropped" type:"structure"`
RxErrors *ULongStatsSet `locationName:"rxErrors" type:"structure"`
@@ -280,6 +282,8 @@ type NetworkStatsSet struct {
TxBytes *ULongStatsSet `locationName:"txBytes" type:"structure"`
+ TxBytesPerSecond *UDoubleCWStatsSet `locationName:"txBytesPerSecond" type:"structure"`
+
TxDropped *ULongStatsSet `locationName:"txDropped" type:"structure"`
TxErrors *ULongStatsSet `locationName:"txErrors" type:"structure"`
@@ -305,6 +309,11 @@ func (s *NetworkStatsSet) Validate() error {
invalidParams.AddNested("RxBytes", err.(request.ErrInvalidParams))
}
}
+ if s.RxBytesPerSecond != nil {
+ if err := s.RxBytesPerSecond.Validate(); err != nil {
+ invalidParams.AddNested("RxBytesPerSecond", err.(request.ErrInvalidParams))
+ }
+ }
if s.RxDropped != nil {
if err := s.RxDropped.Validate(); err != nil {
invalidParams.AddNested("RxDropped", err.(request.ErrInvalidParams))
@@ -325,6 +334,11 @@ func (s *NetworkStatsSet) Validate() error {
invalidParams.AddNested("TxBytes", err.(request.ErrInvalidParams))
}
}
+ if s.TxBytesPerSecond != nil {
+ if err := s.TxBytesPerSecond.Validate(); err != nil {
+ invalidParams.AddNested("TxBytesPerSecond", err.(request.ErrInvalidParams))
+ }
+ }
if s.TxDropped != nil {
if err := s.TxDropped.Validate(); err != nil {
invalidParams.AddNested("TxDropped", err.(request.ErrInvalidParams))
@@ -681,6 +695,54 @@ func (s *TaskMetric) Validate() error {
return nil
}
+type UDoubleCWStatsSet struct {
+ _ struct{} `type:"structure"`
+
+ // Max is a required field
+ Max *float64 `locationName:"max" type:"double" required:"true"`
+
+ // Min is a required field
+ Min *float64 `locationName:"min" type:"double" required:"true"`
+
+ // SampleCount is a required field
+ SampleCount *int64 `locationName:"sampleCount" type:"integer" required:"true"`
+
+ // Sum is a required field
+ Sum *float64 `locationName:"sum" type:"double" required:"true"`
+}
+
+// String returns the string representation
+func (s UDoubleCWStatsSet) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s UDoubleCWStatsSet) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *UDoubleCWStatsSet) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "UDoubleCWStatsSet"}
+ if s.Max == nil {
+ invalidParams.Add(request.NewErrParamRequired("Max"))
+ }
+ if s.Min == nil {
+ invalidParams.Add(request.NewErrParamRequired("Min"))
+ }
+ if s.SampleCount == nil {
+ invalidParams.Add(request.NewErrParamRequired("SampleCount"))
+ }
+ if s.Sum == nil {
+ invalidParams.Add(request.NewErrParamRequired("Sum"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
type ULongStatsSet struct {
_ struct{} `type:"structure"`
diff --git a/agent/utils/nswrapper/generate_mocks_ns.go b/agent/utils/nswrapper/generate_mocks_ns.go
new file mode 100644
index 00000000000..a80575efc25
--- /dev/null
+++ b/agent/utils/nswrapper/generate_mocks_ns.go
@@ -0,0 +1,16 @@
+// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License"). You may
+// not use this file except in compliance with the License. A copy of the
+// License is located at
+//
+// http://aws.amazon.com/apache2.0/
+//
+// or in the "license" file accompanying this file. This file 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 nswrapper
+
+//go:generate mockgen -destination=mocks/nswrapper_mocks_linux.go -copyright_file=../../../scripts/copyright_file github.com/aws/amazon-ecs-agent/agent/utils/nswrapper NS
diff --git a/agent/utils/nswrapper/mocks/nswrapper_mocks_linux.go b/agent/utils/nswrapper/mocks/nswrapper_mocks_linux.go
new file mode 100644
index 00000000000..5bd59cef7ec
--- /dev/null
+++ b/agent/utils/nswrapper/mocks/nswrapper_mocks_linux.go
@@ -0,0 +1,77 @@
+// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License"). You may
+// not use this file except in compliance with the License. A copy of the
+// License is located at
+//
+// http://aws.amazon.com/apache2.0/
+//
+// or in the "license" file accompanying this file. This file 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.
+
+// Code generated by MockGen. DO NOT EDIT.
+// Source: agent/nswrapper/ns_linux.go
+
+// Package mock_nswrapper is a generated GoMock package.
+package mocks
+
+import (
+ reflect "reflect"
+
+ ns "github.com/containernetworking/plugins/pkg/ns"
+ gomock "github.com/golang/mock/gomock"
+)
+
+// MockNS is a mock of NS interface.
+type MockNS struct {
+ ctrl *gomock.Controller
+ recorder *MockNSMockRecorder
+}
+
+// MockNSMockRecorder is the mock recorder for MockNS.
+type MockNSMockRecorder struct {
+ mock *MockNS
+}
+
+// NewMockNS creates a new mock instance.
+func NewMockNS(ctrl *gomock.Controller) *MockNS {
+ mock := &MockNS{ctrl: ctrl}
+ mock.recorder = &MockNSMockRecorder{mock}
+ return mock
+}
+
+// EXPECT returns an object that allows the caller to indicate expected use.
+func (m *MockNS) EXPECT() *MockNSMockRecorder {
+ return m.recorder
+}
+
+// GetNS mocks base method.
+func (m *MockNS) GetNS(nspath string) (ns.NetNS, error) {
+ m.ctrl.T.Helper()
+ ret := m.ctrl.Call(m, "GetNS", nspath)
+ ret0, _ := ret[0].(ns.NetNS)
+ ret1, _ := ret[1].(error)
+ return ret0, ret1
+}
+
+// GetNS indicates an expected call of GetNS.
+func (mr *MockNSMockRecorder) GetNS(nspath interface{}) *gomock.Call {
+ mr.mock.ctrl.T.Helper()
+ return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetNS", reflect.TypeOf((*MockNS)(nil).GetNS), nspath)
+}
+
+// WithNetNSPath mocks base method.
+func (m *MockNS) WithNetNSPath(nspath string, toRun func(ns.NetNS) error) error {
+ m.ctrl.T.Helper()
+ ret := m.ctrl.Call(m, "WithNetNSPath", nspath, toRun)
+ ret0, _ := ret[0].(error)
+ return ret0
+}
+
+// WithNetNSPath indicates an expected call of WithNetNSPath.
+func (mr *MockNSMockRecorder) WithNetNSPath(nspath, toRun interface{}) *gomock.Call {
+ mr.mock.ctrl.T.Helper()
+ return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "WithNetNSPath", reflect.TypeOf((*MockNS)(nil).WithNetNSPath), nspath, toRun)
+}
diff --git a/agent/utils/nswrapper/ns_linux.go b/agent/utils/nswrapper/ns_linux.go
new file mode 100644
index 00000000000..69947596cab
--- /dev/null
+++ b/agent/utils/nswrapper/ns_linux.go
@@ -0,0 +1,40 @@
+// +build linux
+
+// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License"). You may
+// not use this file except in compliance with the License. A copy of the
+// License is located at
+//
+// http://aws.amazon.com/apache2.0/
+//
+// or in the "license" file accompanying this file. This file 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 nswrapper
+
+import "github.com/containernetworking/plugins/pkg/ns"
+
+// NS wraps methods used from the cni/pkg/ns package
+type NS interface {
+ GetNS(nspath string) (ns.NetNS, error)
+ WithNetNSPath(nspath string, toRun func(ns.NetNS) error) error
+}
+
+type agentNS struct {
+}
+
+// NewNS creates a new NS object
+func NewNS() NS {
+ return &agentNS{}
+}
+
+func (*agentNS) GetNS(nspath string) (ns.NetNS, error) {
+ return ns.GetNS(nspath)
+}
+
+func (*agentNS) WithNetNSPath(nspath string, toRun func(ns.NetNS) error) error {
+ return ns.WithNetNSPath(nspath, toRun)
+}
diff --git a/agent/vendor/github.com/aws/aws-sdk-go/private/protocol/restjson/restjson.go b/agent/vendor/github.com/aws/aws-sdk-go/private/protocol/restjson/restjson.go
deleted file mode 100644
index af4f6154d70..00000000000
--- a/agent/vendor/github.com/aws/aws-sdk-go/private/protocol/restjson/restjson.go
+++ /dev/null
@@ -1,88 +0,0 @@
-// Package restjson provides RESTful JSON serialization of AWS
-// requests and responses.
-package restjson
-
-//go:generate go run -tags codegen ../../../models/protocol_tests/generate.go ../../../models/protocol_tests/input/rest-json.json build_test.go
-//go:generate go run -tags codegen ../../../models/protocol_tests/generate.go ../../../models/protocol_tests/output/rest-json.json unmarshal_test.go
-
-import (
- "strings"
-
- "github.com/aws/aws-sdk-go/aws/awserr"
- "github.com/aws/aws-sdk-go/aws/request"
- "github.com/aws/aws-sdk-go/private/protocol/json/jsonutil"
- "github.com/aws/aws-sdk-go/private/protocol/jsonrpc"
- "github.com/aws/aws-sdk-go/private/protocol/rest"
-)
-
-// BuildHandler is a named request handler for building restjson protocol requests
-var BuildHandler = request.NamedHandler{Name: "awssdk.restjson.Build", Fn: Build}
-
-// UnmarshalHandler is a named request handler for unmarshaling restjson protocol requests
-var UnmarshalHandler = request.NamedHandler{Name: "awssdk.restjson.Unmarshal", Fn: Unmarshal}
-
-// UnmarshalMetaHandler is a named request handler for unmarshaling restjson protocol request metadata
-var UnmarshalMetaHandler = request.NamedHandler{Name: "awssdk.restjson.UnmarshalMeta", Fn: UnmarshalMeta}
-
-// UnmarshalErrorHandler is a named request handler for unmarshaling restjson protocol request errors
-var UnmarshalErrorHandler = request.NamedHandler{Name: "awssdk.restjson.UnmarshalError", Fn: UnmarshalError}
-
-// Build builds a request for the REST JSON protocol.
-func Build(r *request.Request) {
- rest.Build(r)
-
- if t := rest.PayloadType(r.Params); t == "structure" || t == "" {
- if v := r.HTTPRequest.Header.Get("Content-Type"); len(v) == 0 {
- r.HTTPRequest.Header.Set("Content-Type", "application/json")
- }
- jsonrpc.Build(r)
- }
-}
-
-// Unmarshal unmarshals a response body for the REST JSON protocol.
-func Unmarshal(r *request.Request) {
- if t := rest.PayloadType(r.Data); t == "structure" || t == "" {
- jsonrpc.Unmarshal(r)
- } else {
- rest.Unmarshal(r)
- }
-}
-
-// UnmarshalMeta unmarshals response headers for the REST JSON protocol.
-func UnmarshalMeta(r *request.Request) {
- rest.UnmarshalMeta(r)
-}
-
-// UnmarshalError unmarshals a response error for the REST JSON protocol.
-func UnmarshalError(r *request.Request) {
- defer r.HTTPResponse.Body.Close()
-
- var jsonErr jsonErrorResponse
- err := jsonutil.UnmarshalJSONError(&jsonErr, r.HTTPResponse.Body)
- if err != nil {
- r.Error = awserr.NewRequestFailure(
- awserr.New(request.ErrCodeSerialization,
- "failed to unmarshal response error", err),
- r.HTTPResponse.StatusCode,
- r.RequestID,
- )
- return
- }
-
- code := r.HTTPResponse.Header.Get("X-Amzn-Errortype")
- if code == "" {
- code = jsonErr.Code
- }
-
- code = strings.SplitN(code, ":", 2)[0]
- r.Error = awserr.NewRequestFailure(
- awserr.New(code, jsonErr.Message, nil),
- r.HTTPResponse.StatusCode,
- r.RequestID,
- )
-}
-
-type jsonErrorResponse struct {
- Code string `json:"code"`
- Message string `json:"message"`
-}
diff --git a/agent/vendor/github.com/aws/aws-sdk-go/service/cloudwatch/api.go b/agent/vendor/github.com/aws/aws-sdk-go/service/cloudwatch/api.go
deleted file mode 100644
index 1c6b4ccda00..00000000000
--- a/agent/vendor/github.com/aws/aws-sdk-go/service/cloudwatch/api.go
+++ /dev/null
@@ -1,8380 +0,0 @@
-// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
-
-package cloudwatch
-
-import (
- "fmt"
- "time"
-
- "github.com/aws/aws-sdk-go/aws"
- "github.com/aws/aws-sdk-go/aws/awsutil"
- "github.com/aws/aws-sdk-go/aws/request"
- "github.com/aws/aws-sdk-go/private/protocol"
- "github.com/aws/aws-sdk-go/private/protocol/query"
-)
-
-const opDeleteAlarms = "DeleteAlarms"
-
-// DeleteAlarmsRequest generates a "aws/request.Request" representing the
-// client's request for the DeleteAlarms operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See DeleteAlarms for more information on using the DeleteAlarms
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the DeleteAlarmsRequest method.
-// req, resp := client.DeleteAlarmsRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DeleteAlarms
-func (c *CloudWatch) DeleteAlarmsRequest(input *DeleteAlarmsInput) (req *request.Request, output *DeleteAlarmsOutput) {
- op := &request.Operation{
- Name: opDeleteAlarms,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &DeleteAlarmsInput{}
- }
-
- output = &DeleteAlarmsOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// DeleteAlarms API operation for Amazon CloudWatch.
-//
-// Deletes the specified alarms. You can delete up to 50 alarms in one operation.
-// In the event of an error, no alarms are deleted.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for Amazon CloudWatch's
-// API operation DeleteAlarms for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeResourceNotFound "ResourceNotFound"
-// The named resource does not exist.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DeleteAlarms
-func (c *CloudWatch) DeleteAlarms(input *DeleteAlarmsInput) (*DeleteAlarmsOutput, error) {
- req, out := c.DeleteAlarmsRequest(input)
- return out, req.Send()
-}
-
-// DeleteAlarmsWithContext is the same as DeleteAlarms with the addition of
-// the ability to pass a context and additional request options.
-//
-// See DeleteAlarms for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *CloudWatch) DeleteAlarmsWithContext(ctx aws.Context, input *DeleteAlarmsInput, opts ...request.Option) (*DeleteAlarmsOutput, error) {
- req, out := c.DeleteAlarmsRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opDeleteAnomalyDetector = "DeleteAnomalyDetector"
-
-// DeleteAnomalyDetectorRequest generates a "aws/request.Request" representing the
-// client's request for the DeleteAnomalyDetector operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See DeleteAnomalyDetector for more information on using the DeleteAnomalyDetector
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the DeleteAnomalyDetectorRequest method.
-// req, resp := client.DeleteAnomalyDetectorRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DeleteAnomalyDetector
-func (c *CloudWatch) DeleteAnomalyDetectorRequest(input *DeleteAnomalyDetectorInput) (req *request.Request, output *DeleteAnomalyDetectorOutput) {
- op := &request.Operation{
- Name: opDeleteAnomalyDetector,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &DeleteAnomalyDetectorInput{}
- }
-
- output = &DeleteAnomalyDetectorOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// DeleteAnomalyDetector API operation for Amazon CloudWatch.
-//
-// Deletes the specified anomaly detection model from your account.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for Amazon CloudWatch's
-// API operation DeleteAnomalyDetector for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeResourceNotFoundException "ResourceNotFoundException"
-// The named resource does not exist.
-//
-// * ErrCodeInternalServiceFault "InternalServiceError"
-// Request processing has failed due to some unknown error, exception, or failure.
-//
-// * ErrCodeInvalidParameterValueException "InvalidParameterValue"
-// The value of an input parameter is bad or out-of-range.
-//
-// * ErrCodeMissingRequiredParameterException "MissingParameter"
-// An input parameter that is required is missing.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DeleteAnomalyDetector
-func (c *CloudWatch) DeleteAnomalyDetector(input *DeleteAnomalyDetectorInput) (*DeleteAnomalyDetectorOutput, error) {
- req, out := c.DeleteAnomalyDetectorRequest(input)
- return out, req.Send()
-}
-
-// DeleteAnomalyDetectorWithContext is the same as DeleteAnomalyDetector with the addition of
-// the ability to pass a context and additional request options.
-//
-// See DeleteAnomalyDetector for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *CloudWatch) DeleteAnomalyDetectorWithContext(ctx aws.Context, input *DeleteAnomalyDetectorInput, opts ...request.Option) (*DeleteAnomalyDetectorOutput, error) {
- req, out := c.DeleteAnomalyDetectorRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opDeleteDashboards = "DeleteDashboards"
-
-// DeleteDashboardsRequest generates a "aws/request.Request" representing the
-// client's request for the DeleteDashboards operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See DeleteDashboards for more information on using the DeleteDashboards
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the DeleteDashboardsRequest method.
-// req, resp := client.DeleteDashboardsRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DeleteDashboards
-func (c *CloudWatch) DeleteDashboardsRequest(input *DeleteDashboardsInput) (req *request.Request, output *DeleteDashboardsOutput) {
- op := &request.Operation{
- Name: opDeleteDashboards,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &DeleteDashboardsInput{}
- }
-
- output = &DeleteDashboardsOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// DeleteDashboards API operation for Amazon CloudWatch.
-//
-// Deletes all dashboards that you specify. You may specify up to 100 dashboards
-// to delete. If there is an error during this call, no dashboards are deleted.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for Amazon CloudWatch's
-// API operation DeleteDashboards for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeInvalidParameterValueException "InvalidParameterValue"
-// The value of an input parameter is bad or out-of-range.
-//
-// * ErrCodeDashboardNotFoundError "ResourceNotFound"
-// The specified dashboard does not exist.
-//
-// * ErrCodeInternalServiceFault "InternalServiceError"
-// Request processing has failed due to some unknown error, exception, or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DeleteDashboards
-func (c *CloudWatch) DeleteDashboards(input *DeleteDashboardsInput) (*DeleteDashboardsOutput, error) {
- req, out := c.DeleteDashboardsRequest(input)
- return out, req.Send()
-}
-
-// DeleteDashboardsWithContext is the same as DeleteDashboards with the addition of
-// the ability to pass a context and additional request options.
-//
-// See DeleteDashboards for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *CloudWatch) DeleteDashboardsWithContext(ctx aws.Context, input *DeleteDashboardsInput, opts ...request.Option) (*DeleteDashboardsOutput, error) {
- req, out := c.DeleteDashboardsRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opDeleteInsightRules = "DeleteInsightRules"
-
-// DeleteInsightRulesRequest generates a "aws/request.Request" representing the
-// client's request for the DeleteInsightRules operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See DeleteInsightRules for more information on using the DeleteInsightRules
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the DeleteInsightRulesRequest method.
-// req, resp := client.DeleteInsightRulesRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DeleteInsightRules
-func (c *CloudWatch) DeleteInsightRulesRequest(input *DeleteInsightRulesInput) (req *request.Request, output *DeleteInsightRulesOutput) {
- op := &request.Operation{
- Name: opDeleteInsightRules,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &DeleteInsightRulesInput{}
- }
-
- output = &DeleteInsightRulesOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// DeleteInsightRules API operation for Amazon CloudWatch.
-//
-// Permanently deletes the specified Contributor Insights rules.
-//
-// If you create a rule, delete it, and then re-create it with the same name,
-// historical data from the first time the rule was created may or may not be
-// available.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for Amazon CloudWatch's
-// API operation DeleteInsightRules for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeInvalidParameterValueException "InvalidParameterValue"
-// The value of an input parameter is bad or out-of-range.
-//
-// * ErrCodeMissingRequiredParameterException "MissingParameter"
-// An input parameter that is required is missing.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DeleteInsightRules
-func (c *CloudWatch) DeleteInsightRules(input *DeleteInsightRulesInput) (*DeleteInsightRulesOutput, error) {
- req, out := c.DeleteInsightRulesRequest(input)
- return out, req.Send()
-}
-
-// DeleteInsightRulesWithContext is the same as DeleteInsightRules with the addition of
-// the ability to pass a context and additional request options.
-//
-// See DeleteInsightRules for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *CloudWatch) DeleteInsightRulesWithContext(ctx aws.Context, input *DeleteInsightRulesInput, opts ...request.Option) (*DeleteInsightRulesOutput, error) {
- req, out := c.DeleteInsightRulesRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opDescribeAlarmHistory = "DescribeAlarmHistory"
-
-// DescribeAlarmHistoryRequest generates a "aws/request.Request" representing the
-// client's request for the DescribeAlarmHistory operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See DescribeAlarmHistory for more information on using the DescribeAlarmHistory
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the DescribeAlarmHistoryRequest method.
-// req, resp := client.DescribeAlarmHistoryRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DescribeAlarmHistory
-func (c *CloudWatch) DescribeAlarmHistoryRequest(input *DescribeAlarmHistoryInput) (req *request.Request, output *DescribeAlarmHistoryOutput) {
- op := &request.Operation{
- Name: opDescribeAlarmHistory,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"NextToken"},
- OutputTokens: []string{"NextToken"},
- LimitToken: "MaxRecords",
- TruncationToken: "",
- },
- }
-
- if input == nil {
- input = &DescribeAlarmHistoryInput{}
- }
-
- output = &DescribeAlarmHistoryOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// DescribeAlarmHistory API operation for Amazon CloudWatch.
-//
-// Retrieves the history for the specified alarm. You can filter the results
-// by date range or item type. If an alarm name is not specified, the histories
-// for all alarms are returned.
-//
-// CloudWatch retains the history of an alarm even if you delete the alarm.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for Amazon CloudWatch's
-// API operation DescribeAlarmHistory for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeInvalidNextToken "InvalidNextToken"
-// The next token specified is invalid.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DescribeAlarmHistory
-func (c *CloudWatch) DescribeAlarmHistory(input *DescribeAlarmHistoryInput) (*DescribeAlarmHistoryOutput, error) {
- req, out := c.DescribeAlarmHistoryRequest(input)
- return out, req.Send()
-}
-
-// DescribeAlarmHistoryWithContext is the same as DescribeAlarmHistory with the addition of
-// the ability to pass a context and additional request options.
-//
-// See DescribeAlarmHistory for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *CloudWatch) DescribeAlarmHistoryWithContext(ctx aws.Context, input *DescribeAlarmHistoryInput, opts ...request.Option) (*DescribeAlarmHistoryOutput, error) {
- req, out := c.DescribeAlarmHistoryRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-// DescribeAlarmHistoryPages iterates over the pages of a DescribeAlarmHistory operation,
-// calling the "fn" function with the response data for each page. To stop
-// iterating, return false from the fn function.
-//
-// See DescribeAlarmHistory method for more information on how to use this operation.
-//
-// Note: This operation can generate multiple requests to a service.
-//
-// // Example iterating over at most 3 pages of a DescribeAlarmHistory operation.
-// pageNum := 0
-// err := client.DescribeAlarmHistoryPages(params,
-// func(page *cloudwatch.DescribeAlarmHistoryOutput, lastPage bool) bool {
-// pageNum++
-// fmt.Println(page)
-// return pageNum <= 3
-// })
-//
-func (c *CloudWatch) DescribeAlarmHistoryPages(input *DescribeAlarmHistoryInput, fn func(*DescribeAlarmHistoryOutput, bool) bool) error {
- return c.DescribeAlarmHistoryPagesWithContext(aws.BackgroundContext(), input, fn)
-}
-
-// DescribeAlarmHistoryPagesWithContext same as DescribeAlarmHistoryPages except
-// it takes a Context and allows setting request options on the pages.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *CloudWatch) DescribeAlarmHistoryPagesWithContext(ctx aws.Context, input *DescribeAlarmHistoryInput, fn func(*DescribeAlarmHistoryOutput, bool) bool, opts ...request.Option) error {
- p := request.Pagination{
- NewRequest: func() (*request.Request, error) {
- var inCpy *DescribeAlarmHistoryInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.DescribeAlarmHistoryRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
-
- for p.Next() {
- if !fn(p.Page().(*DescribeAlarmHistoryOutput), !p.HasNextPage()) {
- break
- }
- }
-
- return p.Err()
-}
-
-const opDescribeAlarms = "DescribeAlarms"
-
-// DescribeAlarmsRequest generates a "aws/request.Request" representing the
-// client's request for the DescribeAlarms operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See DescribeAlarms for more information on using the DescribeAlarms
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the DescribeAlarmsRequest method.
-// req, resp := client.DescribeAlarmsRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DescribeAlarms
-func (c *CloudWatch) DescribeAlarmsRequest(input *DescribeAlarmsInput) (req *request.Request, output *DescribeAlarmsOutput) {
- op := &request.Operation{
- Name: opDescribeAlarms,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"NextToken"},
- OutputTokens: []string{"NextToken"},
- LimitToken: "MaxRecords",
- TruncationToken: "",
- },
- }
-
- if input == nil {
- input = &DescribeAlarmsInput{}
- }
-
- output = &DescribeAlarmsOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// DescribeAlarms API operation for Amazon CloudWatch.
-//
-// Retrieves the specified alarms. If no alarms are specified, all alarms are
-// returned. Alarms can be retrieved by using only a prefix for the alarm name,
-// the alarm state, or a prefix for any action.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for Amazon CloudWatch's
-// API operation DescribeAlarms for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeInvalidNextToken "InvalidNextToken"
-// The next token specified is invalid.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DescribeAlarms
-func (c *CloudWatch) DescribeAlarms(input *DescribeAlarmsInput) (*DescribeAlarmsOutput, error) {
- req, out := c.DescribeAlarmsRequest(input)
- return out, req.Send()
-}
-
-// DescribeAlarmsWithContext is the same as DescribeAlarms with the addition of
-// the ability to pass a context and additional request options.
-//
-// See DescribeAlarms for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *CloudWatch) DescribeAlarmsWithContext(ctx aws.Context, input *DescribeAlarmsInput, opts ...request.Option) (*DescribeAlarmsOutput, error) {
- req, out := c.DescribeAlarmsRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-// DescribeAlarmsPages iterates over the pages of a DescribeAlarms operation,
-// calling the "fn" function with the response data for each page. To stop
-// iterating, return false from the fn function.
-//
-// See DescribeAlarms method for more information on how to use this operation.
-//
-// Note: This operation can generate multiple requests to a service.
-//
-// // Example iterating over at most 3 pages of a DescribeAlarms operation.
-// pageNum := 0
-// err := client.DescribeAlarmsPages(params,
-// func(page *cloudwatch.DescribeAlarmsOutput, lastPage bool) bool {
-// pageNum++
-// fmt.Println(page)
-// return pageNum <= 3
-// })
-//
-func (c *CloudWatch) DescribeAlarmsPages(input *DescribeAlarmsInput, fn func(*DescribeAlarmsOutput, bool) bool) error {
- return c.DescribeAlarmsPagesWithContext(aws.BackgroundContext(), input, fn)
-}
-
-// DescribeAlarmsPagesWithContext same as DescribeAlarmsPages except
-// it takes a Context and allows setting request options on the pages.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *CloudWatch) DescribeAlarmsPagesWithContext(ctx aws.Context, input *DescribeAlarmsInput, fn func(*DescribeAlarmsOutput, bool) bool, opts ...request.Option) error {
- p := request.Pagination{
- NewRequest: func() (*request.Request, error) {
- var inCpy *DescribeAlarmsInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.DescribeAlarmsRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
-
- for p.Next() {
- if !fn(p.Page().(*DescribeAlarmsOutput), !p.HasNextPage()) {
- break
- }
- }
-
- return p.Err()
-}
-
-const opDescribeAlarmsForMetric = "DescribeAlarmsForMetric"
-
-// DescribeAlarmsForMetricRequest generates a "aws/request.Request" representing the
-// client's request for the DescribeAlarmsForMetric operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See DescribeAlarmsForMetric for more information on using the DescribeAlarmsForMetric
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the DescribeAlarmsForMetricRequest method.
-// req, resp := client.DescribeAlarmsForMetricRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DescribeAlarmsForMetric
-func (c *CloudWatch) DescribeAlarmsForMetricRequest(input *DescribeAlarmsForMetricInput) (req *request.Request, output *DescribeAlarmsForMetricOutput) {
- op := &request.Operation{
- Name: opDescribeAlarmsForMetric,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &DescribeAlarmsForMetricInput{}
- }
-
- output = &DescribeAlarmsForMetricOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// DescribeAlarmsForMetric API operation for Amazon CloudWatch.
-//
-// Retrieves the alarms for the specified metric. To filter the results, specify
-// a statistic, period, or unit.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for Amazon CloudWatch's
-// API operation DescribeAlarmsForMetric for usage and error information.
-// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DescribeAlarmsForMetric
-func (c *CloudWatch) DescribeAlarmsForMetric(input *DescribeAlarmsForMetricInput) (*DescribeAlarmsForMetricOutput, error) {
- req, out := c.DescribeAlarmsForMetricRequest(input)
- return out, req.Send()
-}
-
-// DescribeAlarmsForMetricWithContext is the same as DescribeAlarmsForMetric with the addition of
-// the ability to pass a context and additional request options.
-//
-// See DescribeAlarmsForMetric for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *CloudWatch) DescribeAlarmsForMetricWithContext(ctx aws.Context, input *DescribeAlarmsForMetricInput, opts ...request.Option) (*DescribeAlarmsForMetricOutput, error) {
- req, out := c.DescribeAlarmsForMetricRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opDescribeAnomalyDetectors = "DescribeAnomalyDetectors"
-
-// DescribeAnomalyDetectorsRequest generates a "aws/request.Request" representing the
-// client's request for the DescribeAnomalyDetectors operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See DescribeAnomalyDetectors for more information on using the DescribeAnomalyDetectors
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the DescribeAnomalyDetectorsRequest method.
-// req, resp := client.DescribeAnomalyDetectorsRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DescribeAnomalyDetectors
-func (c *CloudWatch) DescribeAnomalyDetectorsRequest(input *DescribeAnomalyDetectorsInput) (req *request.Request, output *DescribeAnomalyDetectorsOutput) {
- op := &request.Operation{
- Name: opDescribeAnomalyDetectors,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &DescribeAnomalyDetectorsInput{}
- }
-
- output = &DescribeAnomalyDetectorsOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// DescribeAnomalyDetectors API operation for Amazon CloudWatch.
-//
-// Lists the anomaly detection models that you have created in your account.
-// You can list all models in your account or filter the results to only the
-// models that are related to a certain namespace, metric name, or metric dimension.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for Amazon CloudWatch's
-// API operation DescribeAnomalyDetectors for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeInvalidNextToken "InvalidNextToken"
-// The next token specified is invalid.
-//
-// * ErrCodeInternalServiceFault "InternalServiceError"
-// Request processing has failed due to some unknown error, exception, or failure.
-//
-// * ErrCodeInvalidParameterValueException "InvalidParameterValue"
-// The value of an input parameter is bad or out-of-range.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DescribeAnomalyDetectors
-func (c *CloudWatch) DescribeAnomalyDetectors(input *DescribeAnomalyDetectorsInput) (*DescribeAnomalyDetectorsOutput, error) {
- req, out := c.DescribeAnomalyDetectorsRequest(input)
- return out, req.Send()
-}
-
-// DescribeAnomalyDetectorsWithContext is the same as DescribeAnomalyDetectors with the addition of
-// the ability to pass a context and additional request options.
-//
-// See DescribeAnomalyDetectors for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *CloudWatch) DescribeAnomalyDetectorsWithContext(ctx aws.Context, input *DescribeAnomalyDetectorsInput, opts ...request.Option) (*DescribeAnomalyDetectorsOutput, error) {
- req, out := c.DescribeAnomalyDetectorsRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opDescribeInsightRules = "DescribeInsightRules"
-
-// DescribeInsightRulesRequest generates a "aws/request.Request" representing the
-// client's request for the DescribeInsightRules operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See DescribeInsightRules for more information on using the DescribeInsightRules
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the DescribeInsightRulesRequest method.
-// req, resp := client.DescribeInsightRulesRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DescribeInsightRules
-func (c *CloudWatch) DescribeInsightRulesRequest(input *DescribeInsightRulesInput) (req *request.Request, output *DescribeInsightRulesOutput) {
- op := &request.Operation{
- Name: opDescribeInsightRules,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"NextToken"},
- OutputTokens: []string{"NextToken"},
- LimitToken: "MaxResults",
- TruncationToken: "",
- },
- }
-
- if input == nil {
- input = &DescribeInsightRulesInput{}
- }
-
- output = &DescribeInsightRulesOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// DescribeInsightRules API operation for Amazon CloudWatch.
-//
-// Returns a list of all the Contributor Insights rules in your account. All
-// rules in your account are returned with a single operation.
-//
-// For more information about Contributor Insights, see Using Contributor Insights
-// to Analyze High-Cardinality Data (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContributorInsights.html).
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for Amazon CloudWatch's
-// API operation DescribeInsightRules for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeInvalidNextToken "InvalidNextToken"
-// The next token specified is invalid.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DescribeInsightRules
-func (c *CloudWatch) DescribeInsightRules(input *DescribeInsightRulesInput) (*DescribeInsightRulesOutput, error) {
- req, out := c.DescribeInsightRulesRequest(input)
- return out, req.Send()
-}
-
-// DescribeInsightRulesWithContext is the same as DescribeInsightRules with the addition of
-// the ability to pass a context and additional request options.
-//
-// See DescribeInsightRules for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *CloudWatch) DescribeInsightRulesWithContext(ctx aws.Context, input *DescribeInsightRulesInput, opts ...request.Option) (*DescribeInsightRulesOutput, error) {
- req, out := c.DescribeInsightRulesRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-// DescribeInsightRulesPages iterates over the pages of a DescribeInsightRules operation,
-// calling the "fn" function with the response data for each page. To stop
-// iterating, return false from the fn function.
-//
-// See DescribeInsightRules method for more information on how to use this operation.
-//
-// Note: This operation can generate multiple requests to a service.
-//
-// // Example iterating over at most 3 pages of a DescribeInsightRules operation.
-// pageNum := 0
-// err := client.DescribeInsightRulesPages(params,
-// func(page *cloudwatch.DescribeInsightRulesOutput, lastPage bool) bool {
-// pageNum++
-// fmt.Println(page)
-// return pageNum <= 3
-// })
-//
-func (c *CloudWatch) DescribeInsightRulesPages(input *DescribeInsightRulesInput, fn func(*DescribeInsightRulesOutput, bool) bool) error {
- return c.DescribeInsightRulesPagesWithContext(aws.BackgroundContext(), input, fn)
-}
-
-// DescribeInsightRulesPagesWithContext same as DescribeInsightRulesPages except
-// it takes a Context and allows setting request options on the pages.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *CloudWatch) DescribeInsightRulesPagesWithContext(ctx aws.Context, input *DescribeInsightRulesInput, fn func(*DescribeInsightRulesOutput, bool) bool, opts ...request.Option) error {
- p := request.Pagination{
- NewRequest: func() (*request.Request, error) {
- var inCpy *DescribeInsightRulesInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.DescribeInsightRulesRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
-
- for p.Next() {
- if !fn(p.Page().(*DescribeInsightRulesOutput), !p.HasNextPage()) {
- break
- }
- }
-
- return p.Err()
-}
-
-const opDisableAlarmActions = "DisableAlarmActions"
-
-// DisableAlarmActionsRequest generates a "aws/request.Request" representing the
-// client's request for the DisableAlarmActions operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See DisableAlarmActions for more information on using the DisableAlarmActions
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the DisableAlarmActionsRequest method.
-// req, resp := client.DisableAlarmActionsRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DisableAlarmActions
-func (c *CloudWatch) DisableAlarmActionsRequest(input *DisableAlarmActionsInput) (req *request.Request, output *DisableAlarmActionsOutput) {
- op := &request.Operation{
- Name: opDisableAlarmActions,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &DisableAlarmActionsInput{}
- }
-
- output = &DisableAlarmActionsOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// DisableAlarmActions API operation for Amazon CloudWatch.
-//
-// Disables the actions for the specified alarms. When an alarm's actions are
-// disabled, the alarm actions do not execute when the alarm state changes.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for Amazon CloudWatch's
-// API operation DisableAlarmActions for usage and error information.
-// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DisableAlarmActions
-func (c *CloudWatch) DisableAlarmActions(input *DisableAlarmActionsInput) (*DisableAlarmActionsOutput, error) {
- req, out := c.DisableAlarmActionsRequest(input)
- return out, req.Send()
-}
-
-// DisableAlarmActionsWithContext is the same as DisableAlarmActions with the addition of
-// the ability to pass a context and additional request options.
-//
-// See DisableAlarmActions for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *CloudWatch) DisableAlarmActionsWithContext(ctx aws.Context, input *DisableAlarmActionsInput, opts ...request.Option) (*DisableAlarmActionsOutput, error) {
- req, out := c.DisableAlarmActionsRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opDisableInsightRules = "DisableInsightRules"
-
-// DisableInsightRulesRequest generates a "aws/request.Request" representing the
-// client's request for the DisableInsightRules operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See DisableInsightRules for more information on using the DisableInsightRules
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the DisableInsightRulesRequest method.
-// req, resp := client.DisableInsightRulesRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DisableInsightRules
-func (c *CloudWatch) DisableInsightRulesRequest(input *DisableInsightRulesInput) (req *request.Request, output *DisableInsightRulesOutput) {
- op := &request.Operation{
- Name: opDisableInsightRules,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &DisableInsightRulesInput{}
- }
-
- output = &DisableInsightRulesOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// DisableInsightRules API operation for Amazon CloudWatch.
-//
-// Disables the specified Contributor Insights rules. When rules are disabled,
-// they do not analyze log groups and do not incur costs.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for Amazon CloudWatch's
-// API operation DisableInsightRules for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeInvalidParameterValueException "InvalidParameterValue"
-// The value of an input parameter is bad or out-of-range.
-//
-// * ErrCodeMissingRequiredParameterException "MissingParameter"
-// An input parameter that is required is missing.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DisableInsightRules
-func (c *CloudWatch) DisableInsightRules(input *DisableInsightRulesInput) (*DisableInsightRulesOutput, error) {
- req, out := c.DisableInsightRulesRequest(input)
- return out, req.Send()
-}
-
-// DisableInsightRulesWithContext is the same as DisableInsightRules with the addition of
-// the ability to pass a context and additional request options.
-//
-// See DisableInsightRules for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *CloudWatch) DisableInsightRulesWithContext(ctx aws.Context, input *DisableInsightRulesInput, opts ...request.Option) (*DisableInsightRulesOutput, error) {
- req, out := c.DisableInsightRulesRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opEnableAlarmActions = "EnableAlarmActions"
-
-// EnableAlarmActionsRequest generates a "aws/request.Request" representing the
-// client's request for the EnableAlarmActions operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See EnableAlarmActions for more information on using the EnableAlarmActions
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the EnableAlarmActionsRequest method.
-// req, resp := client.EnableAlarmActionsRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/EnableAlarmActions
-func (c *CloudWatch) EnableAlarmActionsRequest(input *EnableAlarmActionsInput) (req *request.Request, output *EnableAlarmActionsOutput) {
- op := &request.Operation{
- Name: opEnableAlarmActions,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &EnableAlarmActionsInput{}
- }
-
- output = &EnableAlarmActionsOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// EnableAlarmActions API operation for Amazon CloudWatch.
-//
-// Enables the actions for the specified alarms.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for Amazon CloudWatch's
-// API operation EnableAlarmActions for usage and error information.
-// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/EnableAlarmActions
-func (c *CloudWatch) EnableAlarmActions(input *EnableAlarmActionsInput) (*EnableAlarmActionsOutput, error) {
- req, out := c.EnableAlarmActionsRequest(input)
- return out, req.Send()
-}
-
-// EnableAlarmActionsWithContext is the same as EnableAlarmActions with the addition of
-// the ability to pass a context and additional request options.
-//
-// See EnableAlarmActions for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *CloudWatch) EnableAlarmActionsWithContext(ctx aws.Context, input *EnableAlarmActionsInput, opts ...request.Option) (*EnableAlarmActionsOutput, error) {
- req, out := c.EnableAlarmActionsRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opEnableInsightRules = "EnableInsightRules"
-
-// EnableInsightRulesRequest generates a "aws/request.Request" representing the
-// client's request for the EnableInsightRules operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See EnableInsightRules for more information on using the EnableInsightRules
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the EnableInsightRulesRequest method.
-// req, resp := client.EnableInsightRulesRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/EnableInsightRules
-func (c *CloudWatch) EnableInsightRulesRequest(input *EnableInsightRulesInput) (req *request.Request, output *EnableInsightRulesOutput) {
- op := &request.Operation{
- Name: opEnableInsightRules,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &EnableInsightRulesInput{}
- }
-
- output = &EnableInsightRulesOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// EnableInsightRules API operation for Amazon CloudWatch.
-//
-// Enables the specified Contributor Insights rules. When rules are enabled,
-// they immediately begin analyzing log data.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for Amazon CloudWatch's
-// API operation EnableInsightRules for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeInvalidParameterValueException "InvalidParameterValue"
-// The value of an input parameter is bad or out-of-range.
-//
-// * ErrCodeMissingRequiredParameterException "MissingParameter"
-// An input parameter that is required is missing.
-//
-// * ErrCodeLimitExceededException "LimitExceededException"
-// The operation exceeded one or more limits.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/EnableInsightRules
-func (c *CloudWatch) EnableInsightRules(input *EnableInsightRulesInput) (*EnableInsightRulesOutput, error) {
- req, out := c.EnableInsightRulesRequest(input)
- return out, req.Send()
-}
-
-// EnableInsightRulesWithContext is the same as EnableInsightRules with the addition of
-// the ability to pass a context and additional request options.
-//
-// See EnableInsightRules for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *CloudWatch) EnableInsightRulesWithContext(ctx aws.Context, input *EnableInsightRulesInput, opts ...request.Option) (*EnableInsightRulesOutput, error) {
- req, out := c.EnableInsightRulesRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opGetDashboard = "GetDashboard"
-
-// GetDashboardRequest generates a "aws/request.Request" representing the
-// client's request for the GetDashboard operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See GetDashboard for more information on using the GetDashboard
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the GetDashboardRequest method.
-// req, resp := client.GetDashboardRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/GetDashboard
-func (c *CloudWatch) GetDashboardRequest(input *GetDashboardInput) (req *request.Request, output *GetDashboardOutput) {
- op := &request.Operation{
- Name: opGetDashboard,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &GetDashboardInput{}
- }
-
- output = &GetDashboardOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// GetDashboard API operation for Amazon CloudWatch.
-//
-// Displays the details of the dashboard that you specify.
-//
-// To copy an existing dashboard, use GetDashboard, and then use the data returned
-// within DashboardBody as the template for the new dashboard when you call
-// PutDashboard to create the copy.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for Amazon CloudWatch's
-// API operation GetDashboard for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeInvalidParameterValueException "InvalidParameterValue"
-// The value of an input parameter is bad or out-of-range.
-//
-// * ErrCodeDashboardNotFoundError "ResourceNotFound"
-// The specified dashboard does not exist.
-//
-// * ErrCodeInternalServiceFault "InternalServiceError"
-// Request processing has failed due to some unknown error, exception, or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/GetDashboard
-func (c *CloudWatch) GetDashboard(input *GetDashboardInput) (*GetDashboardOutput, error) {
- req, out := c.GetDashboardRequest(input)
- return out, req.Send()
-}
-
-// GetDashboardWithContext is the same as GetDashboard with the addition of
-// the ability to pass a context and additional request options.
-//
-// See GetDashboard for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *CloudWatch) GetDashboardWithContext(ctx aws.Context, input *GetDashboardInput, opts ...request.Option) (*GetDashboardOutput, error) {
- req, out := c.GetDashboardRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opGetInsightRuleReport = "GetInsightRuleReport"
-
-// GetInsightRuleReportRequest generates a "aws/request.Request" representing the
-// client's request for the GetInsightRuleReport operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See GetInsightRuleReport for more information on using the GetInsightRuleReport
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the GetInsightRuleReportRequest method.
-// req, resp := client.GetInsightRuleReportRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/GetInsightRuleReport
-func (c *CloudWatch) GetInsightRuleReportRequest(input *GetInsightRuleReportInput) (req *request.Request, output *GetInsightRuleReportOutput) {
- op := &request.Operation{
- Name: opGetInsightRuleReport,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &GetInsightRuleReportInput{}
- }
-
- output = &GetInsightRuleReportOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// GetInsightRuleReport API operation for Amazon CloudWatch.
-//
-// This operation returns the time series data collected by a Contributor Insights
-// rule. The data includes the identity and number of contributors to the log
-// group.
-//
-// You can also optionally return one or more statistics about each data point
-// in the time series. These statistics can include the following:
-//
-// * UniqueContributors -- the number of unique contributors for each data
-// point.
-//
-// * MaxContributorValue -- the value of the top contributor for each data
-// point. The identity of the contributor may change for each data point
-// in the graph. If this rule aggregates by COUNT, the top contributor for
-// each data point is the contributor with the most occurrences in that period.
-// If the rule aggregates by SUM, the top contributor is the contributor
-// with the highest sum in the log field specified by the rule's Value, during
-// that period.
-//
-// * SampleCount -- the number of data points matched by the rule.
-//
-// * Sum -- the sum of the values from all contributors during the time period
-// represented by that data point.
-//
-// * Minimum -- the minimum value from a single observation during the time
-// period represented by that data point.
-//
-// * Maximum -- the maximum value from a single observation during the time
-// period represented by that data point.
-//
-// * Average -- the average value from all contributors during the time period
-// represented by that data point.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for Amazon CloudWatch's
-// API operation GetInsightRuleReport for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeInvalidParameterValueException "InvalidParameterValue"
-// The value of an input parameter is bad or out-of-range.
-//
-// * ErrCodeMissingRequiredParameterException "MissingParameter"
-// An input parameter that is required is missing.
-//
-// * ErrCodeResourceNotFoundException "ResourceNotFoundException"
-// The named resource does not exist.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/GetInsightRuleReport
-func (c *CloudWatch) GetInsightRuleReport(input *GetInsightRuleReportInput) (*GetInsightRuleReportOutput, error) {
- req, out := c.GetInsightRuleReportRequest(input)
- return out, req.Send()
-}
-
-// GetInsightRuleReportWithContext is the same as GetInsightRuleReport with the addition of
-// the ability to pass a context and additional request options.
-//
-// See GetInsightRuleReport for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *CloudWatch) GetInsightRuleReportWithContext(ctx aws.Context, input *GetInsightRuleReportInput, opts ...request.Option) (*GetInsightRuleReportOutput, error) {
- req, out := c.GetInsightRuleReportRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opGetMetricData = "GetMetricData"
-
-// GetMetricDataRequest generates a "aws/request.Request" representing the
-// client's request for the GetMetricData operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See GetMetricData for more information on using the GetMetricData
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the GetMetricDataRequest method.
-// req, resp := client.GetMetricDataRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/GetMetricData
-func (c *CloudWatch) GetMetricDataRequest(input *GetMetricDataInput) (req *request.Request, output *GetMetricDataOutput) {
- op := &request.Operation{
- Name: opGetMetricData,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"NextToken"},
- OutputTokens: []string{"NextToken"},
- LimitToken: "MaxDatapoints",
- TruncationToken: "",
- },
- }
-
- if input == nil {
- input = &GetMetricDataInput{}
- }
-
- output = &GetMetricDataOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// GetMetricData API operation for Amazon CloudWatch.
-//
-// You can use the GetMetricData API to retrieve as many as 100 different metrics
-// in a single request, with a total of as many as 100,800 data points. You
-// can also optionally perform math expressions on the values of the returned
-// statistics, to create new time series that represent new insights into your
-// data. For example, using Lambda metrics, you could divide the Errors metric
-// by the Invocations metric to get an error rate time series. For more information
-// about metric math expressions, see Metric Math Syntax and Functions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html#metric-math-syntax)
-// in the Amazon CloudWatch User Guide.
-//
-// Calls to the GetMetricData API have a different pricing structure than calls
-// to GetMetricStatistics. For more information about pricing, see Amazon CloudWatch
-// Pricing (https://aws.amazon.com/cloudwatch/pricing/).
-//
-// Amazon CloudWatch retains metric data as follows:
-//
-// * Data points with a period of less than 60 seconds are available for
-// 3 hours. These data points are high-resolution metrics and are available
-// only for custom metrics that have been defined with a StorageResolution
-// of 1.
-//
-// * Data points with a period of 60 seconds (1-minute) are available for
-// 15 days.
-//
-// * Data points with a period of 300 seconds (5-minute) are available for
-// 63 days.
-//
-// * Data points with a period of 3600 seconds (1 hour) are available for
-// 455 days (15 months).
-//
-// Data points that are initially published with a shorter period are aggregated
-// together for long-term storage. For example, if you collect data using a
-// period of 1 minute, the data remains available for 15 days with 1-minute
-// resolution. After 15 days, this data is still available, but is aggregated
-// and retrievable only with a resolution of 5 minutes. After 63 days, the data
-// is further aggregated and is available with a resolution of 1 hour.
-//
-// If you omit Unit in your request, all data that was collected with any unit
-// is returned, along with the corresponding units that were specified when
-// the data was reported to CloudWatch. If you specify a unit, the operation
-// returns only data data that was collected with that unit specified. If you
-// specify a unit that does not match the data collected, the results of the
-// operation are null. CloudWatch does not perform unit conversions.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for Amazon CloudWatch's
-// API operation GetMetricData for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeInvalidNextToken "InvalidNextToken"
-// The next token specified is invalid.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/GetMetricData
-func (c *CloudWatch) GetMetricData(input *GetMetricDataInput) (*GetMetricDataOutput, error) {
- req, out := c.GetMetricDataRequest(input)
- return out, req.Send()
-}
-
-// GetMetricDataWithContext is the same as GetMetricData with the addition of
-// the ability to pass a context and additional request options.
-//
-// See GetMetricData for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *CloudWatch) GetMetricDataWithContext(ctx aws.Context, input *GetMetricDataInput, opts ...request.Option) (*GetMetricDataOutput, error) {
- req, out := c.GetMetricDataRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-// GetMetricDataPages iterates over the pages of a GetMetricData operation,
-// calling the "fn" function with the response data for each page. To stop
-// iterating, return false from the fn function.
-//
-// See GetMetricData method for more information on how to use this operation.
-//
-// Note: This operation can generate multiple requests to a service.
-//
-// // Example iterating over at most 3 pages of a GetMetricData operation.
-// pageNum := 0
-// err := client.GetMetricDataPages(params,
-// func(page *cloudwatch.GetMetricDataOutput, lastPage bool) bool {
-// pageNum++
-// fmt.Println(page)
-// return pageNum <= 3
-// })
-//
-func (c *CloudWatch) GetMetricDataPages(input *GetMetricDataInput, fn func(*GetMetricDataOutput, bool) bool) error {
- return c.GetMetricDataPagesWithContext(aws.BackgroundContext(), input, fn)
-}
-
-// GetMetricDataPagesWithContext same as GetMetricDataPages except
-// it takes a Context and allows setting request options on the pages.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *CloudWatch) GetMetricDataPagesWithContext(ctx aws.Context, input *GetMetricDataInput, fn func(*GetMetricDataOutput, bool) bool, opts ...request.Option) error {
- p := request.Pagination{
- NewRequest: func() (*request.Request, error) {
- var inCpy *GetMetricDataInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.GetMetricDataRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
-
- for p.Next() {
- if !fn(p.Page().(*GetMetricDataOutput), !p.HasNextPage()) {
- break
- }
- }
-
- return p.Err()
-}
-
-const opGetMetricStatistics = "GetMetricStatistics"
-
-// GetMetricStatisticsRequest generates a "aws/request.Request" representing the
-// client's request for the GetMetricStatistics operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See GetMetricStatistics for more information on using the GetMetricStatistics
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the GetMetricStatisticsRequest method.
-// req, resp := client.GetMetricStatisticsRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/GetMetricStatistics
-func (c *CloudWatch) GetMetricStatisticsRequest(input *GetMetricStatisticsInput) (req *request.Request, output *GetMetricStatisticsOutput) {
- op := &request.Operation{
- Name: opGetMetricStatistics,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &GetMetricStatisticsInput{}
- }
-
- output = &GetMetricStatisticsOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// GetMetricStatistics API operation for Amazon CloudWatch.
-//
-// Gets statistics for the specified metric.
-//
-// The maximum number of data points returned from a single call is 1,440. If
-// you request more than 1,440 data points, CloudWatch returns an error. To
-// reduce the number of data points, you can narrow the specified time range
-// and make multiple requests across adjacent time ranges, or you can increase
-// the specified period. Data points are not returned in chronological order.
-//
-// CloudWatch aggregates data points based on the length of the period that
-// you specify. For example, if you request statistics with a one-hour period,
-// CloudWatch aggregates all data points with time stamps that fall within each
-// one-hour period. Therefore, the number of values aggregated by CloudWatch
-// is larger than the number of data points returned.
-//
-// CloudWatch needs raw data points to calculate percentile statistics. If you
-// publish data using a statistic set instead, you can only retrieve percentile
-// statistics for this data if one of the following conditions is true:
-//
-// * The SampleCount value of the statistic set is 1.
-//
-// * The Min and the Max values of the statistic set are equal.
-//
-// Percentile statistics are not available for metrics when any of the metric
-// values are negative numbers.
-//
-// Amazon CloudWatch retains metric data as follows:
-//
-// * Data points with a period of less than 60 seconds are available for
-// 3 hours. These data points are high-resolution metrics and are available
-// only for custom metrics that have been defined with a StorageResolution
-// of 1.
-//
-// * Data points with a period of 60 seconds (1-minute) are available for
-// 15 days.
-//
-// * Data points with a period of 300 seconds (5-minute) are available for
-// 63 days.
-//
-// * Data points with a period of 3600 seconds (1 hour) are available for
-// 455 days (15 months).
-//
-// Data points that are initially published with a shorter period are aggregated
-// together for long-term storage. For example, if you collect data using a
-// period of 1 minute, the data remains available for 15 days with 1-minute
-// resolution. After 15 days, this data is still available, but is aggregated
-// and retrievable only with a resolution of 5 minutes. After 63 days, the data
-// is further aggregated and is available with a resolution of 1 hour.
-//
-// CloudWatch started retaining 5-minute and 1-hour metric data as of July 9,
-// 2016.
-//
-// For information about metrics and dimensions supported by AWS services, see
-// the Amazon CloudWatch Metrics and Dimensions Reference (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CW_Support_For_AWS.html)
-// in the Amazon CloudWatch User Guide.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for Amazon CloudWatch's
-// API operation GetMetricStatistics for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeInvalidParameterValueException "InvalidParameterValue"
-// The value of an input parameter is bad or out-of-range.
-//
-// * ErrCodeMissingRequiredParameterException "MissingParameter"
-// An input parameter that is required is missing.
-//
-// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination"
-// Parameters were used together that cannot be used together.
-//
-// * ErrCodeInternalServiceFault "InternalServiceError"
-// Request processing has failed due to some unknown error, exception, or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/GetMetricStatistics
-func (c *CloudWatch) GetMetricStatistics(input *GetMetricStatisticsInput) (*GetMetricStatisticsOutput, error) {
- req, out := c.GetMetricStatisticsRequest(input)
- return out, req.Send()
-}
-
-// GetMetricStatisticsWithContext is the same as GetMetricStatistics with the addition of
-// the ability to pass a context and additional request options.
-//
-// See GetMetricStatistics for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *CloudWatch) GetMetricStatisticsWithContext(ctx aws.Context, input *GetMetricStatisticsInput, opts ...request.Option) (*GetMetricStatisticsOutput, error) {
- req, out := c.GetMetricStatisticsRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opGetMetricWidgetImage = "GetMetricWidgetImage"
-
-// GetMetricWidgetImageRequest generates a "aws/request.Request" representing the
-// client's request for the GetMetricWidgetImage operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See GetMetricWidgetImage for more information on using the GetMetricWidgetImage
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the GetMetricWidgetImageRequest method.
-// req, resp := client.GetMetricWidgetImageRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/GetMetricWidgetImage
-func (c *CloudWatch) GetMetricWidgetImageRequest(input *GetMetricWidgetImageInput) (req *request.Request, output *GetMetricWidgetImageOutput) {
- op := &request.Operation{
- Name: opGetMetricWidgetImage,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &GetMetricWidgetImageInput{}
- }
-
- output = &GetMetricWidgetImageOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// GetMetricWidgetImage API operation for Amazon CloudWatch.
-//
-// You can use the GetMetricWidgetImage API to retrieve a snapshot graph of
-// one or more Amazon CloudWatch metrics as a bitmap image. You can then embed
-// this image into your services and products, such as wiki pages, reports,
-// and documents. You could also retrieve images regularly, such as every minute,
-// and create your own custom live dashboard.
-//
-// The graph you retrieve can include all CloudWatch metric graph features,
-// including metric math and horizontal and vertical annotations.
-//
-// There is a limit of 20 transactions per second for this API. Each GetMetricWidgetImage
-// action has the following limits:
-//
-// * As many as 100 metrics in the graph.
-//
-// * Up to 100 KB uncompressed payload.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for Amazon CloudWatch's
-// API operation GetMetricWidgetImage for usage and error information.
-// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/GetMetricWidgetImage
-func (c *CloudWatch) GetMetricWidgetImage(input *GetMetricWidgetImageInput) (*GetMetricWidgetImageOutput, error) {
- req, out := c.GetMetricWidgetImageRequest(input)
- return out, req.Send()
-}
-
-// GetMetricWidgetImageWithContext is the same as GetMetricWidgetImage with the addition of
-// the ability to pass a context and additional request options.
-//
-// See GetMetricWidgetImage for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *CloudWatch) GetMetricWidgetImageWithContext(ctx aws.Context, input *GetMetricWidgetImageInput, opts ...request.Option) (*GetMetricWidgetImageOutput, error) {
- req, out := c.GetMetricWidgetImageRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opListDashboards = "ListDashboards"
-
-// ListDashboardsRequest generates a "aws/request.Request" representing the
-// client's request for the ListDashboards operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See ListDashboards for more information on using the ListDashboards
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the ListDashboardsRequest method.
-// req, resp := client.ListDashboardsRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/ListDashboards
-func (c *CloudWatch) ListDashboardsRequest(input *ListDashboardsInput) (req *request.Request, output *ListDashboardsOutput) {
- op := &request.Operation{
- Name: opListDashboards,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"NextToken"},
- OutputTokens: []string{"NextToken"},
- LimitToken: "",
- TruncationToken: "",
- },
- }
-
- if input == nil {
- input = &ListDashboardsInput{}
- }
-
- output = &ListDashboardsOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// ListDashboards API operation for Amazon CloudWatch.
-//
-// Returns a list of the dashboards for your account. If you include DashboardNamePrefix,
-// only those dashboards with names starting with the prefix are listed. Otherwise,
-// all dashboards in your account are listed.
-//
-// ListDashboards returns up to 1000 results on one page. If there are more
-// than 1000 dashboards, you can call ListDashboards again and include the value
-// you received for NextToken in the first call, to receive the next 1000 results.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for Amazon CloudWatch's
-// API operation ListDashboards for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeInvalidParameterValueException "InvalidParameterValue"
-// The value of an input parameter is bad or out-of-range.
-//
-// * ErrCodeInternalServiceFault "InternalServiceError"
-// Request processing has failed due to some unknown error, exception, or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/ListDashboards
-func (c *CloudWatch) ListDashboards(input *ListDashboardsInput) (*ListDashboardsOutput, error) {
- req, out := c.ListDashboardsRequest(input)
- return out, req.Send()
-}
-
-// ListDashboardsWithContext is the same as ListDashboards with the addition of
-// the ability to pass a context and additional request options.
-//
-// See ListDashboards for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *CloudWatch) ListDashboardsWithContext(ctx aws.Context, input *ListDashboardsInput, opts ...request.Option) (*ListDashboardsOutput, error) {
- req, out := c.ListDashboardsRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-// ListDashboardsPages iterates over the pages of a ListDashboards operation,
-// calling the "fn" function with the response data for each page. To stop
-// iterating, return false from the fn function.
-//
-// See ListDashboards method for more information on how to use this operation.
-//
-// Note: This operation can generate multiple requests to a service.
-//
-// // Example iterating over at most 3 pages of a ListDashboards operation.
-// pageNum := 0
-// err := client.ListDashboardsPages(params,
-// func(page *cloudwatch.ListDashboardsOutput, lastPage bool) bool {
-// pageNum++
-// fmt.Println(page)
-// return pageNum <= 3
-// })
-//
-func (c *CloudWatch) ListDashboardsPages(input *ListDashboardsInput, fn func(*ListDashboardsOutput, bool) bool) error {
- return c.ListDashboardsPagesWithContext(aws.BackgroundContext(), input, fn)
-}
-
-// ListDashboardsPagesWithContext same as ListDashboardsPages except
-// it takes a Context and allows setting request options on the pages.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *CloudWatch) ListDashboardsPagesWithContext(ctx aws.Context, input *ListDashboardsInput, fn func(*ListDashboardsOutput, bool) bool, opts ...request.Option) error {
- p := request.Pagination{
- NewRequest: func() (*request.Request, error) {
- var inCpy *ListDashboardsInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.ListDashboardsRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
-
- for p.Next() {
- if !fn(p.Page().(*ListDashboardsOutput), !p.HasNextPage()) {
- break
- }
- }
-
- return p.Err()
-}
-
-const opListMetrics = "ListMetrics"
-
-// ListMetricsRequest generates a "aws/request.Request" representing the
-// client's request for the ListMetrics operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See ListMetrics for more information on using the ListMetrics
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the ListMetricsRequest method.
-// req, resp := client.ListMetricsRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/ListMetrics
-func (c *CloudWatch) ListMetricsRequest(input *ListMetricsInput) (req *request.Request, output *ListMetricsOutput) {
- op := &request.Operation{
- Name: opListMetrics,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"NextToken"},
- OutputTokens: []string{"NextToken"},
- LimitToken: "",
- TruncationToken: "",
- },
- }
-
- if input == nil {
- input = &ListMetricsInput{}
- }
-
- output = &ListMetricsOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// ListMetrics API operation for Amazon CloudWatch.
-//
-// List the specified metrics. You can use the returned metrics with GetMetricData
-// or GetMetricStatistics to obtain statistical data.
-//
-// Up to 500 results are returned for any one call. To retrieve additional results,
-// use the returned token with subsequent calls.
-//
-// After you create a metric, allow up to fifteen minutes before the metric
-// appears. Statistics about the metric, however, are available sooner using
-// GetMetricData or GetMetricStatistics.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for Amazon CloudWatch's
-// API operation ListMetrics for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeInternalServiceFault "InternalServiceError"
-// Request processing has failed due to some unknown error, exception, or failure.
-//
-// * ErrCodeInvalidParameterValueException "InvalidParameterValue"
-// The value of an input parameter is bad or out-of-range.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/ListMetrics
-func (c *CloudWatch) ListMetrics(input *ListMetricsInput) (*ListMetricsOutput, error) {
- req, out := c.ListMetricsRequest(input)
- return out, req.Send()
-}
-
-// ListMetricsWithContext is the same as ListMetrics with the addition of
-// the ability to pass a context and additional request options.
-//
-// See ListMetrics for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *CloudWatch) ListMetricsWithContext(ctx aws.Context, input *ListMetricsInput, opts ...request.Option) (*ListMetricsOutput, error) {
- req, out := c.ListMetricsRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-// ListMetricsPages iterates over the pages of a ListMetrics operation,
-// calling the "fn" function with the response data for each page. To stop
-// iterating, return false from the fn function.
-//
-// See ListMetrics method for more information on how to use this operation.
-//
-// Note: This operation can generate multiple requests to a service.
-//
-// // Example iterating over at most 3 pages of a ListMetrics operation.
-// pageNum := 0
-// err := client.ListMetricsPages(params,
-// func(page *cloudwatch.ListMetricsOutput, lastPage bool) bool {
-// pageNum++
-// fmt.Println(page)
-// return pageNum <= 3
-// })
-//
-func (c *CloudWatch) ListMetricsPages(input *ListMetricsInput, fn func(*ListMetricsOutput, bool) bool) error {
- return c.ListMetricsPagesWithContext(aws.BackgroundContext(), input, fn)
-}
-
-// ListMetricsPagesWithContext same as ListMetricsPages except
-// it takes a Context and allows setting request options on the pages.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *CloudWatch) ListMetricsPagesWithContext(ctx aws.Context, input *ListMetricsInput, fn func(*ListMetricsOutput, bool) bool, opts ...request.Option) error {
- p := request.Pagination{
- NewRequest: func() (*request.Request, error) {
- var inCpy *ListMetricsInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.ListMetricsRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
-
- for p.Next() {
- if !fn(p.Page().(*ListMetricsOutput), !p.HasNextPage()) {
- break
- }
- }
-
- return p.Err()
-}
-
-const opListTagsForResource = "ListTagsForResource"
-
-// ListTagsForResourceRequest generates a "aws/request.Request" representing the
-// client's request for the ListTagsForResource operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See ListTagsForResource for more information on using the ListTagsForResource
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the ListTagsForResourceRequest method.
-// req, resp := client.ListTagsForResourceRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/ListTagsForResource
-func (c *CloudWatch) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
- op := &request.Operation{
- Name: opListTagsForResource,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &ListTagsForResourceInput{}
- }
-
- output = &ListTagsForResourceOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// ListTagsForResource API operation for Amazon CloudWatch.
-//
-// Displays the tags associated with a CloudWatch resource. Alarms support tagging.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for Amazon CloudWatch's
-// API operation ListTagsForResource for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeInvalidParameterValueException "InvalidParameterValue"
-// The value of an input parameter is bad or out-of-range.
-//
-// * ErrCodeResourceNotFoundException "ResourceNotFoundException"
-// The named resource does not exist.
-//
-// * ErrCodeInternalServiceFault "InternalServiceError"
-// Request processing has failed due to some unknown error, exception, or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/ListTagsForResource
-func (c *CloudWatch) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
- req, out := c.ListTagsForResourceRequest(input)
- return out, req.Send()
-}
-
-// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
-// the ability to pass a context and additional request options.
-//
-// See ListTagsForResource for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *CloudWatch) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
- req, out := c.ListTagsForResourceRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opPutAnomalyDetector = "PutAnomalyDetector"
-
-// PutAnomalyDetectorRequest generates a "aws/request.Request" representing the
-// client's request for the PutAnomalyDetector operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See PutAnomalyDetector for more information on using the PutAnomalyDetector
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the PutAnomalyDetectorRequest method.
-// req, resp := client.PutAnomalyDetectorRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/PutAnomalyDetector
-func (c *CloudWatch) PutAnomalyDetectorRequest(input *PutAnomalyDetectorInput) (req *request.Request, output *PutAnomalyDetectorOutput) {
- op := &request.Operation{
- Name: opPutAnomalyDetector,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &PutAnomalyDetectorInput{}
- }
-
- output = &PutAnomalyDetectorOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// PutAnomalyDetector API operation for Amazon CloudWatch.
-//
-// Creates an anomaly detection model for a CloudWatch metric. You can use the
-// model to display a band of expected normal values when the metric is graphed.
-//
-// For more information, see CloudWatch Anomaly Detection (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Anomaly_Detection.html).
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for Amazon CloudWatch's
-// API operation PutAnomalyDetector for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeLimitExceededException "LimitExceededException"
-// The operation exceeded one or more limits.
-//
-// * ErrCodeInternalServiceFault "InternalServiceError"
-// Request processing has failed due to some unknown error, exception, or failure.
-//
-// * ErrCodeInvalidParameterValueException "InvalidParameterValue"
-// The value of an input parameter is bad or out-of-range.
-//
-// * ErrCodeMissingRequiredParameterException "MissingParameter"
-// An input parameter that is required is missing.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/PutAnomalyDetector
-func (c *CloudWatch) PutAnomalyDetector(input *PutAnomalyDetectorInput) (*PutAnomalyDetectorOutput, error) {
- req, out := c.PutAnomalyDetectorRequest(input)
- return out, req.Send()
-}
-
-// PutAnomalyDetectorWithContext is the same as PutAnomalyDetector with the addition of
-// the ability to pass a context and additional request options.
-//
-// See PutAnomalyDetector for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *CloudWatch) PutAnomalyDetectorWithContext(ctx aws.Context, input *PutAnomalyDetectorInput, opts ...request.Option) (*PutAnomalyDetectorOutput, error) {
- req, out := c.PutAnomalyDetectorRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opPutDashboard = "PutDashboard"
-
-// PutDashboardRequest generates a "aws/request.Request" representing the
-// client's request for the PutDashboard operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See PutDashboard for more information on using the PutDashboard
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the PutDashboardRequest method.
-// req, resp := client.PutDashboardRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/PutDashboard
-func (c *CloudWatch) PutDashboardRequest(input *PutDashboardInput) (req *request.Request, output *PutDashboardOutput) {
- op := &request.Operation{
- Name: opPutDashboard,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &PutDashboardInput{}
- }
-
- output = &PutDashboardOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// PutDashboard API operation for Amazon CloudWatch.
-//
-// Creates a dashboard if it does not already exist, or updates an existing
-// dashboard. If you update a dashboard, the entire contents are replaced with
-// what you specify here.
-//
-// All dashboards in your account are global, not region-specific.
-//
-// A simple way to create a dashboard using PutDashboard is to copy an existing
-// dashboard. To copy an existing dashboard using the console, you can load
-// the dashboard and then use the View/edit source command in the Actions menu
-// to display the JSON block for that dashboard. Another way to copy a dashboard
-// is to use GetDashboard, and then use the data returned within DashboardBody
-// as the template for the new dashboard when you call PutDashboard.
-//
-// When you create a dashboard with PutDashboard, a good practice is to add
-// a text widget at the top of the dashboard with a message that the dashboard
-// was created by script and should not be changed in the console. This message
-// could also point console users to the location of the DashboardBody script
-// or the CloudFormation template used to create the dashboard.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for Amazon CloudWatch's
-// API operation PutDashboard for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeDashboardInvalidInputError "InvalidParameterInput"
-// Some part of the dashboard data is invalid.
-//
-// * ErrCodeInternalServiceFault "InternalServiceError"
-// Request processing has failed due to some unknown error, exception, or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/PutDashboard
-func (c *CloudWatch) PutDashboard(input *PutDashboardInput) (*PutDashboardOutput, error) {
- req, out := c.PutDashboardRequest(input)
- return out, req.Send()
-}
-
-// PutDashboardWithContext is the same as PutDashboard with the addition of
-// the ability to pass a context and additional request options.
-//
-// See PutDashboard for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *CloudWatch) PutDashboardWithContext(ctx aws.Context, input *PutDashboardInput, opts ...request.Option) (*PutDashboardOutput, error) {
- req, out := c.PutDashboardRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opPutInsightRule = "PutInsightRule"
-
-// PutInsightRuleRequest generates a "aws/request.Request" representing the
-// client's request for the PutInsightRule operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See PutInsightRule for more information on using the PutInsightRule
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the PutInsightRuleRequest method.
-// req, resp := client.PutInsightRuleRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/PutInsightRule
-func (c *CloudWatch) PutInsightRuleRequest(input *PutInsightRuleInput) (req *request.Request, output *PutInsightRuleOutput) {
- op := &request.Operation{
- Name: opPutInsightRule,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &PutInsightRuleInput{}
- }
-
- output = &PutInsightRuleOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// PutInsightRule API operation for Amazon CloudWatch.
-//
-// Creates a Contributor Insights rule. Rules evaluate log events in a CloudWatch
-// Logs log group, enabling you to find contributor data for the log events
-// in that log group. For more information, see Using Contributor Insights to
-// Analyze High-Cardinality Data (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContributorInsights.html).
-//
-// If you create a rule, delete it, and then re-create it with the same name,
-// historical data from the first time the rule was created may or may not be
-// available.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for Amazon CloudWatch's
-// API operation PutInsightRule for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeInvalidParameterValueException "InvalidParameterValue"
-// The value of an input parameter is bad or out-of-range.
-//
-// * ErrCodeMissingRequiredParameterException "MissingParameter"
-// An input parameter that is required is missing.
-//
-// * ErrCodeLimitExceededException "LimitExceededException"
-// The operation exceeded one or more limits.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/PutInsightRule
-func (c *CloudWatch) PutInsightRule(input *PutInsightRuleInput) (*PutInsightRuleOutput, error) {
- req, out := c.PutInsightRuleRequest(input)
- return out, req.Send()
-}
-
-// PutInsightRuleWithContext is the same as PutInsightRule with the addition of
-// the ability to pass a context and additional request options.
-//
-// See PutInsightRule for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *CloudWatch) PutInsightRuleWithContext(ctx aws.Context, input *PutInsightRuleInput, opts ...request.Option) (*PutInsightRuleOutput, error) {
- req, out := c.PutInsightRuleRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opPutMetricAlarm = "PutMetricAlarm"
-
-// PutMetricAlarmRequest generates a "aws/request.Request" representing the
-// client's request for the PutMetricAlarm operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See PutMetricAlarm for more information on using the PutMetricAlarm
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the PutMetricAlarmRequest method.
-// req, resp := client.PutMetricAlarmRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/PutMetricAlarm
-func (c *CloudWatch) PutMetricAlarmRequest(input *PutMetricAlarmInput) (req *request.Request, output *PutMetricAlarmOutput) {
- op := &request.Operation{
- Name: opPutMetricAlarm,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &PutMetricAlarmInput{}
- }
-
- output = &PutMetricAlarmOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// PutMetricAlarm API operation for Amazon CloudWatch.
-//
-// Creates or updates an alarm and associates it with the specified metric,
-// metric math expression, or anomaly detection model.
-//
-// Alarms based on anomaly detection models cannot have Auto Scaling actions.
-//
-// When this operation creates an alarm, the alarm state is immediately set
-// to INSUFFICIENT_DATA. The alarm is then evaluated and its state is set appropriately.
-// Any actions associated with the new state are then executed.
-//
-// When you update an existing alarm, its state is left unchanged, but the update
-// completely overwrites the previous configuration of the alarm.
-//
-// If you are an IAM user, you must have Amazon EC2 permissions for some alarm
-// operations:
-//
-// * iam:CreateServiceLinkedRole for all alarms with EC2 actions
-//
-// * ec2:DescribeInstanceStatus and ec2:DescribeInstances for all alarms
-// on EC2 instance status metrics
-//
-// * ec2:StopInstances for alarms with stop actions
-//
-// * ec2:TerminateInstances for alarms with terminate actions
-//
-// * No specific permissions are needed for alarms with recover actions
-//
-// If you have read/write permissions for Amazon CloudWatch but not for Amazon
-// EC2, you can still create an alarm, but the stop or terminate actions are
-// not performed. However, if you are later granted the required permissions,
-// the alarm actions that you created earlier are performed.
-//
-// If you are using an IAM role (for example, an EC2 instance profile), you
-// cannot stop or terminate the instance using alarm actions. However, you can
-// still see the alarm state and perform any other actions such as Amazon SNS
-// notifications or Auto Scaling policies.
-//
-// If you are using temporary security credentials granted using AWS STS, you
-// cannot stop or terminate an EC2 instance using alarm actions.
-//
-// The first time you create an alarm in the AWS Management Console, the CLI,
-// or by using the PutMetricAlarm API, CloudWatch creates the necessary service-linked
-// role for you. The service-linked role is called AWSServiceRoleForCloudWatchEvents.
-// For more information, see AWS service-linked role (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role).
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for Amazon CloudWatch's
-// API operation PutMetricAlarm for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeLimitExceededFault "LimitExceeded"
-// The quota for alarms for this customer has already been reached.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/PutMetricAlarm
-func (c *CloudWatch) PutMetricAlarm(input *PutMetricAlarmInput) (*PutMetricAlarmOutput, error) {
- req, out := c.PutMetricAlarmRequest(input)
- return out, req.Send()
-}
-
-// PutMetricAlarmWithContext is the same as PutMetricAlarm with the addition of
-// the ability to pass a context and additional request options.
-//
-// See PutMetricAlarm for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *CloudWatch) PutMetricAlarmWithContext(ctx aws.Context, input *PutMetricAlarmInput, opts ...request.Option) (*PutMetricAlarmOutput, error) {
- req, out := c.PutMetricAlarmRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opPutMetricData = "PutMetricData"
-
-// PutMetricDataRequest generates a "aws/request.Request" representing the
-// client's request for the PutMetricData operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See PutMetricData for more information on using the PutMetricData
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the PutMetricDataRequest method.
-// req, resp := client.PutMetricDataRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/PutMetricData
-func (c *CloudWatch) PutMetricDataRequest(input *PutMetricDataInput) (req *request.Request, output *PutMetricDataOutput) {
- op := &request.Operation{
- Name: opPutMetricData,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &PutMetricDataInput{}
- }
-
- output = &PutMetricDataOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// PutMetricData API operation for Amazon CloudWatch.
-//
-// Publishes metric data points to Amazon CloudWatch. CloudWatch associates
-// the data points with the specified metric. If the specified metric does not
-// exist, CloudWatch creates the metric. When CloudWatch creates a metric, it
-// can take up to fifteen minutes for the metric to appear in calls to ListMetrics.
-//
-// You can publish either individual data points in the Value field, or arrays
-// of values and the number of times each value occurred during the period by
-// using the Values and Counts fields in the MetricDatum structure. Using the
-// Values and Counts method enables you to publish up to 150 values per metric
-// with one PutMetricData request, and supports retrieving percentile statistics
-// on this data.
-//
-// Each PutMetricData request is limited to 40 KB in size for HTTP POST requests.
-// You can send a payload compressed by gzip. Each request is also limited to
-// no more than 20 different metrics.
-//
-// Although the Value parameter accepts numbers of type Double, CloudWatch rejects
-// values that are either too small or too large. Values must be in the range
-// of -2^360 to 2^360. In addition, special values (for example, NaN, +Infinity,
-// -Infinity) are not supported.
-//
-// You can use up to 10 dimensions per metric to further clarify what data the
-// metric collects. Each dimension consists of a Name and Value pair. For more
-// information about specifying dimensions, see Publishing Metrics (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html)
-// in the Amazon CloudWatch User Guide.
-//
-// Data points with time stamps from 24 hours ago or longer can take at least
-// 48 hours to become available for GetMetricData or GetMetricStatistics from
-// the time they are submitted.
-//
-// CloudWatch needs raw data points to calculate percentile statistics. If you
-// publish data using a statistic set instead, you can only retrieve percentile
-// statistics for this data if one of the following conditions is true:
-//
-// * The SampleCount value of the statistic set is 1 and Min, Max, and Sum
-// are all equal.
-//
-// * The Min and Max are equal, and Sum is equal to Min multiplied by SampleCount.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for Amazon CloudWatch's
-// API operation PutMetricData for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeInvalidParameterValueException "InvalidParameterValue"
-// The value of an input parameter is bad or out-of-range.
-//
-// * ErrCodeMissingRequiredParameterException "MissingParameter"
-// An input parameter that is required is missing.
-//
-// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination"
-// Parameters were used together that cannot be used together.
-//
-// * ErrCodeInternalServiceFault "InternalServiceError"
-// Request processing has failed due to some unknown error, exception, or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/PutMetricData
-func (c *CloudWatch) PutMetricData(input *PutMetricDataInput) (*PutMetricDataOutput, error) {
- req, out := c.PutMetricDataRequest(input)
- return out, req.Send()
-}
-
-// PutMetricDataWithContext is the same as PutMetricData with the addition of
-// the ability to pass a context and additional request options.
-//
-// See PutMetricData for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *CloudWatch) PutMetricDataWithContext(ctx aws.Context, input *PutMetricDataInput, opts ...request.Option) (*PutMetricDataOutput, error) {
- req, out := c.PutMetricDataRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opSetAlarmState = "SetAlarmState"
-
-// SetAlarmStateRequest generates a "aws/request.Request" representing the
-// client's request for the SetAlarmState operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See SetAlarmState for more information on using the SetAlarmState
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the SetAlarmStateRequest method.
-// req, resp := client.SetAlarmStateRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/SetAlarmState
-func (c *CloudWatch) SetAlarmStateRequest(input *SetAlarmStateInput) (req *request.Request, output *SetAlarmStateOutput) {
- op := &request.Operation{
- Name: opSetAlarmState,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &SetAlarmStateInput{}
- }
-
- output = &SetAlarmStateOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// SetAlarmState API operation for Amazon CloudWatch.
-//
-// Temporarily sets the state of an alarm for testing purposes. When the updated
-// state differs from the previous value, the action configured for the appropriate
-// state is invoked. For example, if your alarm is configured to send an Amazon
-// SNS message when an alarm is triggered, temporarily changing the alarm state
-// to ALARM sends an SNS message. The alarm returns to its actual state (often
-// within seconds). Because the alarm state change happens quickly, it is typically
-// only visible in the alarm's History tab in the Amazon CloudWatch console
-// or through DescribeAlarmHistory.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for Amazon CloudWatch's
-// API operation SetAlarmState for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeResourceNotFound "ResourceNotFound"
-// The named resource does not exist.
-//
-// * ErrCodeInvalidFormatFault "InvalidFormat"
-// Data was not syntactically valid JSON.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/SetAlarmState
-func (c *CloudWatch) SetAlarmState(input *SetAlarmStateInput) (*SetAlarmStateOutput, error) {
- req, out := c.SetAlarmStateRequest(input)
- return out, req.Send()
-}
-
-// SetAlarmStateWithContext is the same as SetAlarmState with the addition of
-// the ability to pass a context and additional request options.
-//
-// See SetAlarmState for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *CloudWatch) SetAlarmStateWithContext(ctx aws.Context, input *SetAlarmStateInput, opts ...request.Option) (*SetAlarmStateOutput, error) {
- req, out := c.SetAlarmStateRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opTagResource = "TagResource"
-
-// TagResourceRequest generates a "aws/request.Request" representing the
-// client's request for the TagResource operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See TagResource for more information on using the TagResource
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the TagResourceRequest method.
-// req, resp := client.TagResourceRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/TagResource
-func (c *CloudWatch) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
- op := &request.Operation{
- Name: opTagResource,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &TagResourceInput{}
- }
-
- output = &TagResourceOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// TagResource API operation for Amazon CloudWatch.
-//
-// Assigns one or more tags (key-value pairs) to the specified CloudWatch resource.
-// Currently, the only CloudWatch resources that can be tagged are alarms.
-//
-// Tags can help you organize and categorize your resources. You can also use
-// them to scope user permissions, by granting a user permission to access or
-// change only resources with certain tag values.
-//
-// Tags don't have any semantic meaning to AWS and are interpreted strictly
-// as strings of characters.
-//
-// You can use the TagResource action with an alarm that already has tags. If
-// you specify a new tag key for the alarm, this tag is appended to the list
-// of tags associated with the alarm. If you specify a tag key that is already
-// associated with the alarm, the new tag value that you specify replaces the
-// previous value for that tag.
-//
-// You can associate as many as 50 tags with a resource.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for Amazon CloudWatch's
-// API operation TagResource for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeInvalidParameterValueException "InvalidParameterValue"
-// The value of an input parameter is bad or out-of-range.
-//
-// * ErrCodeResourceNotFoundException "ResourceNotFoundException"
-// The named resource does not exist.
-//
-// * ErrCodeConcurrentModificationException "ConcurrentModificationException"
-// More than one process tried to modify a resource at the same time.
-//
-// * ErrCodeInternalServiceFault "InternalServiceError"
-// Request processing has failed due to some unknown error, exception, or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/TagResource
-func (c *CloudWatch) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
- req, out := c.TagResourceRequest(input)
- return out, req.Send()
-}
-
-// TagResourceWithContext is the same as TagResource with the addition of
-// the ability to pass a context and additional request options.
-//
-// See TagResource for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *CloudWatch) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
- req, out := c.TagResourceRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opUntagResource = "UntagResource"
-
-// UntagResourceRequest generates a "aws/request.Request" representing the
-// client's request for the UntagResource operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See UntagResource for more information on using the UntagResource
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the UntagResourceRequest method.
-// req, resp := client.UntagResourceRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/UntagResource
-func (c *CloudWatch) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
- op := &request.Operation{
- Name: opUntagResource,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &UntagResourceInput{}
- }
-
- output = &UntagResourceOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// UntagResource API operation for Amazon CloudWatch.
-//
-// Removes one or more tags from the specified resource.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for Amazon CloudWatch's
-// API operation UntagResource for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeInvalidParameterValueException "InvalidParameterValue"
-// The value of an input parameter is bad or out-of-range.
-//
-// * ErrCodeResourceNotFoundException "ResourceNotFoundException"
-// The named resource does not exist.
-//
-// * ErrCodeConcurrentModificationException "ConcurrentModificationException"
-// More than one process tried to modify a resource at the same time.
-//
-// * ErrCodeInternalServiceFault "InternalServiceError"
-// Request processing has failed due to some unknown error, exception, or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/UntagResource
-func (c *CloudWatch) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
- req, out := c.UntagResourceRequest(input)
- return out, req.Send()
-}
-
-// UntagResourceWithContext is the same as UntagResource with the addition of
-// the ability to pass a context and additional request options.
-//
-// See UntagResource for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *CloudWatch) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
- req, out := c.UntagResourceRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-// Represents the history of a specific alarm.
-type AlarmHistoryItem struct {
- _ struct{} `type:"structure"`
-
- // The descriptive name for the alarm.
- AlarmName *string `min:"1" type:"string"`
-
- // Data about the alarm, in JSON format.
- HistoryData *string `min:"1" type:"string"`
-
- // The type of alarm history item.
- HistoryItemType *string `type:"string" enum:"HistoryItemType"`
-
- // A summary of the alarm history, in text format.
- HistorySummary *string `min:"1" type:"string"`
-
- // The time stamp for the alarm history item.
- Timestamp *time.Time `type:"timestamp"`
-}
-
-// String returns the string representation
-func (s AlarmHistoryItem) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s AlarmHistoryItem) GoString() string {
- return s.String()
-}
-
-// SetAlarmName sets the AlarmName field's value.
-func (s *AlarmHistoryItem) SetAlarmName(v string) *AlarmHistoryItem {
- s.AlarmName = &v
- return s
-}
-
-// SetHistoryData sets the HistoryData field's value.
-func (s *AlarmHistoryItem) SetHistoryData(v string) *AlarmHistoryItem {
- s.HistoryData = &v
- return s
-}
-
-// SetHistoryItemType sets the HistoryItemType field's value.
-func (s *AlarmHistoryItem) SetHistoryItemType(v string) *AlarmHistoryItem {
- s.HistoryItemType = &v
- return s
-}
-
-// SetHistorySummary sets the HistorySummary field's value.
-func (s *AlarmHistoryItem) SetHistorySummary(v string) *AlarmHistoryItem {
- s.HistorySummary = &v
- return s
-}
-
-// SetTimestamp sets the Timestamp field's value.
-func (s *AlarmHistoryItem) SetTimestamp(v time.Time) *AlarmHistoryItem {
- s.Timestamp = &v
- return s
-}
-
-// An anomaly detection model associated with a particular CloudWatch metric
-// and statistic. You can use the model to display a band of expected normal
-// values when the metric is graphed.
-type AnomalyDetector struct {
- _ struct{} `type:"structure"`
-
- // The configuration specifies details about how the anomaly detection model
- // is to be trained, including time ranges to exclude from use for training
- // the model, and the time zone to use for the metric.
- Configuration *AnomalyDetectorConfiguration `type:"structure"`
-
- // The metric dimensions associated with the anomaly detection model.
- Dimensions []*Dimension `type:"list"`
-
- // The name of the metric associated with the anomaly detection model.
- MetricName *string `min:"1" type:"string"`
-
- // The namespace of the metric associated with the anomaly detection model.
- Namespace *string `min:"1" type:"string"`
-
- // The statistic associated with the anomaly detection model.
- Stat *string `type:"string"`
-}
-
-// String returns the string representation
-func (s AnomalyDetector) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s AnomalyDetector) GoString() string {
- return s.String()
-}
-
-// SetConfiguration sets the Configuration field's value.
-func (s *AnomalyDetector) SetConfiguration(v *AnomalyDetectorConfiguration) *AnomalyDetector {
- s.Configuration = v
- return s
-}
-
-// SetDimensions sets the Dimensions field's value.
-func (s *AnomalyDetector) SetDimensions(v []*Dimension) *AnomalyDetector {
- s.Dimensions = v
- return s
-}
-
-// SetMetricName sets the MetricName field's value.
-func (s *AnomalyDetector) SetMetricName(v string) *AnomalyDetector {
- s.MetricName = &v
- return s
-}
-
-// SetNamespace sets the Namespace field's value.
-func (s *AnomalyDetector) SetNamespace(v string) *AnomalyDetector {
- s.Namespace = &v
- return s
-}
-
-// SetStat sets the Stat field's value.
-func (s *AnomalyDetector) SetStat(v string) *AnomalyDetector {
- s.Stat = &v
- return s
-}
-
-// The configuration specifies details about how the anomaly detection model
-// is to be trained, including time ranges to exclude from use for training
-// the model and the time zone to use for the metric.
-type AnomalyDetectorConfiguration struct {
- _ struct{} `type:"structure"`
-
- // An array of time ranges to exclude from use when the anomaly detection model
- // is trained. Use this to make sure that events that could cause unusual values
- // for the metric, such as deployments, aren't used when CloudWatch creates
- // the model.
- ExcludedTimeRanges []*Range `type:"list"`
-
- // The time zone to use for the metric. This is useful to enable the model to
- // automatically account for daylight savings time changes if the metric is
- // sensitive to such time changes.
- //
- // To specify a time zone, use the name of the time zone as specified in the
- // standard tz database. For more information, see tz database (https://en.wikipedia.org/wiki/Tz_database).
- MetricTimezone *string `type:"string"`
-}
-
-// String returns the string representation
-func (s AnomalyDetectorConfiguration) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s AnomalyDetectorConfiguration) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *AnomalyDetectorConfiguration) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "AnomalyDetectorConfiguration"}
- if s.ExcludedTimeRanges != nil {
- for i, v := range s.ExcludedTimeRanges {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ExcludedTimeRanges", i), err.(request.ErrInvalidParams))
- }
- }
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetExcludedTimeRanges sets the ExcludedTimeRanges field's value.
-func (s *AnomalyDetectorConfiguration) SetExcludedTimeRanges(v []*Range) *AnomalyDetectorConfiguration {
- s.ExcludedTimeRanges = v
- return s
-}
-
-// SetMetricTimezone sets the MetricTimezone field's value.
-func (s *AnomalyDetectorConfiguration) SetMetricTimezone(v string) *AnomalyDetectorConfiguration {
- s.MetricTimezone = &v
- return s
-}
-
-// Represents a specific dashboard.
-type DashboardEntry struct {
- _ struct{} `type:"structure"`
-
- // The Amazon Resource Name (ARN) of the dashboard.
- DashboardArn *string `type:"string"`
-
- // The name of the dashboard.
- DashboardName *string `type:"string"`
-
- // The time stamp of when the dashboard was last modified, either by an API
- // call or through the console. This number is expressed as the number of milliseconds
- // since Jan 1, 1970 00:00:00 UTC.
- LastModified *time.Time `type:"timestamp"`
-
- // The size of the dashboard, in bytes.
- Size *int64 `type:"long"`
-}
-
-// String returns the string representation
-func (s DashboardEntry) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DashboardEntry) GoString() string {
- return s.String()
-}
-
-// SetDashboardArn sets the DashboardArn field's value.
-func (s *DashboardEntry) SetDashboardArn(v string) *DashboardEntry {
- s.DashboardArn = &v
- return s
-}
-
-// SetDashboardName sets the DashboardName field's value.
-func (s *DashboardEntry) SetDashboardName(v string) *DashboardEntry {
- s.DashboardName = &v
- return s
-}
-
-// SetLastModified sets the LastModified field's value.
-func (s *DashboardEntry) SetLastModified(v time.Time) *DashboardEntry {
- s.LastModified = &v
- return s
-}
-
-// SetSize sets the Size field's value.
-func (s *DashboardEntry) SetSize(v int64) *DashboardEntry {
- s.Size = &v
- return s
-}
-
-// An error or warning for the operation.
-type DashboardValidationMessage struct {
- _ struct{} `type:"structure"`
-
- // The data path related to the message.
- DataPath *string `type:"string"`
-
- // A message describing the error or warning.
- Message *string `type:"string"`
-}
-
-// String returns the string representation
-func (s DashboardValidationMessage) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DashboardValidationMessage) GoString() string {
- return s.String()
-}
-
-// SetDataPath sets the DataPath field's value.
-func (s *DashboardValidationMessage) SetDataPath(v string) *DashboardValidationMessage {
- s.DataPath = &v
- return s
-}
-
-// SetMessage sets the Message field's value.
-func (s *DashboardValidationMessage) SetMessage(v string) *DashboardValidationMessage {
- s.Message = &v
- return s
-}
-
-// Encapsulates the statistical data that CloudWatch computes from metric data.
-type Datapoint struct {
- _ struct{} `type:"structure"`
-
- // The average of the metric values that correspond to the data point.
- Average *float64 `type:"double"`
-
- // The percentile statistic for the data point.
- ExtendedStatistics map[string]*float64 `type:"map"`
-
- // The maximum metric value for the data point.
- Maximum *float64 `type:"double"`
-
- // The minimum metric value for the data point.
- Minimum *float64 `type:"double"`
-
- // The number of metric values that contributed to the aggregate value of this
- // data point.
- SampleCount *float64 `type:"double"`
-
- // The sum of the metric values for the data point.
- Sum *float64 `type:"double"`
-
- // The time stamp used for the data point.
- Timestamp *time.Time `type:"timestamp"`
-
- // The standard unit for the data point.
- Unit *string `type:"string" enum:"StandardUnit"`
-}
-
-// String returns the string representation
-func (s Datapoint) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s Datapoint) GoString() string {
- return s.String()
-}
-
-// SetAverage sets the Average field's value.
-func (s *Datapoint) SetAverage(v float64) *Datapoint {
- s.Average = &v
- return s
-}
-
-// SetExtendedStatistics sets the ExtendedStatistics field's value.
-func (s *Datapoint) SetExtendedStatistics(v map[string]*float64) *Datapoint {
- s.ExtendedStatistics = v
- return s
-}
-
-// SetMaximum sets the Maximum field's value.
-func (s *Datapoint) SetMaximum(v float64) *Datapoint {
- s.Maximum = &v
- return s
-}
-
-// SetMinimum sets the Minimum field's value.
-func (s *Datapoint) SetMinimum(v float64) *Datapoint {
- s.Minimum = &v
- return s
-}
-
-// SetSampleCount sets the SampleCount field's value.
-func (s *Datapoint) SetSampleCount(v float64) *Datapoint {
- s.SampleCount = &v
- return s
-}
-
-// SetSum sets the Sum field's value.
-func (s *Datapoint) SetSum(v float64) *Datapoint {
- s.Sum = &v
- return s
-}
-
-// SetTimestamp sets the Timestamp field's value.
-func (s *Datapoint) SetTimestamp(v time.Time) *Datapoint {
- s.Timestamp = &v
- return s
-}
-
-// SetUnit sets the Unit field's value.
-func (s *Datapoint) SetUnit(v string) *Datapoint {
- s.Unit = &v
- return s
-}
-
-type DeleteAlarmsInput struct {
- _ struct{} `type:"structure"`
-
- // The alarms to be deleted.
- //
- // AlarmNames is a required field
- AlarmNames []*string `type:"list" required:"true"`
-}
-
-// String returns the string representation
-func (s DeleteAlarmsInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeleteAlarmsInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *DeleteAlarmsInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeleteAlarmsInput"}
- if s.AlarmNames == nil {
- invalidParams.Add(request.NewErrParamRequired("AlarmNames"))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetAlarmNames sets the AlarmNames field's value.
-func (s *DeleteAlarmsInput) SetAlarmNames(v []*string) *DeleteAlarmsInput {
- s.AlarmNames = v
- return s
-}
-
-type DeleteAlarmsOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s DeleteAlarmsOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeleteAlarmsOutput) GoString() string {
- return s.String()
-}
-
-type DeleteAnomalyDetectorInput struct {
- _ struct{} `type:"structure"`
-
- // The metric dimensions associated with the anomaly detection model to delete.
- Dimensions []*Dimension `type:"list"`
-
- // The metric name associated with the anomaly detection model to delete.
- //
- // MetricName is a required field
- MetricName *string `min:"1" type:"string" required:"true"`
-
- // The namespace associated with the anomaly detection model to delete.
- //
- // Namespace is a required field
- Namespace *string `min:"1" type:"string" required:"true"`
-
- // The statistic associated with the anomaly detection model to delete.
- //
- // Stat is a required field
- Stat *string `type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s DeleteAnomalyDetectorInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeleteAnomalyDetectorInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *DeleteAnomalyDetectorInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeleteAnomalyDetectorInput"}
- if s.MetricName == nil {
- invalidParams.Add(request.NewErrParamRequired("MetricName"))
- }
- if s.MetricName != nil && len(*s.MetricName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("MetricName", 1))
- }
- if s.Namespace == nil {
- invalidParams.Add(request.NewErrParamRequired("Namespace"))
- }
- if s.Namespace != nil && len(*s.Namespace) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Namespace", 1))
- }
- if s.Stat == nil {
- invalidParams.Add(request.NewErrParamRequired("Stat"))
- }
- if s.Dimensions != nil {
- for i, v := range s.Dimensions {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Dimensions", i), err.(request.ErrInvalidParams))
- }
- }
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetDimensions sets the Dimensions field's value.
-func (s *DeleteAnomalyDetectorInput) SetDimensions(v []*Dimension) *DeleteAnomalyDetectorInput {
- s.Dimensions = v
- return s
-}
-
-// SetMetricName sets the MetricName field's value.
-func (s *DeleteAnomalyDetectorInput) SetMetricName(v string) *DeleteAnomalyDetectorInput {
- s.MetricName = &v
- return s
-}
-
-// SetNamespace sets the Namespace field's value.
-func (s *DeleteAnomalyDetectorInput) SetNamespace(v string) *DeleteAnomalyDetectorInput {
- s.Namespace = &v
- return s
-}
-
-// SetStat sets the Stat field's value.
-func (s *DeleteAnomalyDetectorInput) SetStat(v string) *DeleteAnomalyDetectorInput {
- s.Stat = &v
- return s
-}
-
-type DeleteAnomalyDetectorOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s DeleteAnomalyDetectorOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeleteAnomalyDetectorOutput) GoString() string {
- return s.String()
-}
-
-type DeleteDashboardsInput struct {
- _ struct{} `type:"structure"`
-
- // The dashboards to be deleted. This parameter is required.
- //
- // DashboardNames is a required field
- DashboardNames []*string `type:"list" required:"true"`
-}
-
-// String returns the string representation
-func (s DeleteDashboardsInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeleteDashboardsInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *DeleteDashboardsInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeleteDashboardsInput"}
- if s.DashboardNames == nil {
- invalidParams.Add(request.NewErrParamRequired("DashboardNames"))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetDashboardNames sets the DashboardNames field's value.
-func (s *DeleteDashboardsInput) SetDashboardNames(v []*string) *DeleteDashboardsInput {
- s.DashboardNames = v
- return s
-}
-
-type DeleteDashboardsOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s DeleteDashboardsOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeleteDashboardsOutput) GoString() string {
- return s.String()
-}
-
-type DeleteInsightRulesInput struct {
- _ struct{} `type:"structure"`
-
- // An array of the rule names to delete. If you need to find out the names of
- // your rules, use DescribeInsightRules.
- //
- // RuleNames is a required field
- RuleNames []*string `type:"list" required:"true"`
-}
-
-// String returns the string representation
-func (s DeleteInsightRulesInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeleteInsightRulesInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *DeleteInsightRulesInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeleteInsightRulesInput"}
- if s.RuleNames == nil {
- invalidParams.Add(request.NewErrParamRequired("RuleNames"))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetRuleNames sets the RuleNames field's value.
-func (s *DeleteInsightRulesInput) SetRuleNames(v []*string) *DeleteInsightRulesInput {
- s.RuleNames = v
- return s
-}
-
-type DeleteInsightRulesOutput struct {
- _ struct{} `type:"structure"`
-
- // An array listing the rules that could not be deleted. You cannot delete built-in
- // rules.
- Failures []*PartialFailure `type:"list"`
-}
-
-// String returns the string representation
-func (s DeleteInsightRulesOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeleteInsightRulesOutput) GoString() string {
- return s.String()
-}
-
-// SetFailures sets the Failures field's value.
-func (s *DeleteInsightRulesOutput) SetFailures(v []*PartialFailure) *DeleteInsightRulesOutput {
- s.Failures = v
- return s
-}
-
-type DescribeAlarmHistoryInput struct {
- _ struct{} `type:"structure"`
-
- // The name of the alarm.
- AlarmName *string `min:"1" type:"string"`
-
- // The ending date to retrieve alarm history.
- EndDate *time.Time `type:"timestamp"`
-
- // The type of alarm histories to retrieve.
- HistoryItemType *string `type:"string" enum:"HistoryItemType"`
-
- // The maximum number of alarm history records to retrieve.
- MaxRecords *int64 `min:"1" type:"integer"`
-
- // The token returned by a previous call to indicate that there is more data
- // available.
- NextToken *string `type:"string"`
-
- // The starting date to retrieve alarm history.
- StartDate *time.Time `type:"timestamp"`
-}
-
-// String returns the string representation
-func (s DescribeAlarmHistoryInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DescribeAlarmHistoryInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *DescribeAlarmHistoryInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DescribeAlarmHistoryInput"}
- if s.AlarmName != nil && len(*s.AlarmName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("AlarmName", 1))
- }
- if s.MaxRecords != nil && *s.MaxRecords < 1 {
- invalidParams.Add(request.NewErrParamMinValue("MaxRecords", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetAlarmName sets the AlarmName field's value.
-func (s *DescribeAlarmHistoryInput) SetAlarmName(v string) *DescribeAlarmHistoryInput {
- s.AlarmName = &v
- return s
-}
-
-// SetEndDate sets the EndDate field's value.
-func (s *DescribeAlarmHistoryInput) SetEndDate(v time.Time) *DescribeAlarmHistoryInput {
- s.EndDate = &v
- return s
-}
-
-// SetHistoryItemType sets the HistoryItemType field's value.
-func (s *DescribeAlarmHistoryInput) SetHistoryItemType(v string) *DescribeAlarmHistoryInput {
- s.HistoryItemType = &v
- return s
-}
-
-// SetMaxRecords sets the MaxRecords field's value.
-func (s *DescribeAlarmHistoryInput) SetMaxRecords(v int64) *DescribeAlarmHistoryInput {
- s.MaxRecords = &v
- return s
-}
-
-// SetNextToken sets the NextToken field's value.
-func (s *DescribeAlarmHistoryInput) SetNextToken(v string) *DescribeAlarmHistoryInput {
- s.NextToken = &v
- return s
-}
-
-// SetStartDate sets the StartDate field's value.
-func (s *DescribeAlarmHistoryInput) SetStartDate(v time.Time) *DescribeAlarmHistoryInput {
- s.StartDate = &v
- return s
-}
-
-type DescribeAlarmHistoryOutput struct {
- _ struct{} `type:"structure"`
-
- // The alarm histories, in JSON format.
- AlarmHistoryItems []*AlarmHistoryItem `type:"list"`
-
- // The token that marks the start of the next batch of returned results.
- NextToken *string `type:"string"`
-}
-
-// String returns the string representation
-func (s DescribeAlarmHistoryOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DescribeAlarmHistoryOutput) GoString() string {
- return s.String()
-}
-
-// SetAlarmHistoryItems sets the AlarmHistoryItems field's value.
-func (s *DescribeAlarmHistoryOutput) SetAlarmHistoryItems(v []*AlarmHistoryItem) *DescribeAlarmHistoryOutput {
- s.AlarmHistoryItems = v
- return s
-}
-
-// SetNextToken sets the NextToken field's value.
-func (s *DescribeAlarmHistoryOutput) SetNextToken(v string) *DescribeAlarmHistoryOutput {
- s.NextToken = &v
- return s
-}
-
-type DescribeAlarmsForMetricInput struct {
- _ struct{} `type:"structure"`
-
- // The dimensions associated with the metric. If the metric has any associated
- // dimensions, you must specify them in order for the call to succeed.
- Dimensions []*Dimension `type:"list"`
-
- // The percentile statistic for the metric. Specify a value between p0.0 and
- // p100.
- ExtendedStatistic *string `type:"string"`
-
- // The name of the metric.
- //
- // MetricName is a required field
- MetricName *string `min:"1" type:"string" required:"true"`
-
- // The namespace of the metric.
- //
- // Namespace is a required field
- Namespace *string `min:"1" type:"string" required:"true"`
-
- // The period, in seconds, over which the statistic is applied.
- Period *int64 `min:"1" type:"integer"`
-
- // The statistic for the metric, other than percentiles. For percentile statistics,
- // use ExtendedStatistics.
- Statistic *string `type:"string" enum:"Statistic"`
-
- // The unit for the metric.
- Unit *string `type:"string" enum:"StandardUnit"`
-}
-
-// String returns the string representation
-func (s DescribeAlarmsForMetricInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DescribeAlarmsForMetricInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *DescribeAlarmsForMetricInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DescribeAlarmsForMetricInput"}
- if s.MetricName == nil {
- invalidParams.Add(request.NewErrParamRequired("MetricName"))
- }
- if s.MetricName != nil && len(*s.MetricName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("MetricName", 1))
- }
- if s.Namespace == nil {
- invalidParams.Add(request.NewErrParamRequired("Namespace"))
- }
- if s.Namespace != nil && len(*s.Namespace) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Namespace", 1))
- }
- if s.Period != nil && *s.Period < 1 {
- invalidParams.Add(request.NewErrParamMinValue("Period", 1))
- }
- if s.Dimensions != nil {
- for i, v := range s.Dimensions {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Dimensions", i), err.(request.ErrInvalidParams))
- }
- }
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetDimensions sets the Dimensions field's value.
-func (s *DescribeAlarmsForMetricInput) SetDimensions(v []*Dimension) *DescribeAlarmsForMetricInput {
- s.Dimensions = v
- return s
-}
-
-// SetExtendedStatistic sets the ExtendedStatistic field's value.
-func (s *DescribeAlarmsForMetricInput) SetExtendedStatistic(v string) *DescribeAlarmsForMetricInput {
- s.ExtendedStatistic = &v
- return s
-}
-
-// SetMetricName sets the MetricName field's value.
-func (s *DescribeAlarmsForMetricInput) SetMetricName(v string) *DescribeAlarmsForMetricInput {
- s.MetricName = &v
- return s
-}
-
-// SetNamespace sets the Namespace field's value.
-func (s *DescribeAlarmsForMetricInput) SetNamespace(v string) *DescribeAlarmsForMetricInput {
- s.Namespace = &v
- return s
-}
-
-// SetPeriod sets the Period field's value.
-func (s *DescribeAlarmsForMetricInput) SetPeriod(v int64) *DescribeAlarmsForMetricInput {
- s.Period = &v
- return s
-}
-
-// SetStatistic sets the Statistic field's value.
-func (s *DescribeAlarmsForMetricInput) SetStatistic(v string) *DescribeAlarmsForMetricInput {
- s.Statistic = &v
- return s
-}
-
-// SetUnit sets the Unit field's value.
-func (s *DescribeAlarmsForMetricInput) SetUnit(v string) *DescribeAlarmsForMetricInput {
- s.Unit = &v
- return s
-}
-
-type DescribeAlarmsForMetricOutput struct {
- _ struct{} `type:"structure"`
-
- // The information for each alarm with the specified metric.
- MetricAlarms []*MetricAlarm `type:"list"`
-}
-
-// String returns the string representation
-func (s DescribeAlarmsForMetricOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DescribeAlarmsForMetricOutput) GoString() string {
- return s.String()
-}
-
-// SetMetricAlarms sets the MetricAlarms field's value.
-func (s *DescribeAlarmsForMetricOutput) SetMetricAlarms(v []*MetricAlarm) *DescribeAlarmsForMetricOutput {
- s.MetricAlarms = v
- return s
-}
-
-type DescribeAlarmsInput struct {
- _ struct{} `type:"structure"`
-
- // The action name prefix.
- ActionPrefix *string `min:"1" type:"string"`
-
- // The alarm name prefix. If this parameter is specified, you cannot specify
- // AlarmNames.
- AlarmNamePrefix *string `min:"1" type:"string"`
-
- // The names of the alarms.
- AlarmNames []*string `type:"list"`
-
- // The maximum number of alarm descriptions to retrieve.
- MaxRecords *int64 `min:"1" type:"integer"`
-
- // The token returned by a previous call to indicate that there is more data
- // available.
- NextToken *string `type:"string"`
-
- // The state value to be used in matching alarms.
- StateValue *string `type:"string" enum:"StateValue"`
-}
-
-// String returns the string representation
-func (s DescribeAlarmsInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DescribeAlarmsInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *DescribeAlarmsInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DescribeAlarmsInput"}
- if s.ActionPrefix != nil && len(*s.ActionPrefix) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("ActionPrefix", 1))
- }
- if s.AlarmNamePrefix != nil && len(*s.AlarmNamePrefix) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("AlarmNamePrefix", 1))
- }
- if s.MaxRecords != nil && *s.MaxRecords < 1 {
- invalidParams.Add(request.NewErrParamMinValue("MaxRecords", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetActionPrefix sets the ActionPrefix field's value.
-func (s *DescribeAlarmsInput) SetActionPrefix(v string) *DescribeAlarmsInput {
- s.ActionPrefix = &v
- return s
-}
-
-// SetAlarmNamePrefix sets the AlarmNamePrefix field's value.
-func (s *DescribeAlarmsInput) SetAlarmNamePrefix(v string) *DescribeAlarmsInput {
- s.AlarmNamePrefix = &v
- return s
-}
-
-// SetAlarmNames sets the AlarmNames field's value.
-func (s *DescribeAlarmsInput) SetAlarmNames(v []*string) *DescribeAlarmsInput {
- s.AlarmNames = v
- return s
-}
-
-// SetMaxRecords sets the MaxRecords field's value.
-func (s *DescribeAlarmsInput) SetMaxRecords(v int64) *DescribeAlarmsInput {
- s.MaxRecords = &v
- return s
-}
-
-// SetNextToken sets the NextToken field's value.
-func (s *DescribeAlarmsInput) SetNextToken(v string) *DescribeAlarmsInput {
- s.NextToken = &v
- return s
-}
-
-// SetStateValue sets the StateValue field's value.
-func (s *DescribeAlarmsInput) SetStateValue(v string) *DescribeAlarmsInput {
- s.StateValue = &v
- return s
-}
-
-type DescribeAlarmsOutput struct {
- _ struct{} `type:"structure"`
-
- // The information for the specified alarms.
- MetricAlarms []*MetricAlarm `type:"list"`
-
- // The token that marks the start of the next batch of returned results.
- NextToken *string `type:"string"`
-}
-
-// String returns the string representation
-func (s DescribeAlarmsOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DescribeAlarmsOutput) GoString() string {
- return s.String()
-}
-
-// SetMetricAlarms sets the MetricAlarms field's value.
-func (s *DescribeAlarmsOutput) SetMetricAlarms(v []*MetricAlarm) *DescribeAlarmsOutput {
- s.MetricAlarms = v
- return s
-}
-
-// SetNextToken sets the NextToken field's value.
-func (s *DescribeAlarmsOutput) SetNextToken(v string) *DescribeAlarmsOutput {
- s.NextToken = &v
- return s
-}
-
-type DescribeAnomalyDetectorsInput struct {
- _ struct{} `type:"structure"`
-
- // Limits the results to only the anomaly detection models that are associated
- // with the specified metric dimensions. If there are multiple metrics that
- // have these dimensions and have anomaly detection models associated, they're
- // all returned.
- Dimensions []*Dimension `type:"list"`
-
- // The maximum number of results to return in one operation. The maximum value
- // you can specify is 10.
- //
- // To retrieve the remaining results, make another call with the returned NextToken
- // value.
- MaxResults *int64 `min:"1" type:"integer"`
-
- // Limits the results to only the anomaly detection models that are associated
- // with the specified metric name. If there are multiple metrics with this name
- // in different namespaces that have anomaly detection models, they're all returned.
- MetricName *string `min:"1" type:"string"`
-
- // Limits the results to only the anomaly detection models that are associated
- // with the specified namespace.
- Namespace *string `min:"1" type:"string"`
-
- // Use the token returned by the previous operation to request the next page
- // of results.
- NextToken *string `type:"string"`
-}
-
-// String returns the string representation
-func (s DescribeAnomalyDetectorsInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DescribeAnomalyDetectorsInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *DescribeAnomalyDetectorsInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DescribeAnomalyDetectorsInput"}
- if s.MaxResults != nil && *s.MaxResults < 1 {
- invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
- }
- if s.MetricName != nil && len(*s.MetricName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("MetricName", 1))
- }
- if s.Namespace != nil && len(*s.Namespace) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Namespace", 1))
- }
- if s.Dimensions != nil {
- for i, v := range s.Dimensions {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Dimensions", i), err.(request.ErrInvalidParams))
- }
- }
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetDimensions sets the Dimensions field's value.
-func (s *DescribeAnomalyDetectorsInput) SetDimensions(v []*Dimension) *DescribeAnomalyDetectorsInput {
- s.Dimensions = v
- return s
-}
-
-// SetMaxResults sets the MaxResults field's value.
-func (s *DescribeAnomalyDetectorsInput) SetMaxResults(v int64) *DescribeAnomalyDetectorsInput {
- s.MaxResults = &v
- return s
-}
-
-// SetMetricName sets the MetricName field's value.
-func (s *DescribeAnomalyDetectorsInput) SetMetricName(v string) *DescribeAnomalyDetectorsInput {
- s.MetricName = &v
- return s
-}
-
-// SetNamespace sets the Namespace field's value.
-func (s *DescribeAnomalyDetectorsInput) SetNamespace(v string) *DescribeAnomalyDetectorsInput {
- s.Namespace = &v
- return s
-}
-
-// SetNextToken sets the NextToken field's value.
-func (s *DescribeAnomalyDetectorsInput) SetNextToken(v string) *DescribeAnomalyDetectorsInput {
- s.NextToken = &v
- return s
-}
-
-type DescribeAnomalyDetectorsOutput struct {
- _ struct{} `type:"structure"`
-
- // The list of anomaly detection models returned by the operation.
- AnomalyDetectors []*AnomalyDetector `type:"list"`
-
- // A token that you can use in a subsequent operation to retrieve the next set
- // of results.
- NextToken *string `type:"string"`
-}
-
-// String returns the string representation
-func (s DescribeAnomalyDetectorsOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DescribeAnomalyDetectorsOutput) GoString() string {
- return s.String()
-}
-
-// SetAnomalyDetectors sets the AnomalyDetectors field's value.
-func (s *DescribeAnomalyDetectorsOutput) SetAnomalyDetectors(v []*AnomalyDetector) *DescribeAnomalyDetectorsOutput {
- s.AnomalyDetectors = v
- return s
-}
-
-// SetNextToken sets the NextToken field's value.
-func (s *DescribeAnomalyDetectorsOutput) SetNextToken(v string) *DescribeAnomalyDetectorsOutput {
- s.NextToken = &v
- return s
-}
-
-type DescribeInsightRulesInput struct {
- _ struct{} `type:"structure"`
-
- // This parameter is not currently used. Reserved for future use. If it is used
- // in the future, the maximum value may be different.
- MaxResults *int64 `min:"1" type:"integer"`
-
- // Reserved for future use.
- NextToken *string `type:"string"`
-}
-
-// String returns the string representation
-func (s DescribeInsightRulesInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DescribeInsightRulesInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *DescribeInsightRulesInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DescribeInsightRulesInput"}
- if s.MaxResults != nil && *s.MaxResults < 1 {
- invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetMaxResults sets the MaxResults field's value.
-func (s *DescribeInsightRulesInput) SetMaxResults(v int64) *DescribeInsightRulesInput {
- s.MaxResults = &v
- return s
-}
-
-// SetNextToken sets the NextToken field's value.
-func (s *DescribeInsightRulesInput) SetNextToken(v string) *DescribeInsightRulesInput {
- s.NextToken = &v
- return s
-}
-
-type DescribeInsightRulesOutput struct {
- _ struct{} `type:"structure"`
-
- // The rules returned by the operation.
- InsightRules []*InsightRule `type:"list"`
-
- // Reserved for future use.
- NextToken *string `type:"string"`
-}
-
-// String returns the string representation
-func (s DescribeInsightRulesOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DescribeInsightRulesOutput) GoString() string {
- return s.String()
-}
-
-// SetInsightRules sets the InsightRules field's value.
-func (s *DescribeInsightRulesOutput) SetInsightRules(v []*InsightRule) *DescribeInsightRulesOutput {
- s.InsightRules = v
- return s
-}
-
-// SetNextToken sets the NextToken field's value.
-func (s *DescribeInsightRulesOutput) SetNextToken(v string) *DescribeInsightRulesOutput {
- s.NextToken = &v
- return s
-}
-
-// Expands the identity of a metric.
-type Dimension struct {
- _ struct{} `type:"structure"`
-
- // The name of the dimension.
- //
- // Name is a required field
- Name *string `min:"1" type:"string" required:"true"`
-
- // The value representing the dimension measurement.
- //
- // Value is a required field
- Value *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s Dimension) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s Dimension) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *Dimension) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "Dimension"}
- if s.Name == nil {
- invalidParams.Add(request.NewErrParamRequired("Name"))
- }
- if s.Name != nil && len(*s.Name) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Name", 1))
- }
- if s.Value == nil {
- invalidParams.Add(request.NewErrParamRequired("Value"))
- }
- if s.Value != nil && len(*s.Value) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Value", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetName sets the Name field's value.
-func (s *Dimension) SetName(v string) *Dimension {
- s.Name = &v
- return s
-}
-
-// SetValue sets the Value field's value.
-func (s *Dimension) SetValue(v string) *Dimension {
- s.Value = &v
- return s
-}
-
-// Represents filters for a dimension.
-type DimensionFilter struct {
- _ struct{} `type:"structure"`
-
- // The dimension name to be matched.
- //
- // Name is a required field
- Name *string `min:"1" type:"string" required:"true"`
-
- // The value of the dimension to be matched.
- Value *string `min:"1" type:"string"`
-}
-
-// String returns the string representation
-func (s DimensionFilter) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DimensionFilter) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *DimensionFilter) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DimensionFilter"}
- if s.Name == nil {
- invalidParams.Add(request.NewErrParamRequired("Name"))
- }
- if s.Name != nil && len(*s.Name) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Name", 1))
- }
- if s.Value != nil && len(*s.Value) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Value", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetName sets the Name field's value.
-func (s *DimensionFilter) SetName(v string) *DimensionFilter {
- s.Name = &v
- return s
-}
-
-// SetValue sets the Value field's value.
-func (s *DimensionFilter) SetValue(v string) *DimensionFilter {
- s.Value = &v
- return s
-}
-
-type DisableAlarmActionsInput struct {
- _ struct{} `type:"structure"`
-
- // The names of the alarms.
- //
- // AlarmNames is a required field
- AlarmNames []*string `type:"list" required:"true"`
-}
-
-// String returns the string representation
-func (s DisableAlarmActionsInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DisableAlarmActionsInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *DisableAlarmActionsInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DisableAlarmActionsInput"}
- if s.AlarmNames == nil {
- invalidParams.Add(request.NewErrParamRequired("AlarmNames"))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetAlarmNames sets the AlarmNames field's value.
-func (s *DisableAlarmActionsInput) SetAlarmNames(v []*string) *DisableAlarmActionsInput {
- s.AlarmNames = v
- return s
-}
-
-type DisableAlarmActionsOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s DisableAlarmActionsOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DisableAlarmActionsOutput) GoString() string {
- return s.String()
-}
-
-type DisableInsightRulesInput struct {
- _ struct{} `type:"structure"`
-
- // An array of the rule names to disable. If you need to find out the names
- // of your rules, use DescribeInsightRules.
- //
- // RuleNames is a required field
- RuleNames []*string `type:"list" required:"true"`
-}
-
-// String returns the string representation
-func (s DisableInsightRulesInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DisableInsightRulesInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *DisableInsightRulesInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DisableInsightRulesInput"}
- if s.RuleNames == nil {
- invalidParams.Add(request.NewErrParamRequired("RuleNames"))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetRuleNames sets the RuleNames field's value.
-func (s *DisableInsightRulesInput) SetRuleNames(v []*string) *DisableInsightRulesInput {
- s.RuleNames = v
- return s
-}
-
-type DisableInsightRulesOutput struct {
- _ struct{} `type:"structure"`
-
- // An array listing the rules that could not be disabled. You cannot disable
- // built-in rules.
- Failures []*PartialFailure `type:"list"`
-}
-
-// String returns the string representation
-func (s DisableInsightRulesOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DisableInsightRulesOutput) GoString() string {
- return s.String()
-}
-
-// SetFailures sets the Failures field's value.
-func (s *DisableInsightRulesOutput) SetFailures(v []*PartialFailure) *DisableInsightRulesOutput {
- s.Failures = v
- return s
-}
-
-type EnableAlarmActionsInput struct {
- _ struct{} `type:"structure"`
-
- // The names of the alarms.
- //
- // AlarmNames is a required field
- AlarmNames []*string `type:"list" required:"true"`
-}
-
-// String returns the string representation
-func (s EnableAlarmActionsInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s EnableAlarmActionsInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *EnableAlarmActionsInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "EnableAlarmActionsInput"}
- if s.AlarmNames == nil {
- invalidParams.Add(request.NewErrParamRequired("AlarmNames"))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetAlarmNames sets the AlarmNames field's value.
-func (s *EnableAlarmActionsInput) SetAlarmNames(v []*string) *EnableAlarmActionsInput {
- s.AlarmNames = v
- return s
-}
-
-type EnableAlarmActionsOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s EnableAlarmActionsOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s EnableAlarmActionsOutput) GoString() string {
- return s.String()
-}
-
-type EnableInsightRulesInput struct {
- _ struct{} `type:"structure"`
-
- // An array of the rule names to enable. If you need to find out the names of
- // your rules, use DescribeInsightRules.
- //
- // RuleNames is a required field
- RuleNames []*string `type:"list" required:"true"`
-}
-
-// String returns the string representation
-func (s EnableInsightRulesInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s EnableInsightRulesInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *EnableInsightRulesInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "EnableInsightRulesInput"}
- if s.RuleNames == nil {
- invalidParams.Add(request.NewErrParamRequired("RuleNames"))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetRuleNames sets the RuleNames field's value.
-func (s *EnableInsightRulesInput) SetRuleNames(v []*string) *EnableInsightRulesInput {
- s.RuleNames = v
- return s
-}
-
-type EnableInsightRulesOutput struct {
- _ struct{} `type:"structure"`
-
- // An array listing the rules that could not be enabled. You cannot disable
- // or enable built-in rules.
- Failures []*PartialFailure `type:"list"`
-}
-
-// String returns the string representation
-func (s EnableInsightRulesOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s EnableInsightRulesOutput) GoString() string {
- return s.String()
-}
-
-// SetFailures sets the Failures field's value.
-func (s *EnableInsightRulesOutput) SetFailures(v []*PartialFailure) *EnableInsightRulesOutput {
- s.Failures = v
- return s
-}
-
-type GetDashboardInput struct {
- _ struct{} `type:"structure"`
-
- // The name of the dashboard to be described.
- //
- // DashboardName is a required field
- DashboardName *string `type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s GetDashboardInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GetDashboardInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *GetDashboardInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "GetDashboardInput"}
- if s.DashboardName == nil {
- invalidParams.Add(request.NewErrParamRequired("DashboardName"))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetDashboardName sets the DashboardName field's value.
-func (s *GetDashboardInput) SetDashboardName(v string) *GetDashboardInput {
- s.DashboardName = &v
- return s
-}
-
-type GetDashboardOutput struct {
- _ struct{} `type:"structure"`
-
- // The Amazon Resource Name (ARN) of the dashboard.
- DashboardArn *string `type:"string"`
-
- // The detailed information about the dashboard, including what widgets are
- // included and their location on the dashboard. For more information about
- // the DashboardBody syntax, see CloudWatch-Dashboard-Body-Structure.
- DashboardBody *string `type:"string"`
-
- // The name of the dashboard.
- DashboardName *string `type:"string"`
-}
-
-// String returns the string representation
-func (s GetDashboardOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GetDashboardOutput) GoString() string {
- return s.String()
-}
-
-// SetDashboardArn sets the DashboardArn field's value.
-func (s *GetDashboardOutput) SetDashboardArn(v string) *GetDashboardOutput {
- s.DashboardArn = &v
- return s
-}
-
-// SetDashboardBody sets the DashboardBody field's value.
-func (s *GetDashboardOutput) SetDashboardBody(v string) *GetDashboardOutput {
- s.DashboardBody = &v
- return s
-}
-
-// SetDashboardName sets the DashboardName field's value.
-func (s *GetDashboardOutput) SetDashboardName(v string) *GetDashboardOutput {
- s.DashboardName = &v
- return s
-}
-
-type GetInsightRuleReportInput struct {
- _ struct{} `type:"structure"`
-
- // The end time of the data to use in the report. When used in a raw HTTP Query
- // API, it is formatted as yyyy-MM-dd'T'HH:mm:ss. For example, 2019-07-01T23:59:59.
- //
- // EndTime is a required field
- EndTime *time.Time `type:"timestamp" required:"true"`
-
- // The maximum number of contributors to include in the report. The range is
- // 1 to 100. If you omit this, the default of 10 is used.
- MaxContributorCount *int64 `type:"integer"`
-
- // Specifies which metrics to use for aggregation of contributor values for
- // the report. You can specify one or more of the following metrics:
- //
- // * UniqueContributors -- the number of unique contributors for each data
- // point.
- //
- // * MaxContributorValue -- the value of the top contributor for each data
- // point. The identity of the contributor may change for each data point
- // in the graph. If this rule aggregates by COUNT, the top contributor for
- // each data point is the contributor with the most occurrences in that period.
- // If the rule aggregates by SUM, the top contributor is the contributor
- // with the highest sum in the log field specified by the rule's Value, during
- // that period.
- //
- // * SampleCount -- the number of data points matched by the rule.
- //
- // * Sum -- the sum of the values from all contributors during the time period
- // represented by that data point.
- //
- // * Minimum -- the minimum value from a single observation during the time
- // period represented by that data point.
- //
- // * Maximum -- the maximum value from a single observation during the time
- // period represented by that data point.
- //
- // * Average -- the average value from all contributors during the time period
- // represented by that data point.
- Metrics []*string `type:"list"`
-
- // Determines what statistic to use to rank the contributors. Valid values are
- // SUM and MAXIMUM.
- OrderBy *string `min:"1" type:"string"`
-
- // The period, in seconds, to use for the statistics in the InsightRuleMetricDatapoint
- // results.
- //
- // Period is a required field
- Period *int64 `min:"1" type:"integer" required:"true"`
-
- // The name of the rule that you want to see data from.
- //
- // RuleName is a required field
- RuleName *string `min:"1" type:"string" required:"true"`
-
- // The start time of the data to use in the report. When used in a raw HTTP
- // Query API, it is formatted as yyyy-MM-dd'T'HH:mm:ss. For example, 2019-07-01T23:59:59.
- //
- // StartTime is a required field
- StartTime *time.Time `type:"timestamp" required:"true"`
-}
-
-// String returns the string representation
-func (s GetInsightRuleReportInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GetInsightRuleReportInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *GetInsightRuleReportInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "GetInsightRuleReportInput"}
- if s.EndTime == nil {
- invalidParams.Add(request.NewErrParamRequired("EndTime"))
- }
- if s.OrderBy != nil && len(*s.OrderBy) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("OrderBy", 1))
- }
- if s.Period == nil {
- invalidParams.Add(request.NewErrParamRequired("Period"))
- }
- if s.Period != nil && *s.Period < 1 {
- invalidParams.Add(request.NewErrParamMinValue("Period", 1))
- }
- if s.RuleName == nil {
- invalidParams.Add(request.NewErrParamRequired("RuleName"))
- }
- if s.RuleName != nil && len(*s.RuleName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("RuleName", 1))
- }
- if s.StartTime == nil {
- invalidParams.Add(request.NewErrParamRequired("StartTime"))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetEndTime sets the EndTime field's value.
-func (s *GetInsightRuleReportInput) SetEndTime(v time.Time) *GetInsightRuleReportInput {
- s.EndTime = &v
- return s
-}
-
-// SetMaxContributorCount sets the MaxContributorCount field's value.
-func (s *GetInsightRuleReportInput) SetMaxContributorCount(v int64) *GetInsightRuleReportInput {
- s.MaxContributorCount = &v
- return s
-}
-
-// SetMetrics sets the Metrics field's value.
-func (s *GetInsightRuleReportInput) SetMetrics(v []*string) *GetInsightRuleReportInput {
- s.Metrics = v
- return s
-}
-
-// SetOrderBy sets the OrderBy field's value.
-func (s *GetInsightRuleReportInput) SetOrderBy(v string) *GetInsightRuleReportInput {
- s.OrderBy = &v
- return s
-}
-
-// SetPeriod sets the Period field's value.
-func (s *GetInsightRuleReportInput) SetPeriod(v int64) *GetInsightRuleReportInput {
- s.Period = &v
- return s
-}
-
-// SetRuleName sets the RuleName field's value.
-func (s *GetInsightRuleReportInput) SetRuleName(v string) *GetInsightRuleReportInput {
- s.RuleName = &v
- return s
-}
-
-// SetStartTime sets the StartTime field's value.
-func (s *GetInsightRuleReportInput) SetStartTime(v time.Time) *GetInsightRuleReportInput {
- s.StartTime = &v
- return s
-}
-
-type GetInsightRuleReportOutput struct {
- _ struct{} `type:"structure"`
-
- // The sum of the values from all individual contributors that match the rule.
- AggregateValue *float64 `type:"double"`
-
- // Specifies whether this rule aggregates contributor data by COUNT or SUM.
- AggregationStatistic *string `type:"string"`
-
- // An approximate count of the unique contributors found by this rule in this
- // time period.
- ApproximateUniqueCount *int64 `type:"long"`
-
- // An array of the unique contributors found by this rule in this time period.
- // If the rule contains multiple keys, each combination of values for the keys
- // counts as a unique contributor.
- Contributors []*InsightRuleContributor `type:"list"`
-
- // An array of the strings used as the keys for this rule. The keys are the
- // dimensions used to classify contributors. If the rule contains more than
- // one key, then each unique combination of values for the keys is counted as
- // a unique contributor.
- KeyLabels []*string `type:"list"`
-
- // A time series of metric data points that matches the time period in the rule
- // request.
- MetricDatapoints []*InsightRuleMetricDatapoint `type:"list"`
-}
-
-// String returns the string representation
-func (s GetInsightRuleReportOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GetInsightRuleReportOutput) GoString() string {
- return s.String()
-}
-
-// SetAggregateValue sets the AggregateValue field's value.
-func (s *GetInsightRuleReportOutput) SetAggregateValue(v float64) *GetInsightRuleReportOutput {
- s.AggregateValue = &v
- return s
-}
-
-// SetAggregationStatistic sets the AggregationStatistic field's value.
-func (s *GetInsightRuleReportOutput) SetAggregationStatistic(v string) *GetInsightRuleReportOutput {
- s.AggregationStatistic = &v
- return s
-}
-
-// SetApproximateUniqueCount sets the ApproximateUniqueCount field's value.
-func (s *GetInsightRuleReportOutput) SetApproximateUniqueCount(v int64) *GetInsightRuleReportOutput {
- s.ApproximateUniqueCount = &v
- return s
-}
-
-// SetContributors sets the Contributors field's value.
-func (s *GetInsightRuleReportOutput) SetContributors(v []*InsightRuleContributor) *GetInsightRuleReportOutput {
- s.Contributors = v
- return s
-}
-
-// SetKeyLabels sets the KeyLabels field's value.
-func (s *GetInsightRuleReportOutput) SetKeyLabels(v []*string) *GetInsightRuleReportOutput {
- s.KeyLabels = v
- return s
-}
-
-// SetMetricDatapoints sets the MetricDatapoints field's value.
-func (s *GetInsightRuleReportOutput) SetMetricDatapoints(v []*InsightRuleMetricDatapoint) *GetInsightRuleReportOutput {
- s.MetricDatapoints = v
- return s
-}
-
-type GetMetricDataInput struct {
- _ struct{} `type:"structure"`
-
- // The time stamp indicating the latest data to be returned.
- //
- // The value specified is exclusive; results include data points up to the specified
- // time stamp.
- //
- // For better performance, specify StartTime and EndTime values that align with
- // the value of the metric's Period and sync up with the beginning and end of
- // an hour. For example, if the Period of a metric is 5 minutes, specifying
- // 12:05 or 12:30 as EndTime can get a faster response from CloudWatch than
- // setting 12:07 or 12:29 as the EndTime.
- //
- // EndTime is a required field
- EndTime *time.Time `type:"timestamp" required:"true"`
-
- // The maximum number of data points the request should return before paginating.
- // If you omit this, the default of 100,800 is used.
- MaxDatapoints *int64 `type:"integer"`
-
- // The metric queries to be returned. A single GetMetricData call can include
- // as many as 100 MetricDataQuery structures. Each of these structures can specify
- // either a metric to retrieve, or a math expression to perform on retrieved
- // data.
- //
- // MetricDataQueries is a required field
- MetricDataQueries []*MetricDataQuery `type:"list" required:"true"`
-
- // Include this value, if it was returned by the previous call, to get the next
- // set of data points.
- NextToken *string `type:"string"`
-
- // The order in which data points should be returned. TimestampDescending returns
- // the newest data first and paginates when the MaxDatapoints limit is reached.
- // TimestampAscending returns the oldest data first and paginates when the MaxDatapoints
- // limit is reached.
- ScanBy *string `type:"string" enum:"ScanBy"`
-
- // The time stamp indicating the earliest data to be returned.
- //
- // The value specified is inclusive; results include data points with the specified
- // time stamp.
- //
- // CloudWatch rounds the specified time stamp as follows:
- //
- // * Start time less than 15 days ago - Round down to the nearest whole minute.
- // For example, 12:32:34 is rounded down to 12:32:00.
- //
- // * Start time between 15 and 63 days ago - Round down to the nearest 5-minute
- // clock interval. For example, 12:32:34 is rounded down to 12:30:00.
- //
- // * Start time greater than 63 days ago - Round down to the nearest 1-hour
- // clock interval. For example, 12:32:34 is rounded down to 12:00:00.
- //
- // If you set Period to 5, 10, or 30, the start time of your request is rounded
- // down to the nearest time that corresponds to even 5-, 10-, or 30-second divisions
- // of a minute. For example, if you make a query at (HH:mm:ss) 01:05:23 for
- // the previous 10-second period, the start time of your request is rounded
- // down and you receive data from 01:05:10 to 01:05:20. If you make a query
- // at 15:07:17 for the previous 5 minutes of data, using a period of 5 seconds,
- // you receive data timestamped between 15:02:15 and 15:07:15.
- //
- // For better performance, specify StartTime and EndTime values that align with
- // the value of the metric's Period and sync up with the beginning and end of
- // an hour. For example, if the Period of a metric is 5 minutes, specifying
- // 12:05 or 12:30 as StartTime can get a faster response from CloudWatch than
- // setting 12:07 or 12:29 as the StartTime.
- //
- // StartTime is a required field
- StartTime *time.Time `type:"timestamp" required:"true"`
-}
-
-// String returns the string representation
-func (s GetMetricDataInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GetMetricDataInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *GetMetricDataInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "GetMetricDataInput"}
- if s.EndTime == nil {
- invalidParams.Add(request.NewErrParamRequired("EndTime"))
- }
- if s.MetricDataQueries == nil {
- invalidParams.Add(request.NewErrParamRequired("MetricDataQueries"))
- }
- if s.StartTime == nil {
- invalidParams.Add(request.NewErrParamRequired("StartTime"))
- }
- if s.MetricDataQueries != nil {
- for i, v := range s.MetricDataQueries {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MetricDataQueries", i), err.(request.ErrInvalidParams))
- }
- }
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetEndTime sets the EndTime field's value.
-func (s *GetMetricDataInput) SetEndTime(v time.Time) *GetMetricDataInput {
- s.EndTime = &v
- return s
-}
-
-// SetMaxDatapoints sets the MaxDatapoints field's value.
-func (s *GetMetricDataInput) SetMaxDatapoints(v int64) *GetMetricDataInput {
- s.MaxDatapoints = &v
- return s
-}
-
-// SetMetricDataQueries sets the MetricDataQueries field's value.
-func (s *GetMetricDataInput) SetMetricDataQueries(v []*MetricDataQuery) *GetMetricDataInput {
- s.MetricDataQueries = v
- return s
-}
-
-// SetNextToken sets the NextToken field's value.
-func (s *GetMetricDataInput) SetNextToken(v string) *GetMetricDataInput {
- s.NextToken = &v
- return s
-}
-
-// SetScanBy sets the ScanBy field's value.
-func (s *GetMetricDataInput) SetScanBy(v string) *GetMetricDataInput {
- s.ScanBy = &v
- return s
-}
-
-// SetStartTime sets the StartTime field's value.
-func (s *GetMetricDataInput) SetStartTime(v time.Time) *GetMetricDataInput {
- s.StartTime = &v
- return s
-}
-
-type GetMetricDataOutput struct {
- _ struct{} `type:"structure"`
-
- // Contains a message about this GetMetricData operation, if the operation results
- // in such a message. An example of a message that may be returned is Maximum
- // number of allowed metrics exceeded. If there is a message, as much of the
- // operation as possible is still executed.
- //
- // A message appears here only if it is related to the global GetMetricData
- // operation. Any message about a specific metric returned by the operation
- // appears in the MetricDataResult object returned for that metric.
- Messages []*MessageData `type:"list"`
-
- // The metrics that are returned, including the metric name, namespace, and
- // dimensions.
- MetricDataResults []*MetricDataResult `type:"list"`
-
- // A token that marks the next batch of returned results.
- NextToken *string `type:"string"`
-}
-
-// String returns the string representation
-func (s GetMetricDataOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GetMetricDataOutput) GoString() string {
- return s.String()
-}
-
-// SetMessages sets the Messages field's value.
-func (s *GetMetricDataOutput) SetMessages(v []*MessageData) *GetMetricDataOutput {
- s.Messages = v
- return s
-}
-
-// SetMetricDataResults sets the MetricDataResults field's value.
-func (s *GetMetricDataOutput) SetMetricDataResults(v []*MetricDataResult) *GetMetricDataOutput {
- s.MetricDataResults = v
- return s
-}
-
-// SetNextToken sets the NextToken field's value.
-func (s *GetMetricDataOutput) SetNextToken(v string) *GetMetricDataOutput {
- s.NextToken = &v
- return s
-}
-
-type GetMetricStatisticsInput struct {
- _ struct{} `type:"structure"`
-
- // The dimensions. If the metric contains multiple dimensions, you must include
- // a value for each dimension. CloudWatch treats each unique combination of
- // dimensions as a separate metric. If a specific combination of dimensions
- // was not published, you can't retrieve statistics for it. You must specify
- // the same dimensions that were used when the metrics were created. For an
- // example, see Dimension Combinations (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#dimension-combinations)
- // in the Amazon CloudWatch User Guide. For more information about specifying
- // dimensions, see Publishing Metrics (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html)
- // in the Amazon CloudWatch User Guide.
- Dimensions []*Dimension `type:"list"`
-
- // The time stamp that determines the last data point to return.
- //
- // The value specified is exclusive; results include data points up to the specified
- // time stamp. In a raw HTTP query, the time stamp must be in ISO 8601 UTC format
- // (for example, 2016-10-10T23:00:00Z).
- //
- // EndTime is a required field
- EndTime *time.Time `type:"timestamp" required:"true"`
-
- // The percentile statistics. Specify values between p0.0 and p100. When calling
- // GetMetricStatistics, you must specify either Statistics or ExtendedStatistics,
- // but not both. Percentile statistics are not available for metrics when any
- // of the metric values are negative numbers.
- ExtendedStatistics []*string `min:"1" type:"list"`
-
- // The name of the metric, with or without spaces.
- //
- // MetricName is a required field
- MetricName *string `min:"1" type:"string" required:"true"`
-
- // The namespace of the metric, with or without spaces.
- //
- // Namespace is a required field
- Namespace *string `min:"1" type:"string" required:"true"`
-
- // The granularity, in seconds, of the returned data points. For metrics with
- // regular resolution, a period can be as short as one minute (60 seconds) and
- // must be a multiple of 60. For high-resolution metrics that are collected
- // at intervals of less than one minute, the period can be 1, 5, 10, 30, 60,
- // or any multiple of 60. High-resolution metrics are those metrics stored by
- // a PutMetricData call that includes a StorageResolution of 1 second.
- //
- // If the StartTime parameter specifies a time stamp that is greater than 3
- // hours ago, you must specify the period as follows or no data points in that
- // time range is returned:
- //
- // * Start time between 3 hours and 15 days ago - Use a multiple of 60 seconds
- // (1 minute).
- //
- // * Start time between 15 and 63 days ago - Use a multiple of 300 seconds
- // (5 minutes).
- //
- // * Start time greater than 63 days ago - Use a multiple of 3600 seconds
- // (1 hour).
- //
- // Period is a required field
- Period *int64 `min:"1" type:"integer" required:"true"`
-
- // The time stamp that determines the first data point to return. Start times
- // are evaluated relative to the time that CloudWatch receives the request.
- //
- // The value specified is inclusive; results include data points with the specified
- // time stamp. In a raw HTTP query, the time stamp must be in ISO 8601 UTC format
- // (for example, 2016-10-03T23:00:00Z).
- //
- // CloudWatch rounds the specified time stamp as follows:
- //
- // * Start time less than 15 days ago - Round down to the nearest whole minute.
- // For example, 12:32:34 is rounded down to 12:32:00.
- //
- // * Start time between 15 and 63 days ago - Round down to the nearest 5-minute
- // clock interval. For example, 12:32:34 is rounded down to 12:30:00.
- //
- // * Start time greater than 63 days ago - Round down to the nearest 1-hour
- // clock interval. For example, 12:32:34 is rounded down to 12:00:00.
- //
- // If you set Period to 5, 10, or 30, the start time of your request is rounded
- // down to the nearest time that corresponds to even 5-, 10-, or 30-second divisions
- // of a minute. For example, if you make a query at (HH:mm:ss) 01:05:23 for
- // the previous 10-second period, the start time of your request is rounded
- // down and you receive data from 01:05:10 to 01:05:20. If you make a query
- // at 15:07:17 for the previous 5 minutes of data, using a period of 5 seconds,
- // you receive data timestamped between 15:02:15 and 15:07:15.
- //
- // StartTime is a required field
- StartTime *time.Time `type:"timestamp" required:"true"`
-
- // The metric statistics, other than percentile. For percentile statistics,
- // use ExtendedStatistics. When calling GetMetricStatistics, you must specify
- // either Statistics or ExtendedStatistics, but not both.
- Statistics []*string `min:"1" type:"list"`
-
- // The unit for a given metric. If you omit Unit, all data that was collected
- // with any unit is returned, along with the corresponding units that were specified
- // when the data was reported to CloudWatch. If you specify a unit, the operation
- // returns only data data that was collected with that unit specified. If you
- // specify a unit that does not match the data collected, the results of the
- // operation are null. CloudWatch does not perform unit conversions.
- Unit *string `type:"string" enum:"StandardUnit"`
-}
-
-// String returns the string representation
-func (s GetMetricStatisticsInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GetMetricStatisticsInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *GetMetricStatisticsInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "GetMetricStatisticsInput"}
- if s.EndTime == nil {
- invalidParams.Add(request.NewErrParamRequired("EndTime"))
- }
- if s.ExtendedStatistics != nil && len(s.ExtendedStatistics) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("ExtendedStatistics", 1))
- }
- if s.MetricName == nil {
- invalidParams.Add(request.NewErrParamRequired("MetricName"))
- }
- if s.MetricName != nil && len(*s.MetricName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("MetricName", 1))
- }
- if s.Namespace == nil {
- invalidParams.Add(request.NewErrParamRequired("Namespace"))
- }
- if s.Namespace != nil && len(*s.Namespace) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Namespace", 1))
- }
- if s.Period == nil {
- invalidParams.Add(request.NewErrParamRequired("Period"))
- }
- if s.Period != nil && *s.Period < 1 {
- invalidParams.Add(request.NewErrParamMinValue("Period", 1))
- }
- if s.StartTime == nil {
- invalidParams.Add(request.NewErrParamRequired("StartTime"))
- }
- if s.Statistics != nil && len(s.Statistics) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Statistics", 1))
- }
- if s.Dimensions != nil {
- for i, v := range s.Dimensions {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Dimensions", i), err.(request.ErrInvalidParams))
- }
- }
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetDimensions sets the Dimensions field's value.
-func (s *GetMetricStatisticsInput) SetDimensions(v []*Dimension) *GetMetricStatisticsInput {
- s.Dimensions = v
- return s
-}
-
-// SetEndTime sets the EndTime field's value.
-func (s *GetMetricStatisticsInput) SetEndTime(v time.Time) *GetMetricStatisticsInput {
- s.EndTime = &v
- return s
-}
-
-// SetExtendedStatistics sets the ExtendedStatistics field's value.
-func (s *GetMetricStatisticsInput) SetExtendedStatistics(v []*string) *GetMetricStatisticsInput {
- s.ExtendedStatistics = v
- return s
-}
-
-// SetMetricName sets the MetricName field's value.
-func (s *GetMetricStatisticsInput) SetMetricName(v string) *GetMetricStatisticsInput {
- s.MetricName = &v
- return s
-}
-
-// SetNamespace sets the Namespace field's value.
-func (s *GetMetricStatisticsInput) SetNamespace(v string) *GetMetricStatisticsInput {
- s.Namespace = &v
- return s
-}
-
-// SetPeriod sets the Period field's value.
-func (s *GetMetricStatisticsInput) SetPeriod(v int64) *GetMetricStatisticsInput {
- s.Period = &v
- return s
-}
-
-// SetStartTime sets the StartTime field's value.
-func (s *GetMetricStatisticsInput) SetStartTime(v time.Time) *GetMetricStatisticsInput {
- s.StartTime = &v
- return s
-}
-
-// SetStatistics sets the Statistics field's value.
-func (s *GetMetricStatisticsInput) SetStatistics(v []*string) *GetMetricStatisticsInput {
- s.Statistics = v
- return s
-}
-
-// SetUnit sets the Unit field's value.
-func (s *GetMetricStatisticsInput) SetUnit(v string) *GetMetricStatisticsInput {
- s.Unit = &v
- return s
-}
-
-type GetMetricStatisticsOutput struct {
- _ struct{} `type:"structure"`
-
- // The data points for the specified metric.
- Datapoints []*Datapoint `type:"list"`
-
- // A label for the specified metric.
- Label *string `type:"string"`
-}
-
-// String returns the string representation
-func (s GetMetricStatisticsOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GetMetricStatisticsOutput) GoString() string {
- return s.String()
-}
-
-// SetDatapoints sets the Datapoints field's value.
-func (s *GetMetricStatisticsOutput) SetDatapoints(v []*Datapoint) *GetMetricStatisticsOutput {
- s.Datapoints = v
- return s
-}
-
-// SetLabel sets the Label field's value.
-func (s *GetMetricStatisticsOutput) SetLabel(v string) *GetMetricStatisticsOutput {
- s.Label = &v
- return s
-}
-
-type GetMetricWidgetImageInput struct {
- _ struct{} `type:"structure"`
-
- // A JSON string that defines the bitmap graph to be retrieved. The string includes
- // the metrics to include in the graph, statistics, annotations, title, axis
- // limits, and so on. You can include only one MetricWidget parameter in each
- // GetMetricWidgetImage call.
- //
- // For more information about the syntax of MetricWidget see CloudWatch-Metric-Widget-Structure.
- //
- // If any metric on the graph could not load all the requested data points,
- // an orange triangle with an exclamation point appears next to the graph legend.
- //
- // MetricWidget is a required field
- MetricWidget *string `type:"string" required:"true"`
-
- // The format of the resulting image. Only PNG images are supported.
- //
- // The default is png. If you specify png, the API returns an HTTP response
- // with the content-type set to text/xml. The image data is in a MetricWidgetImage
- // field. For example:
- //
- // >
- //
- //
- //
- //
- //
- // iVBORw0KGgoAAAANSUhEUgAAAlgAAAGQEAYAAAAip...
- //
- //
- //
- //
- //
- //
- //
- // 6f0d4192-4d42-11e8-82c1-f539a07e0e3b
- //
- //
- //
- //
- //
- // The image/png setting is intended only for custom HTTP requests. For most
- // use cases, and all actions using an AWS SDK, you should use png. If you specify
- // image/png, the HTTP response has a content-type set to image/png, and the
- // body of the response is a PNG image.
- OutputFormat *string `type:"string"`
-}
-
-// String returns the string representation
-func (s GetMetricWidgetImageInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GetMetricWidgetImageInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *GetMetricWidgetImageInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "GetMetricWidgetImageInput"}
- if s.MetricWidget == nil {
- invalidParams.Add(request.NewErrParamRequired("MetricWidget"))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetMetricWidget sets the MetricWidget field's value.
-func (s *GetMetricWidgetImageInput) SetMetricWidget(v string) *GetMetricWidgetImageInput {
- s.MetricWidget = &v
- return s
-}
-
-// SetOutputFormat sets the OutputFormat field's value.
-func (s *GetMetricWidgetImageInput) SetOutputFormat(v string) *GetMetricWidgetImageInput {
- s.OutputFormat = &v
- return s
-}
-
-type GetMetricWidgetImageOutput struct {
- _ struct{} `type:"structure"`
-
- // The image of the graph, in the output format specified.
- //
- // MetricWidgetImage is automatically base64 encoded/decoded by the SDK.
- MetricWidgetImage []byte `type:"blob"`
-}
-
-// String returns the string representation
-func (s GetMetricWidgetImageOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GetMetricWidgetImageOutput) GoString() string {
- return s.String()
-}
-
-// SetMetricWidgetImage sets the MetricWidgetImage field's value.
-func (s *GetMetricWidgetImageOutput) SetMetricWidgetImage(v []byte) *GetMetricWidgetImageOutput {
- s.MetricWidgetImage = v
- return s
-}
-
-// This structure contains the definition for a Contributor Insights rule.
-type InsightRule struct {
- _ struct{} `type:"structure"`
-
- // The definition of the rule, as a JSON object. The definition contains the
- // keywords used to define contributors, the value to aggregate on if this rule
- // returns a sum instead of a count, and the filters. For details on the valid
- // syntax, see Contributor Insights Rule Syntax (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContributorInsights-RuleSyntax.html).
- //
- // Definition is a required field
- Definition *string `min:"1" type:"string" required:"true"`
-
- // The name of the rule.
- //
- // Name is a required field
- Name *string `min:"1" type:"string" required:"true"`
-
- // For rules that you create, this is always {"Name": "CloudWatchLogRule", "Version":
- // 1}. For built-in rules, this is {"Name": "ServiceLogRule", "Version": 1}
- //
- // Schema is a required field
- Schema *string `type:"string" required:"true"`
-
- // Indicates whether the rule is enabled or disabled.
- //
- // State is a required field
- State *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s InsightRule) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s InsightRule) GoString() string {
- return s.String()
-}
-
-// SetDefinition sets the Definition field's value.
-func (s *InsightRule) SetDefinition(v string) *InsightRule {
- s.Definition = &v
- return s
-}
-
-// SetName sets the Name field's value.
-func (s *InsightRule) SetName(v string) *InsightRule {
- s.Name = &v
- return s
-}
-
-// SetSchema sets the Schema field's value.
-func (s *InsightRule) SetSchema(v string) *InsightRule {
- s.Schema = &v
- return s
-}
-
-// SetState sets the State field's value.
-func (s *InsightRule) SetState(v string) *InsightRule {
- s.State = &v
- return s
-}
-
-// One of the unique contributors found by a Contributor Insights rule. If the
-// rule contains multiple keys, then a unique contributor is a unique combination
-// of values from all the keys in the rule.
-//
-// If the rule contains a single key, then each unique contributor is each unique
-// value for this key.
-//
-// For more information, see GetInsightRuleReport.
-type InsightRuleContributor struct {
- _ struct{} `type:"structure"`
-
- // An approximation of the aggregate value that comes from this contributor.
- //
- // ApproximateAggregateValue is a required field
- ApproximateAggregateValue *float64 `type:"double" required:"true"`
-
- // An array of the data points where this contributor is present. Only the data
- // points when this contributor appeared are included in the array.
- //
- // Datapoints is a required field
- Datapoints []*InsightRuleContributorDatapoint `type:"list" required:"true"`
-
- // One of the log entry field keywords that is used to define contributors for
- // this rule.
- //
- // Keys is a required field
- Keys []*string `type:"list" required:"true"`
-}
-
-// String returns the string representation
-func (s InsightRuleContributor) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s InsightRuleContributor) GoString() string {
- return s.String()
-}
-
-// SetApproximateAggregateValue sets the ApproximateAggregateValue field's value.
-func (s *InsightRuleContributor) SetApproximateAggregateValue(v float64) *InsightRuleContributor {
- s.ApproximateAggregateValue = &v
- return s
-}
-
-// SetDatapoints sets the Datapoints field's value.
-func (s *InsightRuleContributor) SetDatapoints(v []*InsightRuleContributorDatapoint) *InsightRuleContributor {
- s.Datapoints = v
- return s
-}
-
-// SetKeys sets the Keys field's value.
-func (s *InsightRuleContributor) SetKeys(v []*string) *InsightRuleContributor {
- s.Keys = v
- return s
-}
-
-// One data point related to one contributor.
-//
-// For more information, see GetInsightRuleReport and InsightRuleContributor.
-type InsightRuleContributorDatapoint struct {
- _ struct{} `type:"structure"`
-
- // The approximate value that this contributor added during this timestamp.
- //
- // ApproximateValue is a required field
- ApproximateValue *float64 `type:"double" required:"true"`
-
- // The timestamp of the data point.
- //
- // Timestamp is a required field
- Timestamp *time.Time `type:"timestamp" required:"true"`
-}
-
-// String returns the string representation
-func (s InsightRuleContributorDatapoint) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s InsightRuleContributorDatapoint) GoString() string {
- return s.String()
-}
-
-// SetApproximateValue sets the ApproximateValue field's value.
-func (s *InsightRuleContributorDatapoint) SetApproximateValue(v float64) *InsightRuleContributorDatapoint {
- s.ApproximateValue = &v
- return s
-}
-
-// SetTimestamp sets the Timestamp field's value.
-func (s *InsightRuleContributorDatapoint) SetTimestamp(v time.Time) *InsightRuleContributorDatapoint {
- s.Timestamp = &v
- return s
-}
-
-// One data point from the metric time series returned in a Contributor Insights
-// rule report.
-//
-// For more information, see GetInsightRuleReport.
-type InsightRuleMetricDatapoint struct {
- _ struct{} `type:"structure"`
-
- // The average value from all contributors during the time period represented
- // by that data point.
- //
- // This statistic is returned only if you included it in the Metrics array in
- // your request.
- Average *float64 `type:"double"`
-
- // The maximum value provided by one contributor during this timestamp. Each
- // timestamp is evaluated separately, so the identity of the max contributor
- // could be different for each timestamp.
- //
- // This statistic is returned only if you included it in the Metrics array in
- // your request.
- MaxContributorValue *float64 `type:"double"`
-
- // The maximum value from a single occurence from a single contributor during
- // the time period represented by that data point.
- //
- // This statistic is returned only if you included it in the Metrics array in
- // your request.
- Maximum *float64 `type:"double"`
-
- // The minimum value from a single contributor during the time period represented
- // by that data point.
- //
- // This statistic is returned only if you included it in the Metrics array in
- // your request.
- Minimum *float64 `type:"double"`
-
- // The number of occurrences that matched the rule during this data point.
- //
- // This statistic is returned only if you included it in the Metrics array in
- // your request.
- SampleCount *float64 `type:"double"`
-
- // The sum of the values from all contributors during the time period represented
- // by that data point.
- //
- // This statistic is returned only if you included it in the Metrics array in
- // your request.
- Sum *float64 `type:"double"`
-
- // The timestamp of the data point.
- //
- // Timestamp is a required field
- Timestamp *time.Time `type:"timestamp" required:"true"`
-
- // The number of unique contributors who published data during this timestamp.
- //
- // This statistic is returned only if you included it in the Metrics array in
- // your request.
- UniqueContributors *float64 `type:"double"`
-}
-
-// String returns the string representation
-func (s InsightRuleMetricDatapoint) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s InsightRuleMetricDatapoint) GoString() string {
- return s.String()
-}
-
-// SetAverage sets the Average field's value.
-func (s *InsightRuleMetricDatapoint) SetAverage(v float64) *InsightRuleMetricDatapoint {
- s.Average = &v
- return s
-}
-
-// SetMaxContributorValue sets the MaxContributorValue field's value.
-func (s *InsightRuleMetricDatapoint) SetMaxContributorValue(v float64) *InsightRuleMetricDatapoint {
- s.MaxContributorValue = &v
- return s
-}
-
-// SetMaximum sets the Maximum field's value.
-func (s *InsightRuleMetricDatapoint) SetMaximum(v float64) *InsightRuleMetricDatapoint {
- s.Maximum = &v
- return s
-}
-
-// SetMinimum sets the Minimum field's value.
-func (s *InsightRuleMetricDatapoint) SetMinimum(v float64) *InsightRuleMetricDatapoint {
- s.Minimum = &v
- return s
-}
-
-// SetSampleCount sets the SampleCount field's value.
-func (s *InsightRuleMetricDatapoint) SetSampleCount(v float64) *InsightRuleMetricDatapoint {
- s.SampleCount = &v
- return s
-}
-
-// SetSum sets the Sum field's value.
-func (s *InsightRuleMetricDatapoint) SetSum(v float64) *InsightRuleMetricDatapoint {
- s.Sum = &v
- return s
-}
-
-// SetTimestamp sets the Timestamp field's value.
-func (s *InsightRuleMetricDatapoint) SetTimestamp(v time.Time) *InsightRuleMetricDatapoint {
- s.Timestamp = &v
- return s
-}
-
-// SetUniqueContributors sets the UniqueContributors field's value.
-func (s *InsightRuleMetricDatapoint) SetUniqueContributors(v float64) *InsightRuleMetricDatapoint {
- s.UniqueContributors = &v
- return s
-}
-
-type ListDashboardsInput struct {
- _ struct{} `type:"structure"`
-
- // If you specify this parameter, only the dashboards with names starting with
- // the specified string are listed. The maximum length is 255, and valid characters
- // are A-Z, a-z, 0-9, ".", "-", and "_".
- DashboardNamePrefix *string `type:"string"`
-
- // The token returned by a previous call to indicate that there is more data
- // available.
- NextToken *string `type:"string"`
-}
-
-// String returns the string representation
-func (s ListDashboardsInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListDashboardsInput) GoString() string {
- return s.String()
-}
-
-// SetDashboardNamePrefix sets the DashboardNamePrefix field's value.
-func (s *ListDashboardsInput) SetDashboardNamePrefix(v string) *ListDashboardsInput {
- s.DashboardNamePrefix = &v
- return s
-}
-
-// SetNextToken sets the NextToken field's value.
-func (s *ListDashboardsInput) SetNextToken(v string) *ListDashboardsInput {
- s.NextToken = &v
- return s
-}
-
-type ListDashboardsOutput struct {
- _ struct{} `type:"structure"`
-
- // The list of matching dashboards.
- DashboardEntries []*DashboardEntry `type:"list"`
-
- // The token that marks the start of the next batch of returned results.
- NextToken *string `type:"string"`
-}
-
-// String returns the string representation
-func (s ListDashboardsOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListDashboardsOutput) GoString() string {
- return s.String()
-}
-
-// SetDashboardEntries sets the DashboardEntries field's value.
-func (s *ListDashboardsOutput) SetDashboardEntries(v []*DashboardEntry) *ListDashboardsOutput {
- s.DashboardEntries = v
- return s
-}
-
-// SetNextToken sets the NextToken field's value.
-func (s *ListDashboardsOutput) SetNextToken(v string) *ListDashboardsOutput {
- s.NextToken = &v
- return s
-}
-
-type ListMetricsInput struct {
- _ struct{} `type:"structure"`
-
- // The dimensions to filter against.
- Dimensions []*DimensionFilter `type:"list"`
-
- // The name of the metric to filter against.
- MetricName *string `min:"1" type:"string"`
-
- // The namespace to filter against.
- Namespace *string `min:"1" type:"string"`
-
- // The token returned by a previous call to indicate that there is more data
- // available.
- NextToken *string `type:"string"`
-}
-
-// String returns the string representation
-func (s ListMetricsInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListMetricsInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *ListMetricsInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListMetricsInput"}
- if s.MetricName != nil && len(*s.MetricName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("MetricName", 1))
- }
- if s.Namespace != nil && len(*s.Namespace) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Namespace", 1))
- }
- if s.Dimensions != nil {
- for i, v := range s.Dimensions {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Dimensions", i), err.(request.ErrInvalidParams))
- }
- }
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetDimensions sets the Dimensions field's value.
-func (s *ListMetricsInput) SetDimensions(v []*DimensionFilter) *ListMetricsInput {
- s.Dimensions = v
- return s
-}
-
-// SetMetricName sets the MetricName field's value.
-func (s *ListMetricsInput) SetMetricName(v string) *ListMetricsInput {
- s.MetricName = &v
- return s
-}
-
-// SetNamespace sets the Namespace field's value.
-func (s *ListMetricsInput) SetNamespace(v string) *ListMetricsInput {
- s.Namespace = &v
- return s
-}
-
-// SetNextToken sets the NextToken field's value.
-func (s *ListMetricsInput) SetNextToken(v string) *ListMetricsInput {
- s.NextToken = &v
- return s
-}
-
-type ListMetricsOutput struct {
- _ struct{} `type:"structure"`
-
- // The metrics.
- Metrics []*Metric `type:"list"`
-
- // The token that marks the start of the next batch of returned results.
- NextToken *string `type:"string"`
-}
-
-// String returns the string representation
-func (s ListMetricsOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListMetricsOutput) GoString() string {
- return s.String()
-}
-
-// SetMetrics sets the Metrics field's value.
-func (s *ListMetricsOutput) SetMetrics(v []*Metric) *ListMetricsOutput {
- s.Metrics = v
- return s
-}
-
-// SetNextToken sets the NextToken field's value.
-func (s *ListMetricsOutput) SetNextToken(v string) *ListMetricsOutput {
- s.NextToken = &v
- return s
-}
-
-type ListTagsForResourceInput struct {
- _ struct{} `type:"structure"`
-
- // The ARN of the CloudWatch resource that you want to view tags for. For more
- // information on ARN format, see Example ARNs (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-cloudwatch)
- // in the Amazon Web Services General Reference.
- //
- // ResourceARN is a required field
- ResourceARN *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s ListTagsForResourceInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListTagsForResourceInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *ListTagsForResourceInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
- if s.ResourceARN == nil {
- invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
- }
- if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetResourceARN sets the ResourceARN field's value.
-func (s *ListTagsForResourceInput) SetResourceARN(v string) *ListTagsForResourceInput {
- s.ResourceARN = &v
- return s
-}
-
-type ListTagsForResourceOutput struct {
- _ struct{} `type:"structure"`
-
- // The list of tag keys and values associated with the resource you specified.
- Tags []*Tag `type:"list"`
-}
-
-// String returns the string representation
-func (s ListTagsForResourceOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListTagsForResourceOutput) GoString() string {
- return s.String()
-}
-
-// SetTags sets the Tags field's value.
-func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput {
- s.Tags = v
- return s
-}
-
-// A message returned by the GetMetricDataAPI, including a code and a description.
-type MessageData struct {
- _ struct{} `type:"structure"`
-
- // The error code or status code associated with the message.
- Code *string `type:"string"`
-
- // The message text.
- Value *string `type:"string"`
-}
-
-// String returns the string representation
-func (s MessageData) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s MessageData) GoString() string {
- return s.String()
-}
-
-// SetCode sets the Code field's value.
-func (s *MessageData) SetCode(v string) *MessageData {
- s.Code = &v
- return s
-}
-
-// SetValue sets the Value field's value.
-func (s *MessageData) SetValue(v string) *MessageData {
- s.Value = &v
- return s
-}
-
-// Represents a specific metric.
-type Metric struct {
- _ struct{} `type:"structure"`
-
- // The dimensions for the metric.
- Dimensions []*Dimension `type:"list"`
-
- // The name of the metric. This is a required field.
- MetricName *string `min:"1" type:"string"`
-
- // The namespace of the metric.
- Namespace *string `min:"1" type:"string"`
-}
-
-// String returns the string representation
-func (s Metric) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s Metric) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *Metric) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "Metric"}
- if s.MetricName != nil && len(*s.MetricName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("MetricName", 1))
- }
- if s.Namespace != nil && len(*s.Namespace) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Namespace", 1))
- }
- if s.Dimensions != nil {
- for i, v := range s.Dimensions {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Dimensions", i), err.(request.ErrInvalidParams))
- }
- }
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetDimensions sets the Dimensions field's value.
-func (s *Metric) SetDimensions(v []*Dimension) *Metric {
- s.Dimensions = v
- return s
-}
-
-// SetMetricName sets the MetricName field's value.
-func (s *Metric) SetMetricName(v string) *Metric {
- s.MetricName = &v
- return s
-}
-
-// SetNamespace sets the Namespace field's value.
-func (s *Metric) SetNamespace(v string) *Metric {
- s.Namespace = &v
- return s
-}
-
-// Represents an alarm.
-type MetricAlarm struct {
- _ struct{} `type:"structure"`
-
- // Indicates whether actions should be executed during any changes to the alarm
- // state.
- ActionsEnabled *bool `type:"boolean"`
-
- // The actions to execute when this alarm transitions to the ALARM state from
- // any other state. Each action is specified as an Amazon Resource Name (ARN).
- AlarmActions []*string `type:"list"`
-
- // The Amazon Resource Name (ARN) of the alarm.
- AlarmArn *string `min:"1" type:"string"`
-
- // The time stamp of the last update to the alarm configuration.
- AlarmConfigurationUpdatedTimestamp *time.Time `type:"timestamp"`
-
- // The description of the alarm.
- AlarmDescription *string `type:"string"`
-
- // The name of the alarm.
- AlarmName *string `min:"1" type:"string"`
-
- // The arithmetic operation to use when comparing the specified statistic and
- // threshold. The specified statistic value is used as the first operand.
- ComparisonOperator *string `type:"string" enum:"ComparisonOperator"`
-
- // The number of data points that must be breaching to trigger the alarm.
- DatapointsToAlarm *int64 `min:"1" type:"integer"`
-
- // The dimensions for the metric associated with the alarm.
- Dimensions []*Dimension `type:"list"`
-
- // Used only for alarms based on percentiles. If ignore, the alarm state does
- // not change during periods with too few data points to be statistically significant.
- // If evaluate or this parameter is not used, the alarm is always evaluated
- // and possibly changes state no matter how many data points are available.
- EvaluateLowSampleCountPercentile *string `min:"1" type:"string"`
-
- // The number of periods over which data is compared to the specified threshold.
- EvaluationPeriods *int64 `min:"1" type:"integer"`
-
- // The percentile statistic for the metric associated with the alarm. Specify
- // a value between p0.0 and p100.
- ExtendedStatistic *string `type:"string"`
-
- // The actions to execute when this alarm transitions to the INSUFFICIENT_DATA
- // state from any other state. Each action is specified as an Amazon Resource
- // Name (ARN).
- InsufficientDataActions []*string `type:"list"`
-
- // The name of the metric associated with the alarm, if this is an alarm based
- // on a single metric.
- MetricName *string `min:"1" type:"string"`
-
- // An array of MetricDataQuery structures, used in an alarm based on a metric
- // math expression. Each structure either retrieves a metric or performs a math
- // expression. One item in the Metrics array is the math expression that the
- // alarm watches. This expression by designated by having ReturnValue set to
- // true.
- Metrics []*MetricDataQuery `type:"list"`
-
- // The namespace of the metric associated with the alarm.
- Namespace *string `min:"1" type:"string"`
-
- // The actions to execute when this alarm transitions to the OK state from any
- // other state. Each action is specified as an Amazon Resource Name (ARN).
- OKActions []*string `type:"list"`
-
- // The period, in seconds, over which the statistic is applied.
- Period *int64 `min:"1" type:"integer"`
-
- // An explanation for the alarm state, in text format.
- StateReason *string `type:"string"`
-
- // An explanation for the alarm state, in JSON format.
- StateReasonData *string `type:"string"`
-
- // The time stamp of the last update to the alarm state.
- StateUpdatedTimestamp *time.Time `type:"timestamp"`
-
- // The state value for the alarm.
- StateValue *string `type:"string" enum:"StateValue"`
-
- // The statistic for the metric associated with the alarm, other than percentile.
- // For percentile statistics, use ExtendedStatistic.
- Statistic *string `type:"string" enum:"Statistic"`
-
- // The value to compare with the specified statistic.
- Threshold *float64 `type:"double"`
-
- // In an alarm based on an anomaly detection model, this is the ID of the ANOMALY_DETECTION_BAND
- // function used as the threshold for the alarm.
- ThresholdMetricId *string `min:"1" type:"string"`
-
- // Sets how this alarm is to handle missing data points. If this parameter is
- // omitted, the default behavior of missing is used.
- TreatMissingData *string `min:"1" type:"string"`
-
- // The unit of the metric associated with the alarm.
- Unit *string `type:"string" enum:"StandardUnit"`
-}
-
-// String returns the string representation
-func (s MetricAlarm) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s MetricAlarm) GoString() string {
- return s.String()
-}
-
-// SetActionsEnabled sets the ActionsEnabled field's value.
-func (s *MetricAlarm) SetActionsEnabled(v bool) *MetricAlarm {
- s.ActionsEnabled = &v
- return s
-}
-
-// SetAlarmActions sets the AlarmActions field's value.
-func (s *MetricAlarm) SetAlarmActions(v []*string) *MetricAlarm {
- s.AlarmActions = v
- return s
-}
-
-// SetAlarmArn sets the AlarmArn field's value.
-func (s *MetricAlarm) SetAlarmArn(v string) *MetricAlarm {
- s.AlarmArn = &v
- return s
-}
-
-// SetAlarmConfigurationUpdatedTimestamp sets the AlarmConfigurationUpdatedTimestamp field's value.
-func (s *MetricAlarm) SetAlarmConfigurationUpdatedTimestamp(v time.Time) *MetricAlarm {
- s.AlarmConfigurationUpdatedTimestamp = &v
- return s
-}
-
-// SetAlarmDescription sets the AlarmDescription field's value.
-func (s *MetricAlarm) SetAlarmDescription(v string) *MetricAlarm {
- s.AlarmDescription = &v
- return s
-}
-
-// SetAlarmName sets the AlarmName field's value.
-func (s *MetricAlarm) SetAlarmName(v string) *MetricAlarm {
- s.AlarmName = &v
- return s
-}
-
-// SetComparisonOperator sets the ComparisonOperator field's value.
-func (s *MetricAlarm) SetComparisonOperator(v string) *MetricAlarm {
- s.ComparisonOperator = &v
- return s
-}
-
-// SetDatapointsToAlarm sets the DatapointsToAlarm field's value.
-func (s *MetricAlarm) SetDatapointsToAlarm(v int64) *MetricAlarm {
- s.DatapointsToAlarm = &v
- return s
-}
-
-// SetDimensions sets the Dimensions field's value.
-func (s *MetricAlarm) SetDimensions(v []*Dimension) *MetricAlarm {
- s.Dimensions = v
- return s
-}
-
-// SetEvaluateLowSampleCountPercentile sets the EvaluateLowSampleCountPercentile field's value.
-func (s *MetricAlarm) SetEvaluateLowSampleCountPercentile(v string) *MetricAlarm {
- s.EvaluateLowSampleCountPercentile = &v
- return s
-}
-
-// SetEvaluationPeriods sets the EvaluationPeriods field's value.
-func (s *MetricAlarm) SetEvaluationPeriods(v int64) *MetricAlarm {
- s.EvaluationPeriods = &v
- return s
-}
-
-// SetExtendedStatistic sets the ExtendedStatistic field's value.
-func (s *MetricAlarm) SetExtendedStatistic(v string) *MetricAlarm {
- s.ExtendedStatistic = &v
- return s
-}
-
-// SetInsufficientDataActions sets the InsufficientDataActions field's value.
-func (s *MetricAlarm) SetInsufficientDataActions(v []*string) *MetricAlarm {
- s.InsufficientDataActions = v
- return s
-}
-
-// SetMetricName sets the MetricName field's value.
-func (s *MetricAlarm) SetMetricName(v string) *MetricAlarm {
- s.MetricName = &v
- return s
-}
-
-// SetMetrics sets the Metrics field's value.
-func (s *MetricAlarm) SetMetrics(v []*MetricDataQuery) *MetricAlarm {
- s.Metrics = v
- return s
-}
-
-// SetNamespace sets the Namespace field's value.
-func (s *MetricAlarm) SetNamespace(v string) *MetricAlarm {
- s.Namespace = &v
- return s
-}
-
-// SetOKActions sets the OKActions field's value.
-func (s *MetricAlarm) SetOKActions(v []*string) *MetricAlarm {
- s.OKActions = v
- return s
-}
-
-// SetPeriod sets the Period field's value.
-func (s *MetricAlarm) SetPeriod(v int64) *MetricAlarm {
- s.Period = &v
- return s
-}
-
-// SetStateReason sets the StateReason field's value.
-func (s *MetricAlarm) SetStateReason(v string) *MetricAlarm {
- s.StateReason = &v
- return s
-}
-
-// SetStateReasonData sets the StateReasonData field's value.
-func (s *MetricAlarm) SetStateReasonData(v string) *MetricAlarm {
- s.StateReasonData = &v
- return s
-}
-
-// SetStateUpdatedTimestamp sets the StateUpdatedTimestamp field's value.
-func (s *MetricAlarm) SetStateUpdatedTimestamp(v time.Time) *MetricAlarm {
- s.StateUpdatedTimestamp = &v
- return s
-}
-
-// SetStateValue sets the StateValue field's value.
-func (s *MetricAlarm) SetStateValue(v string) *MetricAlarm {
- s.StateValue = &v
- return s
-}
-
-// SetStatistic sets the Statistic field's value.
-func (s *MetricAlarm) SetStatistic(v string) *MetricAlarm {
- s.Statistic = &v
- return s
-}
-
-// SetThreshold sets the Threshold field's value.
-func (s *MetricAlarm) SetThreshold(v float64) *MetricAlarm {
- s.Threshold = &v
- return s
-}
-
-// SetThresholdMetricId sets the ThresholdMetricId field's value.
-func (s *MetricAlarm) SetThresholdMetricId(v string) *MetricAlarm {
- s.ThresholdMetricId = &v
- return s
-}
-
-// SetTreatMissingData sets the TreatMissingData field's value.
-func (s *MetricAlarm) SetTreatMissingData(v string) *MetricAlarm {
- s.TreatMissingData = &v
- return s
-}
-
-// SetUnit sets the Unit field's value.
-func (s *MetricAlarm) SetUnit(v string) *MetricAlarm {
- s.Unit = &v
- return s
-}
-
-// This structure is used in both GetMetricData and PutMetricAlarm. The supported
-// use of this structure is different for those two operations.
-//
-// When used in GetMetricData, it indicates the metric data to return, and whether
-// this call is just retrieving a batch set of data for one metric, or is performing
-// a math expression on metric data. A single GetMetricData call can include
-// up to 100 MetricDataQuery structures.
-//
-// When used in PutMetricAlarm, it enables you to create an alarm based on a
-// metric math expression. Each MetricDataQuery in the array specifies either
-// a metric to retrieve, or a math expression to be performed on retrieved metrics.
-// A single PutMetricAlarm call can include up to 20 MetricDataQuery structures
-// in the array. The 20 structures can include as many as 10 structures that
-// contain a MetricStat parameter to retrieve a metric, and as many as 10 structures
-// that contain the Expression parameter to perform a math expression. Of those
-// Expression structures, one must have True as the value for ReturnData. The
-// result of this expression is the value the alarm watches.
-//
-// Any expression used in a PutMetricAlarm operation must return a single time
-// series. For more information, see Metric Math Syntax and Functions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html#metric-math-syntax)
-// in the Amazon CloudWatch User Guide.
-//
-// Some of the parameters of this structure also have different uses whether
-// you are using this structure in a GetMetricData operation or a PutMetricAlarm
-// operation. These differences are explained in the following parameter list.
-type MetricDataQuery struct {
- _ struct{} `type:"structure"`
-
- // The math expression to be performed on the returned data, if this object
- // is performing a math expression. This expression can use the Id of the other
- // metrics to refer to those metrics, and can also use the Id of other expressions
- // to use the result of those expressions. For more information about metric
- // math expressions, see Metric Math Syntax and Functions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html#metric-math-syntax)
- // in the Amazon CloudWatch User Guide.
- //
- // Within each MetricDataQuery object, you must specify either Expression or
- // MetricStat but not both.
- Expression *string `min:"1" type:"string"`
-
- // A short name used to tie this object to the results in the response. This
- // name must be unique within a single call to GetMetricData. If you are performing
- // math expressions on this set of data, this name represents that data and
- // can serve as a variable in the mathematical expression. The valid characters
- // are letters, numbers, and underscore. The first character must be a lowercase
- // letter.
- //
- // Id is a required field
- Id *string `min:"1" type:"string" required:"true"`
-
- // A human-readable label for this metric or expression. This is especially
- // useful if this is an expression, so that you know what the value represents.
- // If the metric or expression is shown in a CloudWatch dashboard widget, the
- // label is shown. If Label is omitted, CloudWatch generates a default.
- Label *string `type:"string"`
-
- // The metric to be returned, along with statistics, period, and units. Use
- // this parameter only if this object is retrieving a metric and not performing
- // a math expression on returned data.
- //
- // Within one MetricDataQuery object, you must specify either Expression or
- // MetricStat but not both.
- MetricStat *MetricStat `type:"structure"`
-
- // The granularity, in seconds, of the returned data points. For metrics with
- // regular resolution, a period can be as short as one minute (60 seconds) and
- // must be a multiple of 60. For high-resolution metrics that are collected
- // at intervals of less than one minute, the period can be 1, 5, 10, 30, 60,
- // or any multiple of 60. High-resolution metrics are those metrics stored by
- // a PutMetricData operation that includes a StorageResolution of 1 second.
- //
- // If you are performing a GetMetricData operation, use this field only if you
- // are specifying an Expression. Do not use this field when you are specifying
- // a MetricStat in a GetMetricData operation.
- Period *int64 `min:"1" type:"integer"`
-
- // When used in GetMetricData, this option indicates whether to return the timestamps
- // and raw data values of this metric. If you are performing this call just
- // to do math expressions and do not also need the raw data returned, you can
- // specify False. If you omit this, the default of True is used.
- //
- // When used in PutMetricAlarm, specify True for the one expression result to
- // use as the alarm. For all other metrics and expressions in the same PutMetricAlarm
- // operation, specify ReturnData as False.
- ReturnData *bool `type:"boolean"`
-}
-
-// String returns the string representation
-func (s MetricDataQuery) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s MetricDataQuery) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *MetricDataQuery) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "MetricDataQuery"}
- if s.Expression != nil && len(*s.Expression) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Expression", 1))
- }
- if s.Id == nil {
- invalidParams.Add(request.NewErrParamRequired("Id"))
- }
- if s.Id != nil && len(*s.Id) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Id", 1))
- }
- if s.Period != nil && *s.Period < 1 {
- invalidParams.Add(request.NewErrParamMinValue("Period", 1))
- }
- if s.MetricStat != nil {
- if err := s.MetricStat.Validate(); err != nil {
- invalidParams.AddNested("MetricStat", err.(request.ErrInvalidParams))
- }
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetExpression sets the Expression field's value.
-func (s *MetricDataQuery) SetExpression(v string) *MetricDataQuery {
- s.Expression = &v
- return s
-}
-
-// SetId sets the Id field's value.
-func (s *MetricDataQuery) SetId(v string) *MetricDataQuery {
- s.Id = &v
- return s
-}
-
-// SetLabel sets the Label field's value.
-func (s *MetricDataQuery) SetLabel(v string) *MetricDataQuery {
- s.Label = &v
- return s
-}
-
-// SetMetricStat sets the MetricStat field's value.
-func (s *MetricDataQuery) SetMetricStat(v *MetricStat) *MetricDataQuery {
- s.MetricStat = v
- return s
-}
-
-// SetPeriod sets the Period field's value.
-func (s *MetricDataQuery) SetPeriod(v int64) *MetricDataQuery {
- s.Period = &v
- return s
-}
-
-// SetReturnData sets the ReturnData field's value.
-func (s *MetricDataQuery) SetReturnData(v bool) *MetricDataQuery {
- s.ReturnData = &v
- return s
-}
-
-// A GetMetricData call returns an array of MetricDataResult structures. Each
-// of these structures includes the data points for that metric, along with
-// the timestamps of those data points and other identifying information.
-type MetricDataResult struct {
- _ struct{} `type:"structure"`
-
- // The short name you specified to represent this metric.
- Id *string `min:"1" type:"string"`
-
- // The human-readable label associated with the data.
- Label *string `type:"string"`
-
- // A list of messages with additional information about the data returned.
- Messages []*MessageData `type:"list"`
-
- // The status of the returned data. Complete indicates that all data points
- // in the requested time range were returned. PartialData means that an incomplete
- // set of data points were returned. You can use the NextToken value that was
- // returned and repeat your request to get more data points. NextToken is not
- // returned if you are performing a math expression. InternalError indicates
- // that an error occurred. Retry your request using NextToken, if present.
- StatusCode *string `type:"string" enum:"StatusCode"`
-
- // The timestamps for the data points, formatted in Unix timestamp format. The
- // number of timestamps always matches the number of values and the value for
- // Timestamps[x] is Values[x].
- Timestamps []*time.Time `type:"list"`
-
- // The data points for the metric corresponding to Timestamps. The number of
- // values always matches the number of timestamps and the timestamp for Values[x]
- // is Timestamps[x].
- Values []*float64 `type:"list"`
-}
-
-// String returns the string representation
-func (s MetricDataResult) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s MetricDataResult) GoString() string {
- return s.String()
-}
-
-// SetId sets the Id field's value.
-func (s *MetricDataResult) SetId(v string) *MetricDataResult {
- s.Id = &v
- return s
-}
-
-// SetLabel sets the Label field's value.
-func (s *MetricDataResult) SetLabel(v string) *MetricDataResult {
- s.Label = &v
- return s
-}
-
-// SetMessages sets the Messages field's value.
-func (s *MetricDataResult) SetMessages(v []*MessageData) *MetricDataResult {
- s.Messages = v
- return s
-}
-
-// SetStatusCode sets the StatusCode field's value.
-func (s *MetricDataResult) SetStatusCode(v string) *MetricDataResult {
- s.StatusCode = &v
- return s
-}
-
-// SetTimestamps sets the Timestamps field's value.
-func (s *MetricDataResult) SetTimestamps(v []*time.Time) *MetricDataResult {
- s.Timestamps = v
- return s
-}
-
-// SetValues sets the Values field's value.
-func (s *MetricDataResult) SetValues(v []*float64) *MetricDataResult {
- s.Values = v
- return s
-}
-
-// Encapsulates the information sent to either create a metric or add new values
-// to be aggregated into an existing metric.
-type MetricDatum struct {
- _ struct{} `type:"structure"`
-
- // Array of numbers that is used along with the Values array. Each number in
- // the Count array is the number of times the corresponding value in the Values
- // array occurred during the period.
- //
- // If you omit the Counts array, the default of 1 is used as the value for each
- // count. If you include a Counts array, it must include the same amount of
- // values as the Values array.
- Counts []*float64 `type:"list"`
-
- // The dimensions associated with the metric.
- Dimensions []*Dimension `type:"list"`
-
- // The name of the metric.
- //
- // MetricName is a required field
- MetricName *string `min:"1" type:"string" required:"true"`
-
- // The statistical values for the metric.
- StatisticValues *StatisticSet `type:"structure"`
-
- // Valid values are 1 and 60. Setting this to 1 specifies this metric as a high-resolution
- // metric, so that CloudWatch stores the metric with sub-minute resolution down
- // to one second. Setting this to 60 specifies this metric as a regular-resolution
- // metric, which CloudWatch stores at 1-minute resolution. Currently, high resolution
- // is available only for custom metrics. For more information about high-resolution
- // metrics, see High-Resolution Metrics (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html#high-resolution-metrics)
- // in the Amazon CloudWatch User Guide.
- //
- // This field is optional, if you do not specify it the default of 60 is used.
- StorageResolution *int64 `min:"1" type:"integer"`
-
- // The time the metric data was received, expressed as the number of milliseconds
- // since Jan 1, 1970 00:00:00 UTC.
- Timestamp *time.Time `type:"timestamp"`
-
- // When you are using a Put operation, this defines what unit you want to use
- // when storing the metric.
- //
- // In a Get operation, this displays the unit that is used for the metric.
- Unit *string `type:"string" enum:"StandardUnit"`
-
- // The value for the metric.
- //
- // Although the parameter accepts numbers of type Double, CloudWatch rejects
- // values that are either too small or too large. Values must be in the range
- // of -2^360 to 2^360. In addition, special values (for example, NaN, +Infinity,
- // -Infinity) are not supported.
- Value *float64 `type:"double"`
-
- // Array of numbers representing the values for the metric during the period.
- // Each unique value is listed just once in this array, and the corresponding
- // number in the Counts array specifies the number of times that value occurred
- // during the period. You can include up to 150 unique values in each PutMetricData
- // action that specifies a Values array.
- //
- // Although the Values array accepts numbers of type Double, CloudWatch rejects
- // values that are either too small or too large. Values must be in the range
- // of -2^360 to 2^360. In addition, special values (for example, NaN, +Infinity,
- // -Infinity) are not supported.
- Values []*float64 `type:"list"`
-}
-
-// String returns the string representation
-func (s MetricDatum) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s MetricDatum) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *MetricDatum) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "MetricDatum"}
- if s.MetricName == nil {
- invalidParams.Add(request.NewErrParamRequired("MetricName"))
- }
- if s.MetricName != nil && len(*s.MetricName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("MetricName", 1))
- }
- if s.StorageResolution != nil && *s.StorageResolution < 1 {
- invalidParams.Add(request.NewErrParamMinValue("StorageResolution", 1))
- }
- if s.Dimensions != nil {
- for i, v := range s.Dimensions {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Dimensions", i), err.(request.ErrInvalidParams))
- }
- }
- }
- if s.StatisticValues != nil {
- if err := s.StatisticValues.Validate(); err != nil {
- invalidParams.AddNested("StatisticValues", err.(request.ErrInvalidParams))
- }
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetCounts sets the Counts field's value.
-func (s *MetricDatum) SetCounts(v []*float64) *MetricDatum {
- s.Counts = v
- return s
-}
-
-// SetDimensions sets the Dimensions field's value.
-func (s *MetricDatum) SetDimensions(v []*Dimension) *MetricDatum {
- s.Dimensions = v
- return s
-}
-
-// SetMetricName sets the MetricName field's value.
-func (s *MetricDatum) SetMetricName(v string) *MetricDatum {
- s.MetricName = &v
- return s
-}
-
-// SetStatisticValues sets the StatisticValues field's value.
-func (s *MetricDatum) SetStatisticValues(v *StatisticSet) *MetricDatum {
- s.StatisticValues = v
- return s
-}
-
-// SetStorageResolution sets the StorageResolution field's value.
-func (s *MetricDatum) SetStorageResolution(v int64) *MetricDatum {
- s.StorageResolution = &v
- return s
-}
-
-// SetTimestamp sets the Timestamp field's value.
-func (s *MetricDatum) SetTimestamp(v time.Time) *MetricDatum {
- s.Timestamp = &v
- return s
-}
-
-// SetUnit sets the Unit field's value.
-func (s *MetricDatum) SetUnit(v string) *MetricDatum {
- s.Unit = &v
- return s
-}
-
-// SetValue sets the Value field's value.
-func (s *MetricDatum) SetValue(v float64) *MetricDatum {
- s.Value = &v
- return s
-}
-
-// SetValues sets the Values field's value.
-func (s *MetricDatum) SetValues(v []*float64) *MetricDatum {
- s.Values = v
- return s
-}
-
-// This structure defines the metric to be returned, along with the statistics,
-// period, and units.
-type MetricStat struct {
- _ struct{} `type:"structure"`
-
- // The metric to return, including the metric name, namespace, and dimensions.
- //
- // Metric is a required field
- Metric *Metric `type:"structure" required:"true"`
-
- // The granularity, in seconds, of the returned data points. For metrics with
- // regular resolution, a period can be as short as one minute (60 seconds) and
- // must be a multiple of 60. For high-resolution metrics that are collected
- // at intervals of less than one minute, the period can be 1, 5, 10, 30, 60,
- // or any multiple of 60. High-resolution metrics are those metrics stored by
- // a PutMetricData call that includes a StorageResolution of 1 second.
- //
- // If the StartTime parameter specifies a time stamp that is greater than 3
- // hours ago, you must specify the period as follows or no data points in that
- // time range is returned:
- //
- // * Start time between 3 hours and 15 days ago - Use a multiple of 60 seconds
- // (1 minute).
- //
- // * Start time between 15 and 63 days ago - Use a multiple of 300 seconds
- // (5 minutes).
- //
- // * Start time greater than 63 days ago - Use a multiple of 3600 seconds
- // (1 hour).
- //
- // Period is a required field
- Period *int64 `min:"1" type:"integer" required:"true"`
-
- // The statistic to return. It can include any CloudWatch statistic or extended
- // statistic.
- //
- // Stat is a required field
- Stat *string `type:"string" required:"true"`
-
- // When you are using a Put operation, this defines what unit you want to use
- // when storing the metric.
- //
- // In a Get operation, if you omit Unit then all data that was collected with
- // any unit is returned, along with the corresponding units that were specified
- // when the data was reported to CloudWatch. If you specify a unit, the operation
- // returns only data data that was collected with that unit specified. If you
- // specify a unit that does not match the data collected, the results of the
- // operation are null. CloudWatch does not perform unit conversions.
- Unit *string `type:"string" enum:"StandardUnit"`
-}
-
-// String returns the string representation
-func (s MetricStat) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s MetricStat) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *MetricStat) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "MetricStat"}
- if s.Metric == nil {
- invalidParams.Add(request.NewErrParamRequired("Metric"))
- }
- if s.Period == nil {
- invalidParams.Add(request.NewErrParamRequired("Period"))
- }
- if s.Period != nil && *s.Period < 1 {
- invalidParams.Add(request.NewErrParamMinValue("Period", 1))
- }
- if s.Stat == nil {
- invalidParams.Add(request.NewErrParamRequired("Stat"))
- }
- if s.Metric != nil {
- if err := s.Metric.Validate(); err != nil {
- invalidParams.AddNested("Metric", err.(request.ErrInvalidParams))
- }
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetMetric sets the Metric field's value.
-func (s *MetricStat) SetMetric(v *Metric) *MetricStat {
- s.Metric = v
- return s
-}
-
-// SetPeriod sets the Period field's value.
-func (s *MetricStat) SetPeriod(v int64) *MetricStat {
- s.Period = &v
- return s
-}
-
-// SetStat sets the Stat field's value.
-func (s *MetricStat) SetStat(v string) *MetricStat {
- s.Stat = &v
- return s
-}
-
-// SetUnit sets the Unit field's value.
-func (s *MetricStat) SetUnit(v string) *MetricStat {
- s.Unit = &v
- return s
-}
-
-// This array is empty if the API operation was successful for all the rules
-// specified in the request. If the operation could not process one of the rules,
-// the following data is returned for each of those rules.
-type PartialFailure struct {
- _ struct{} `type:"structure"`
-
- // The type of error.
- ExceptionType *string `type:"string"`
-
- // The code of the error.
- FailureCode *string `type:"string"`
-
- // A description of the error.
- FailureDescription *string `type:"string"`
-
- // The specified rule that could not be deleted.
- FailureResource *string `type:"string"`
-}
-
-// String returns the string representation
-func (s PartialFailure) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s PartialFailure) GoString() string {
- return s.String()
-}
-
-// SetExceptionType sets the ExceptionType field's value.
-func (s *PartialFailure) SetExceptionType(v string) *PartialFailure {
- s.ExceptionType = &v
- return s
-}
-
-// SetFailureCode sets the FailureCode field's value.
-func (s *PartialFailure) SetFailureCode(v string) *PartialFailure {
- s.FailureCode = &v
- return s
-}
-
-// SetFailureDescription sets the FailureDescription field's value.
-func (s *PartialFailure) SetFailureDescription(v string) *PartialFailure {
- s.FailureDescription = &v
- return s
-}
-
-// SetFailureResource sets the FailureResource field's value.
-func (s *PartialFailure) SetFailureResource(v string) *PartialFailure {
- s.FailureResource = &v
- return s
-}
-
-type PutAnomalyDetectorInput struct {
- _ struct{} `type:"structure"`
-
- // The configuration specifies details about how the anomaly detection model
- // is to be trained, including time ranges to exclude when training and updating
- // the model. You can specify as many as 10 time ranges.
- //
- // The configuration can also include the time zone to use for the metric.
- //
- // You can in
- Configuration *AnomalyDetectorConfiguration `type:"structure"`
-
- // The metric dimensions to create the anomaly detection model for.
- Dimensions []*Dimension `type:"list"`
-
- // The name of the metric to create the anomaly detection model for.
- //
- // MetricName is a required field
- MetricName *string `min:"1" type:"string" required:"true"`
-
- // The namespace of the metric to create the anomaly detection model for.
- //
- // Namespace is a required field
- Namespace *string `min:"1" type:"string" required:"true"`
-
- // The statistic to use for the metric and the anomaly detection model.
- //
- // Stat is a required field
- Stat *string `type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s PutAnomalyDetectorInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s PutAnomalyDetectorInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *PutAnomalyDetectorInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "PutAnomalyDetectorInput"}
- if s.MetricName == nil {
- invalidParams.Add(request.NewErrParamRequired("MetricName"))
- }
- if s.MetricName != nil && len(*s.MetricName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("MetricName", 1))
- }
- if s.Namespace == nil {
- invalidParams.Add(request.NewErrParamRequired("Namespace"))
- }
- if s.Namespace != nil && len(*s.Namespace) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Namespace", 1))
- }
- if s.Stat == nil {
- invalidParams.Add(request.NewErrParamRequired("Stat"))
- }
- if s.Configuration != nil {
- if err := s.Configuration.Validate(); err != nil {
- invalidParams.AddNested("Configuration", err.(request.ErrInvalidParams))
- }
- }
- if s.Dimensions != nil {
- for i, v := range s.Dimensions {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Dimensions", i), err.(request.ErrInvalidParams))
- }
- }
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetConfiguration sets the Configuration field's value.
-func (s *PutAnomalyDetectorInput) SetConfiguration(v *AnomalyDetectorConfiguration) *PutAnomalyDetectorInput {
- s.Configuration = v
- return s
-}
-
-// SetDimensions sets the Dimensions field's value.
-func (s *PutAnomalyDetectorInput) SetDimensions(v []*Dimension) *PutAnomalyDetectorInput {
- s.Dimensions = v
- return s
-}
-
-// SetMetricName sets the MetricName field's value.
-func (s *PutAnomalyDetectorInput) SetMetricName(v string) *PutAnomalyDetectorInput {
- s.MetricName = &v
- return s
-}
-
-// SetNamespace sets the Namespace field's value.
-func (s *PutAnomalyDetectorInput) SetNamespace(v string) *PutAnomalyDetectorInput {
- s.Namespace = &v
- return s
-}
-
-// SetStat sets the Stat field's value.
-func (s *PutAnomalyDetectorInput) SetStat(v string) *PutAnomalyDetectorInput {
- s.Stat = &v
- return s
-}
-
-type PutAnomalyDetectorOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s PutAnomalyDetectorOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s PutAnomalyDetectorOutput) GoString() string {
- return s.String()
-}
-
-type PutDashboardInput struct {
- _ struct{} `type:"structure"`
-
- // The detailed information about the dashboard in JSON format, including the
- // widgets to include and their location on the dashboard. This parameter is
- // required.
- //
- // For more information about the syntax, see CloudWatch-Dashboard-Body-Structure.
- //
- // DashboardBody is a required field
- DashboardBody *string `type:"string" required:"true"`
-
- // The name of the dashboard. If a dashboard with this name already exists,
- // this call modifies that dashboard, replacing its current contents. Otherwise,
- // a new dashboard is created. The maximum length is 255, and valid characters
- // are A-Z, a-z, 0-9, "-", and "_". This parameter is required.
- //
- // DashboardName is a required field
- DashboardName *string `type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s PutDashboardInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s PutDashboardInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *PutDashboardInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "PutDashboardInput"}
- if s.DashboardBody == nil {
- invalidParams.Add(request.NewErrParamRequired("DashboardBody"))
- }
- if s.DashboardName == nil {
- invalidParams.Add(request.NewErrParamRequired("DashboardName"))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetDashboardBody sets the DashboardBody field's value.
-func (s *PutDashboardInput) SetDashboardBody(v string) *PutDashboardInput {
- s.DashboardBody = &v
- return s
-}
-
-// SetDashboardName sets the DashboardName field's value.
-func (s *PutDashboardInput) SetDashboardName(v string) *PutDashboardInput {
- s.DashboardName = &v
- return s
-}
-
-type PutDashboardOutput struct {
- _ struct{} `type:"structure"`
-
- // If the input for PutDashboard was correct and the dashboard was successfully
- // created or modified, this result is empty.
- //
- // If this result includes only warning messages, then the input was valid enough
- // for the dashboard to be created or modified, but some elements of the dashboard
- // may not render.
- //
- // If this result includes error messages, the input was not valid and the operation
- // failed.
- DashboardValidationMessages []*DashboardValidationMessage `type:"list"`
-}
-
-// String returns the string representation
-func (s PutDashboardOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s PutDashboardOutput) GoString() string {
- return s.String()
-}
-
-// SetDashboardValidationMessages sets the DashboardValidationMessages field's value.
-func (s *PutDashboardOutput) SetDashboardValidationMessages(v []*DashboardValidationMessage) *PutDashboardOutput {
- s.DashboardValidationMessages = v
- return s
-}
-
-type PutInsightRuleInput struct {
- _ struct{} `type:"structure"`
-
- // The definition of the rule, as a JSON object. For details on the valid syntax,
- // see Contributor Insights Rule Syntax (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContributorInsights-RuleSyntax.html).
- //
- // RuleDefinition is a required field
- RuleDefinition *string `min:"1" type:"string" required:"true"`
-
- // A unique name for the rule.
- //
- // RuleName is a required field
- RuleName *string `min:"1" type:"string" required:"true"`
-
- // The state of the rule. Valid values are ENABLED and DISABLED.
- RuleState *string `min:"1" type:"string"`
-}
-
-// String returns the string representation
-func (s PutInsightRuleInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s PutInsightRuleInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *PutInsightRuleInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "PutInsightRuleInput"}
- if s.RuleDefinition == nil {
- invalidParams.Add(request.NewErrParamRequired("RuleDefinition"))
- }
- if s.RuleDefinition != nil && len(*s.RuleDefinition) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("RuleDefinition", 1))
- }
- if s.RuleName == nil {
- invalidParams.Add(request.NewErrParamRequired("RuleName"))
- }
- if s.RuleName != nil && len(*s.RuleName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("RuleName", 1))
- }
- if s.RuleState != nil && len(*s.RuleState) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("RuleState", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetRuleDefinition sets the RuleDefinition field's value.
-func (s *PutInsightRuleInput) SetRuleDefinition(v string) *PutInsightRuleInput {
- s.RuleDefinition = &v
- return s
-}
-
-// SetRuleName sets the RuleName field's value.
-func (s *PutInsightRuleInput) SetRuleName(v string) *PutInsightRuleInput {
- s.RuleName = &v
- return s
-}
-
-// SetRuleState sets the RuleState field's value.
-func (s *PutInsightRuleInput) SetRuleState(v string) *PutInsightRuleInput {
- s.RuleState = &v
- return s
-}
-
-type PutInsightRuleOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s PutInsightRuleOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s PutInsightRuleOutput) GoString() string {
- return s.String()
-}
-
-type PutMetricAlarmInput struct {
- _ struct{} `type:"structure"`
-
- // Indicates whether actions should be executed during any changes to the alarm
- // state. The default is TRUE.
- ActionsEnabled *bool `type:"boolean"`
-
- // The actions to execute when this alarm transitions to the ALARM state from
- // any other state. Each action is specified as an Amazon Resource Name (ARN).
- //
- // Valid Values: arn:aws:automate:region:ec2:stop | arn:aws:automate:region:ec2:terminate
- // | arn:aws:automate:region:ec2:recover | arn:aws:automate:region:ec2:reboot
- // | arn:aws:sns:region:account-id:sns-topic-name | arn:aws:autoscaling:region:account-id:scalingPolicy:policy-idautoScalingGroupName/group-friendly-name:policyName/policy-friendly-name
- //
- // Valid Values (for use with IAM roles): arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Stop/1.0
- // | arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Terminate/1.0
- // | arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Reboot/1.0
- AlarmActions []*string `type:"list"`
-
- // The description for the alarm.
- AlarmDescription *string `type:"string"`
-
- // The name for the alarm. This name must be unique within your AWS account.
- //
- // AlarmName is a required field
- AlarmName *string `min:"1" type:"string" required:"true"`
-
- // The arithmetic operation to use when comparing the specified statistic and
- // threshold. The specified statistic value is used as the first operand.
- //
- // The values LessThanLowerOrGreaterThanUpperThreshold, LessThanLowerThreshold,
- // and GreaterThanUpperThreshold are used only for alarms based on anomaly detection
- // models.
- //
- // ComparisonOperator is a required field
- ComparisonOperator *string `type:"string" required:"true" enum:"ComparisonOperator"`
-
- // The number of data points that must be breaching to trigger the alarm. This
- // is used only if you are setting an "M out of N" alarm. In that case, this
- // value is the M. For more information, see Evaluating an Alarm (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarm-evaluation)
- // in the Amazon CloudWatch User Guide.
- DatapointsToAlarm *int64 `min:"1" type:"integer"`
-
- // The dimensions for the metric specified in MetricName.
- Dimensions []*Dimension `type:"list"`
-
- // Used only for alarms based on percentiles. If you specify ignore, the alarm
- // state does not change during periods with too few data points to be statistically
- // significant. If you specify evaluate or omit this parameter, the alarm is
- // always evaluated and possibly changes state no matter how many data points
- // are available. For more information, see Percentile-Based CloudWatch Alarms
- // and Low Data Samples (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#percentiles-with-low-samples).
- //
- // Valid Values: evaluate | ignore
- EvaluateLowSampleCountPercentile *string `min:"1" type:"string"`
-
- // The number of periods over which data is compared to the specified threshold.
- // If you are setting an alarm that requires that a number of consecutive data
- // points be breaching to trigger the alarm, this value specifies that number.
- // If you are setting an "M out of N" alarm, this value is the N.
- //
- // An alarm's total current evaluation period can be no longer than one day,
- // so this number multiplied by Period cannot be more than 86,400 seconds.
- //
- // EvaluationPeriods is a required field
- EvaluationPeriods *int64 `min:"1" type:"integer" required:"true"`
-
- // The percentile statistic for the metric specified in MetricName. Specify
- // a value between p0.0 and p100. When you call PutMetricAlarm and specify a
- // MetricName, you must specify either Statistic or ExtendedStatistic, but not
- // both.
- ExtendedStatistic *string `type:"string"`
-
- // The actions to execute when this alarm transitions to the INSUFFICIENT_DATA
- // state from any other state. Each action is specified as an Amazon Resource
- // Name (ARN).
- //
- // Valid Values: arn:aws:automate:region:ec2:stop | arn:aws:automate:region:ec2:terminate
- // | arn:aws:automate:region:ec2:recover | arn:aws:automate:region:ec2:reboot
- // | arn:aws:sns:region:account-id:sns-topic-name | arn:aws:autoscaling:region:account-id:scalingPolicy:policy-idautoScalingGroupName/group-friendly-name:policyName/policy-friendly-name
- //
- // Valid Values (for use with IAM roles): >arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Stop/1.0
- // | arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Terminate/1.0
- // | arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Reboot/1.0
- InsufficientDataActions []*string `type:"list"`
-
- // The name for the metric associated with the alarm. For each PutMetricAlarm
- // operation, you must specify either MetricName or a Metrics array.
- //
- // If you are creating an alarm based on a math expression, you cannot specify
- // this parameter, or any of the Dimensions, Period, Namespace, Statistic, or
- // ExtendedStatistic parameters. Instead, you specify all this information in
- // the Metrics array.
- MetricName *string `min:"1" type:"string"`
-
- // An array of MetricDataQuery structures that enable you to create an alarm
- // based on the result of a metric math expression. For each PutMetricAlarm
- // operation, you must specify either MetricName or a Metrics array.
- //
- // Each item in the Metrics array either retrieves a metric or performs a math
- // expression.
- //
- // One item in the Metrics array is the expression that the alarm watches. You
- // designate this expression by setting ReturnValue to true for this object
- // in the array. For more information, see MetricDataQuery.
- //
- // If you use the Metrics parameter, you cannot include the MetricName, Dimensions,
- // Period, Namespace, Statistic, or ExtendedStatistic parameters of PutMetricAlarm
- // in the same operation. Instead, you retrieve the metrics you are using in
- // your math expression as part of the Metrics array.
- Metrics []*MetricDataQuery `type:"list"`
-
- // The namespace for the metric associated specified in MetricName.
- Namespace *string `min:"1" type:"string"`
-
- // The actions to execute when this alarm transitions to an OK state from any
- // other state. Each action is specified as an Amazon Resource Name (ARN).
- //
- // Valid Values: arn:aws:automate:region:ec2:stop | arn:aws:automate:region:ec2:terminate
- // | arn:aws:automate:region:ec2:recover | arn:aws:automate:region:ec2:reboot
- // | arn:aws:sns:region:account-id:sns-topic-name | arn:aws:autoscaling:region:account-id:scalingPolicy:policy-idautoScalingGroupName/group-friendly-name:policyName/policy-friendly-name
- //
- // Valid Values (for use with IAM roles): arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Stop/1.0
- // | arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Terminate/1.0
- // | arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Reboot/1.0
- OKActions []*string `type:"list"`
-
- // The length, in seconds, used each time the metric specified in MetricName
- // is evaluated. Valid values are 10, 30, and any multiple of 60.
- //
- // Period is required for alarms based on static thresholds. If you are creating
- // an alarm based on a metric math expression, you specify the period for each
- // metric within the objects in the Metrics array.
- //
- // Be sure to specify 10 or 30 only for metrics that are stored by a PutMetricData
- // call with a StorageResolution of 1. If you specify a period of 10 or 30 for
- // a metric that does not have sub-minute resolution, the alarm still attempts
- // to gather data at the period rate that you specify. In this case, it does
- // not receive data for the attempts that do not correspond to a one-minute
- // data resolution, and the alarm may often lapse into INSUFFICENT_DATA status.
- // Specifying 10 or 30 also sets this alarm as a high-resolution alarm, which
- // has a higher charge than other alarms. For more information about pricing,
- // see Amazon CloudWatch Pricing (https://aws.amazon.com/cloudwatch/pricing/).
- //
- // An alarm's total current evaluation period can be no longer than one day,
- // so Period multiplied by EvaluationPeriods cannot be more than 86,400 seconds.
- Period *int64 `min:"1" type:"integer"`
-
- // The statistic for the metric specified in MetricName, other than percentile.
- // For percentile statistics, use ExtendedStatistic. When you call PutMetricAlarm
- // and specify a MetricName, you must specify either Statistic or ExtendedStatistic,
- // but not both.
- Statistic *string `type:"string" enum:"Statistic"`
-
- // A list of key-value pairs to associate with the alarm. You can associate
- // as many as 50 tags with an alarm.
- //
- // Tags can help you organize and categorize your resources. You can also use
- // them to scope user permissions, by granting a user permission to access or
- // change only resources with certain tag values.
- Tags []*Tag `type:"list"`
-
- // The value against which the specified statistic is compared.
- //
- // This parameter is required for alarms based on static thresholds, but should
- // not be used for alarms based on anomaly detection models.
- Threshold *float64 `type:"double"`
-
- // If this is an alarm based on an anomaly detection model, make this value
- // match the ID of the ANOMALY_DETECTION_BAND function.
- //
- // For an example of how to use this parameter, see the Anomaly Detection Model
- // Alarm example on this page.
- //
- // If your alarm uses this parameter, it cannot have Auto Scaling actions.
- ThresholdMetricId *string `min:"1" type:"string"`
-
- // Sets how this alarm is to handle missing data points. If TreatMissingData
- // is omitted, the default behavior of missing is used. For more information,
- // see Configuring How CloudWatch Alarms Treats Missing Data (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarms-and-missing-data).
- //
- // Valid Values: breaching | notBreaching | ignore | missing
- TreatMissingData *string `min:"1" type:"string"`
-
- // The unit of measure for the statistic. For example, the units for the Amazon
- // EC2 NetworkIn metric are Bytes because NetworkIn tracks the number of bytes
- // that an instance receives on all network interfaces. You can also specify
- // a unit when you create a custom metric. Units help provide conceptual meaning
- // to your data. Metric data points that specify a unit of measure, such as
- // Percent, are aggregated separately.
- //
- // If you don't specify Unit, CloudWatch retrieves all unit types that have
- // been published for the metric and attempts to evaluate the alarm. Usually
- // metrics are published with only one unit, so the alarm will work as intended.
- //
- // However, if the metric is published with multiple types of units and you
- // don't specify a unit, the alarm's behavior is not defined and will behave
- // un-predictably.
- //
- // We recommend omitting Unit so that you don't inadvertently specify an incorrect
- // unit that is not published for this metric. Doing so causes the alarm to
- // be stuck in the INSUFFICIENT DATA state.
- Unit *string `type:"string" enum:"StandardUnit"`
-}
-
-// String returns the string representation
-func (s PutMetricAlarmInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s PutMetricAlarmInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *PutMetricAlarmInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "PutMetricAlarmInput"}
- if s.AlarmName == nil {
- invalidParams.Add(request.NewErrParamRequired("AlarmName"))
- }
- if s.AlarmName != nil && len(*s.AlarmName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("AlarmName", 1))
- }
- if s.ComparisonOperator == nil {
- invalidParams.Add(request.NewErrParamRequired("ComparisonOperator"))
- }
- if s.DatapointsToAlarm != nil && *s.DatapointsToAlarm < 1 {
- invalidParams.Add(request.NewErrParamMinValue("DatapointsToAlarm", 1))
- }
- if s.EvaluateLowSampleCountPercentile != nil && len(*s.EvaluateLowSampleCountPercentile) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("EvaluateLowSampleCountPercentile", 1))
- }
- if s.EvaluationPeriods == nil {
- invalidParams.Add(request.NewErrParamRequired("EvaluationPeriods"))
- }
- if s.EvaluationPeriods != nil && *s.EvaluationPeriods < 1 {
- invalidParams.Add(request.NewErrParamMinValue("EvaluationPeriods", 1))
- }
- if s.MetricName != nil && len(*s.MetricName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("MetricName", 1))
- }
- if s.Namespace != nil && len(*s.Namespace) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Namespace", 1))
- }
- if s.Period != nil && *s.Period < 1 {
- invalidParams.Add(request.NewErrParamMinValue("Period", 1))
- }
- if s.ThresholdMetricId != nil && len(*s.ThresholdMetricId) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("ThresholdMetricId", 1))
- }
- if s.TreatMissingData != nil && len(*s.TreatMissingData) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("TreatMissingData", 1))
- }
- if s.Dimensions != nil {
- for i, v := range s.Dimensions {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Dimensions", i), err.(request.ErrInvalidParams))
- }
- }
- }
- if s.Metrics != nil {
- for i, v := range s.Metrics {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Metrics", i), err.(request.ErrInvalidParams))
- }
- }
- }
- if s.Tags != nil {
- for i, v := range s.Tags {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
- }
- }
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetActionsEnabled sets the ActionsEnabled field's value.
-func (s *PutMetricAlarmInput) SetActionsEnabled(v bool) *PutMetricAlarmInput {
- s.ActionsEnabled = &v
- return s
-}
-
-// SetAlarmActions sets the AlarmActions field's value.
-func (s *PutMetricAlarmInput) SetAlarmActions(v []*string) *PutMetricAlarmInput {
- s.AlarmActions = v
- return s
-}
-
-// SetAlarmDescription sets the AlarmDescription field's value.
-func (s *PutMetricAlarmInput) SetAlarmDescription(v string) *PutMetricAlarmInput {
- s.AlarmDescription = &v
- return s
-}
-
-// SetAlarmName sets the AlarmName field's value.
-func (s *PutMetricAlarmInput) SetAlarmName(v string) *PutMetricAlarmInput {
- s.AlarmName = &v
- return s
-}
-
-// SetComparisonOperator sets the ComparisonOperator field's value.
-func (s *PutMetricAlarmInput) SetComparisonOperator(v string) *PutMetricAlarmInput {
- s.ComparisonOperator = &v
- return s
-}
-
-// SetDatapointsToAlarm sets the DatapointsToAlarm field's value.
-func (s *PutMetricAlarmInput) SetDatapointsToAlarm(v int64) *PutMetricAlarmInput {
- s.DatapointsToAlarm = &v
- return s
-}
-
-// SetDimensions sets the Dimensions field's value.
-func (s *PutMetricAlarmInput) SetDimensions(v []*Dimension) *PutMetricAlarmInput {
- s.Dimensions = v
- return s
-}
-
-// SetEvaluateLowSampleCountPercentile sets the EvaluateLowSampleCountPercentile field's value.
-func (s *PutMetricAlarmInput) SetEvaluateLowSampleCountPercentile(v string) *PutMetricAlarmInput {
- s.EvaluateLowSampleCountPercentile = &v
- return s
-}
-
-// SetEvaluationPeriods sets the EvaluationPeriods field's value.
-func (s *PutMetricAlarmInput) SetEvaluationPeriods(v int64) *PutMetricAlarmInput {
- s.EvaluationPeriods = &v
- return s
-}
-
-// SetExtendedStatistic sets the ExtendedStatistic field's value.
-func (s *PutMetricAlarmInput) SetExtendedStatistic(v string) *PutMetricAlarmInput {
- s.ExtendedStatistic = &v
- return s
-}
-
-// SetInsufficientDataActions sets the InsufficientDataActions field's value.
-func (s *PutMetricAlarmInput) SetInsufficientDataActions(v []*string) *PutMetricAlarmInput {
- s.InsufficientDataActions = v
- return s
-}
-
-// SetMetricName sets the MetricName field's value.
-func (s *PutMetricAlarmInput) SetMetricName(v string) *PutMetricAlarmInput {
- s.MetricName = &v
- return s
-}
-
-// SetMetrics sets the Metrics field's value.
-func (s *PutMetricAlarmInput) SetMetrics(v []*MetricDataQuery) *PutMetricAlarmInput {
- s.Metrics = v
- return s
-}
-
-// SetNamespace sets the Namespace field's value.
-func (s *PutMetricAlarmInput) SetNamespace(v string) *PutMetricAlarmInput {
- s.Namespace = &v
- return s
-}
-
-// SetOKActions sets the OKActions field's value.
-func (s *PutMetricAlarmInput) SetOKActions(v []*string) *PutMetricAlarmInput {
- s.OKActions = v
- return s
-}
-
-// SetPeriod sets the Period field's value.
-func (s *PutMetricAlarmInput) SetPeriod(v int64) *PutMetricAlarmInput {
- s.Period = &v
- return s
-}
-
-// SetStatistic sets the Statistic field's value.
-func (s *PutMetricAlarmInput) SetStatistic(v string) *PutMetricAlarmInput {
- s.Statistic = &v
- return s
-}
-
-// SetTags sets the Tags field's value.
-func (s *PutMetricAlarmInput) SetTags(v []*Tag) *PutMetricAlarmInput {
- s.Tags = v
- return s
-}
-
-// SetThreshold sets the Threshold field's value.
-func (s *PutMetricAlarmInput) SetThreshold(v float64) *PutMetricAlarmInput {
- s.Threshold = &v
- return s
-}
-
-// SetThresholdMetricId sets the ThresholdMetricId field's value.
-func (s *PutMetricAlarmInput) SetThresholdMetricId(v string) *PutMetricAlarmInput {
- s.ThresholdMetricId = &v
- return s
-}
-
-// SetTreatMissingData sets the TreatMissingData field's value.
-func (s *PutMetricAlarmInput) SetTreatMissingData(v string) *PutMetricAlarmInput {
- s.TreatMissingData = &v
- return s
-}
-
-// SetUnit sets the Unit field's value.
-func (s *PutMetricAlarmInput) SetUnit(v string) *PutMetricAlarmInput {
- s.Unit = &v
- return s
-}
-
-type PutMetricAlarmOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s PutMetricAlarmOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s PutMetricAlarmOutput) GoString() string {
- return s.String()
-}
-
-type PutMetricDataInput struct {
- _ struct{} `type:"structure"`
-
- // The data for the metric. The array can include no more than 20 metrics per
- // call.
- //
- // MetricData is a required field
- MetricData []*MetricDatum `type:"list" required:"true"`
-
- // The namespace for the metric data.
- //
- // To avoid conflicts with AWS service namespaces, you should not specify a
- // namespace that begins with AWS/
- //
- // Namespace is a required field
- Namespace *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s PutMetricDataInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s PutMetricDataInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *PutMetricDataInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "PutMetricDataInput"}
- if s.MetricData == nil {
- invalidParams.Add(request.NewErrParamRequired("MetricData"))
- }
- if s.Namespace == nil {
- invalidParams.Add(request.NewErrParamRequired("Namespace"))
- }
- if s.Namespace != nil && len(*s.Namespace) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Namespace", 1))
- }
- if s.MetricData != nil {
- for i, v := range s.MetricData {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MetricData", i), err.(request.ErrInvalidParams))
- }
- }
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetMetricData sets the MetricData field's value.
-func (s *PutMetricDataInput) SetMetricData(v []*MetricDatum) *PutMetricDataInput {
- s.MetricData = v
- return s
-}
-
-// SetNamespace sets the Namespace field's value.
-func (s *PutMetricDataInput) SetNamespace(v string) *PutMetricDataInput {
- s.Namespace = &v
- return s
-}
-
-type PutMetricDataOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s PutMetricDataOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s PutMetricDataOutput) GoString() string {
- return s.String()
-}
-
-// Specifies one range of days or times to exclude from use for training an
-// anomaly detection model.
-type Range struct {
- _ struct{} `type:"structure"`
-
- // The end time of the range to exclude. The format is yyyy-MM-dd'T'HH:mm:ss.
- // For example, 2019-07-01T23:59:59.
- //
- // EndTime is a required field
- EndTime *time.Time `type:"timestamp" required:"true"`
-
- // The start time of the range to exclude. The format is yyyy-MM-dd'T'HH:mm:ss.
- // For example, 2019-07-01T23:59:59.
- //
- // StartTime is a required field
- StartTime *time.Time `type:"timestamp" required:"true"`
-}
-
-// String returns the string representation
-func (s Range) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s Range) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *Range) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "Range"}
- if s.EndTime == nil {
- invalidParams.Add(request.NewErrParamRequired("EndTime"))
- }
- if s.StartTime == nil {
- invalidParams.Add(request.NewErrParamRequired("StartTime"))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetEndTime sets the EndTime field's value.
-func (s *Range) SetEndTime(v time.Time) *Range {
- s.EndTime = &v
- return s
-}
-
-// SetStartTime sets the StartTime field's value.
-func (s *Range) SetStartTime(v time.Time) *Range {
- s.StartTime = &v
- return s
-}
-
-type SetAlarmStateInput struct {
- _ struct{} `type:"structure"`
-
- // The name for the alarm. This name must be unique within the AWS account.
- // The maximum length is 255 characters.
- //
- // AlarmName is a required field
- AlarmName *string `min:"1" type:"string" required:"true"`
-
- // The reason that this alarm is set to this specific state, in text format.
- //
- // StateReason is a required field
- StateReason *string `type:"string" required:"true"`
-
- // The reason that this alarm is set to this specific state, in JSON format.
- StateReasonData *string `type:"string"`
-
- // The value of the state.
- //
- // StateValue is a required field
- StateValue *string `type:"string" required:"true" enum:"StateValue"`
-}
-
-// String returns the string representation
-func (s SetAlarmStateInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s SetAlarmStateInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *SetAlarmStateInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "SetAlarmStateInput"}
- if s.AlarmName == nil {
- invalidParams.Add(request.NewErrParamRequired("AlarmName"))
- }
- if s.AlarmName != nil && len(*s.AlarmName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("AlarmName", 1))
- }
- if s.StateReason == nil {
- invalidParams.Add(request.NewErrParamRequired("StateReason"))
- }
- if s.StateValue == nil {
- invalidParams.Add(request.NewErrParamRequired("StateValue"))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetAlarmName sets the AlarmName field's value.
-func (s *SetAlarmStateInput) SetAlarmName(v string) *SetAlarmStateInput {
- s.AlarmName = &v
- return s
-}
-
-// SetStateReason sets the StateReason field's value.
-func (s *SetAlarmStateInput) SetStateReason(v string) *SetAlarmStateInput {
- s.StateReason = &v
- return s
-}
-
-// SetStateReasonData sets the StateReasonData field's value.
-func (s *SetAlarmStateInput) SetStateReasonData(v string) *SetAlarmStateInput {
- s.StateReasonData = &v
- return s
-}
-
-// SetStateValue sets the StateValue field's value.
-func (s *SetAlarmStateInput) SetStateValue(v string) *SetAlarmStateInput {
- s.StateValue = &v
- return s
-}
-
-type SetAlarmStateOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s SetAlarmStateOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s SetAlarmStateOutput) GoString() string {
- return s.String()
-}
-
-// Represents a set of statistics that describes a specific metric.
-type StatisticSet struct {
- _ struct{} `type:"structure"`
-
- // The maximum value of the sample set.
- //
- // Maximum is a required field
- Maximum *float64 `type:"double" required:"true"`
-
- // The minimum value of the sample set.
- //
- // Minimum is a required field
- Minimum *float64 `type:"double" required:"true"`
-
- // The number of samples used for the statistic set.
- //
- // SampleCount is a required field
- SampleCount *float64 `type:"double" required:"true"`
-
- // The sum of values for the sample set.
- //
- // Sum is a required field
- Sum *float64 `type:"double" required:"true"`
-}
-
-// String returns the string representation
-func (s StatisticSet) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s StatisticSet) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *StatisticSet) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "StatisticSet"}
- if s.Maximum == nil {
- invalidParams.Add(request.NewErrParamRequired("Maximum"))
- }
- if s.Minimum == nil {
- invalidParams.Add(request.NewErrParamRequired("Minimum"))
- }
- if s.SampleCount == nil {
- invalidParams.Add(request.NewErrParamRequired("SampleCount"))
- }
- if s.Sum == nil {
- invalidParams.Add(request.NewErrParamRequired("Sum"))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetMaximum sets the Maximum field's value.
-func (s *StatisticSet) SetMaximum(v float64) *StatisticSet {
- s.Maximum = &v
- return s
-}
-
-// SetMinimum sets the Minimum field's value.
-func (s *StatisticSet) SetMinimum(v float64) *StatisticSet {
- s.Minimum = &v
- return s
-}
-
-// SetSampleCount sets the SampleCount field's value.
-func (s *StatisticSet) SetSampleCount(v float64) *StatisticSet {
- s.SampleCount = &v
- return s
-}
-
-// SetSum sets the Sum field's value.
-func (s *StatisticSet) SetSum(v float64) *StatisticSet {
- s.Sum = &v
- return s
-}
-
-// A key-value pair associated with a CloudWatch resource.
-type Tag struct {
- _ struct{} `type:"structure"`
-
- // A string that you can use to assign a value. The combination of tag keys
- // and values can help you organize and categorize your resources.
- //
- // Key is a required field
- Key *string `min:"1" type:"string" required:"true"`
-
- // The value for the specified tag key.
- //
- // Value is a required field
- Value *string `type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s Tag) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s Tag) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *Tag) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "Tag"}
- if s.Key == nil {
- invalidParams.Add(request.NewErrParamRequired("Key"))
- }
- if s.Key != nil && len(*s.Key) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Key", 1))
- }
- if s.Value == nil {
- invalidParams.Add(request.NewErrParamRequired("Value"))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetKey sets the Key field's value.
-func (s *Tag) SetKey(v string) *Tag {
- s.Key = &v
- return s
-}
-
-// SetValue sets the Value field's value.
-func (s *Tag) SetValue(v string) *Tag {
- s.Value = &v
- return s
-}
-
-type TagResourceInput struct {
- _ struct{} `type:"structure"`
-
- // The ARN of the CloudWatch alarm that you're adding tags to. The ARN format
- // is arn:aws:cloudwatch:Region:account-id:alarm:alarm-name
- //
- // ResourceARN is a required field
- ResourceARN *string `min:"1" type:"string" required:"true"`
-
- // The list of key-value pairs to associate with the alarm.
- //
- // Tags is a required field
- Tags []*Tag `type:"list" required:"true"`
-}
-
-// String returns the string representation
-func (s TagResourceInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s TagResourceInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *TagResourceInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
- if s.ResourceARN == nil {
- invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
- }
- if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
- }
- if s.Tags == nil {
- invalidParams.Add(request.NewErrParamRequired("Tags"))
- }
- if s.Tags != nil {
- for i, v := range s.Tags {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
- }
- }
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetResourceARN sets the ResourceARN field's value.
-func (s *TagResourceInput) SetResourceARN(v string) *TagResourceInput {
- s.ResourceARN = &v
- return s
-}
-
-// SetTags sets the Tags field's value.
-func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
- s.Tags = v
- return s
-}
-
-type TagResourceOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s TagResourceOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s TagResourceOutput) GoString() string {
- return s.String()
-}
-
-type UntagResourceInput struct {
- _ struct{} `type:"structure"`
-
- // The ARN of the CloudWatch resource that you're removing tags from. For more
- // information on ARN format, see Example ARNs (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-cloudwatch)
- // in the Amazon Web Services General Reference.
- //
- // ResourceARN is a required field
- ResourceARN *string `min:"1" type:"string" required:"true"`
-
- // The list of tag keys to remove from the resource.
- //
- // TagKeys is a required field
- TagKeys []*string `type:"list" required:"true"`
-}
-
-// String returns the string representation
-func (s UntagResourceInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s UntagResourceInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *UntagResourceInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
- if s.ResourceARN == nil {
- invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
- }
- if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
- }
- if s.TagKeys == nil {
- invalidParams.Add(request.NewErrParamRequired("TagKeys"))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetResourceARN sets the ResourceARN field's value.
-func (s *UntagResourceInput) SetResourceARN(v string) *UntagResourceInput {
- s.ResourceARN = &v
- return s
-}
-
-// SetTagKeys sets the TagKeys field's value.
-func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
- s.TagKeys = v
- return s
-}
-
-type UntagResourceOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s UntagResourceOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s UntagResourceOutput) GoString() string {
- return s.String()
-}
-
-const (
- // ComparisonOperatorGreaterThanOrEqualToThreshold is a ComparisonOperator enum value
- ComparisonOperatorGreaterThanOrEqualToThreshold = "GreaterThanOrEqualToThreshold"
-
- // ComparisonOperatorGreaterThanThreshold is a ComparisonOperator enum value
- ComparisonOperatorGreaterThanThreshold = "GreaterThanThreshold"
-
- // ComparisonOperatorLessThanThreshold is a ComparisonOperator enum value
- ComparisonOperatorLessThanThreshold = "LessThanThreshold"
-
- // ComparisonOperatorLessThanOrEqualToThreshold is a ComparisonOperator enum value
- ComparisonOperatorLessThanOrEqualToThreshold = "LessThanOrEqualToThreshold"
-
- // ComparisonOperatorLessThanLowerOrGreaterThanUpperThreshold is a ComparisonOperator enum value
- ComparisonOperatorLessThanLowerOrGreaterThanUpperThreshold = "LessThanLowerOrGreaterThanUpperThreshold"
-
- // ComparisonOperatorLessThanLowerThreshold is a ComparisonOperator enum value
- ComparisonOperatorLessThanLowerThreshold = "LessThanLowerThreshold"
-
- // ComparisonOperatorGreaterThanUpperThreshold is a ComparisonOperator enum value
- ComparisonOperatorGreaterThanUpperThreshold = "GreaterThanUpperThreshold"
-)
-
-const (
- // HistoryItemTypeConfigurationUpdate is a HistoryItemType enum value
- HistoryItemTypeConfigurationUpdate = "ConfigurationUpdate"
-
- // HistoryItemTypeStateUpdate is a HistoryItemType enum value
- HistoryItemTypeStateUpdate = "StateUpdate"
-
- // HistoryItemTypeAction is a HistoryItemType enum value
- HistoryItemTypeAction = "Action"
-)
-
-const (
- // ScanByTimestampDescending is a ScanBy enum value
- ScanByTimestampDescending = "TimestampDescending"
-
- // ScanByTimestampAscending is a ScanBy enum value
- ScanByTimestampAscending = "TimestampAscending"
-)
-
-const (
- // StandardUnitSeconds is a StandardUnit enum value
- StandardUnitSeconds = "Seconds"
-
- // StandardUnitMicroseconds is a StandardUnit enum value
- StandardUnitMicroseconds = "Microseconds"
-
- // StandardUnitMilliseconds is a StandardUnit enum value
- StandardUnitMilliseconds = "Milliseconds"
-
- // StandardUnitBytes is a StandardUnit enum value
- StandardUnitBytes = "Bytes"
-
- // StandardUnitKilobytes is a StandardUnit enum value
- StandardUnitKilobytes = "Kilobytes"
-
- // StandardUnitMegabytes is a StandardUnit enum value
- StandardUnitMegabytes = "Megabytes"
-
- // StandardUnitGigabytes is a StandardUnit enum value
- StandardUnitGigabytes = "Gigabytes"
-
- // StandardUnitTerabytes is a StandardUnit enum value
- StandardUnitTerabytes = "Terabytes"
-
- // StandardUnitBits is a StandardUnit enum value
- StandardUnitBits = "Bits"
-
- // StandardUnitKilobits is a StandardUnit enum value
- StandardUnitKilobits = "Kilobits"
-
- // StandardUnitMegabits is a StandardUnit enum value
- StandardUnitMegabits = "Megabits"
-
- // StandardUnitGigabits is a StandardUnit enum value
- StandardUnitGigabits = "Gigabits"
-
- // StandardUnitTerabits is a StandardUnit enum value
- StandardUnitTerabits = "Terabits"
-
- // StandardUnitPercent is a StandardUnit enum value
- StandardUnitPercent = "Percent"
-
- // StandardUnitCount is a StandardUnit enum value
- StandardUnitCount = "Count"
-
- // StandardUnitBytesSecond is a StandardUnit enum value
- StandardUnitBytesSecond = "Bytes/Second"
-
- // StandardUnitKilobytesSecond is a StandardUnit enum value
- StandardUnitKilobytesSecond = "Kilobytes/Second"
-
- // StandardUnitMegabytesSecond is a StandardUnit enum value
- StandardUnitMegabytesSecond = "Megabytes/Second"
-
- // StandardUnitGigabytesSecond is a StandardUnit enum value
- StandardUnitGigabytesSecond = "Gigabytes/Second"
-
- // StandardUnitTerabytesSecond is a StandardUnit enum value
- StandardUnitTerabytesSecond = "Terabytes/Second"
-
- // StandardUnitBitsSecond is a StandardUnit enum value
- StandardUnitBitsSecond = "Bits/Second"
-
- // StandardUnitKilobitsSecond is a StandardUnit enum value
- StandardUnitKilobitsSecond = "Kilobits/Second"
-
- // StandardUnitMegabitsSecond is a StandardUnit enum value
- StandardUnitMegabitsSecond = "Megabits/Second"
-
- // StandardUnitGigabitsSecond is a StandardUnit enum value
- StandardUnitGigabitsSecond = "Gigabits/Second"
-
- // StandardUnitTerabitsSecond is a StandardUnit enum value
- StandardUnitTerabitsSecond = "Terabits/Second"
-
- // StandardUnitCountSecond is a StandardUnit enum value
- StandardUnitCountSecond = "Count/Second"
-
- // StandardUnitNone is a StandardUnit enum value
- StandardUnitNone = "None"
-)
-
-const (
- // StateValueOk is a StateValue enum value
- StateValueOk = "OK"
-
- // StateValueAlarm is a StateValue enum value
- StateValueAlarm = "ALARM"
-
- // StateValueInsufficientData is a StateValue enum value
- StateValueInsufficientData = "INSUFFICIENT_DATA"
-)
-
-const (
- // StatisticSampleCount is a Statistic enum value
- StatisticSampleCount = "SampleCount"
-
- // StatisticAverage is a Statistic enum value
- StatisticAverage = "Average"
-
- // StatisticSum is a Statistic enum value
- StatisticSum = "Sum"
-
- // StatisticMinimum is a Statistic enum value
- StatisticMinimum = "Minimum"
-
- // StatisticMaximum is a Statistic enum value
- StatisticMaximum = "Maximum"
-)
-
-const (
- // StatusCodeComplete is a StatusCode enum value
- StatusCodeComplete = "Complete"
-
- // StatusCodeInternalError is a StatusCode enum value
- StatusCodeInternalError = "InternalError"
-
- // StatusCodePartialData is a StatusCode enum value
- StatusCodePartialData = "PartialData"
-)
diff --git a/agent/vendor/github.com/aws/aws-sdk-go/service/cloudwatch/doc.go b/agent/vendor/github.com/aws/aws-sdk-go/service/cloudwatch/doc.go
deleted file mode 100644
index 662023540c8..00000000000
--- a/agent/vendor/github.com/aws/aws-sdk-go/service/cloudwatch/doc.go
+++ /dev/null
@@ -1,42 +0,0 @@
-// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
-
-// Package cloudwatch provides the client and types for making API
-// requests to Amazon CloudWatch.
-//
-// Amazon CloudWatch monitors your Amazon Web Services (AWS) resources and the
-// applications you run on AWS in real time. You can use CloudWatch to collect
-// and track metrics, which are the variables you want to measure for your resources
-// and applications.
-//
-// CloudWatch alarms send notifications or automatically change the resources
-// you are monitoring based on rules that you define. For example, you can monitor
-// the CPU usage and disk reads and writes of your Amazon EC2 instances. Then,
-// use this data to determine whether you should launch additional instances
-// to handle increased load. You can also use this data to stop under-used instances
-// to save money.
-//
-// In addition to monitoring the built-in metrics that come with AWS, you can
-// monitor your own custom metrics. With CloudWatch, you gain system-wide visibility
-// into resource utilization, application performance, and operational health.
-//
-// See https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01 for more information on this service.
-//
-// See cloudwatch package documentation for more information.
-// https://docs.aws.amazon.com/sdk-for-go/api/service/cloudwatch/
-//
-// Using the Client
-//
-// To contact Amazon CloudWatch with the SDK use the New function to create
-// a new service client. With that client you can make API requests to the service.
-// These clients are safe to use concurrently.
-//
-// See the SDK's documentation for more information on how to use the SDK.
-// https://docs.aws.amazon.com/sdk-for-go/api/
-//
-// See aws.Config documentation for more information on configuring SDK clients.
-// https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config
-//
-// See the Amazon CloudWatch client CloudWatch for more
-// information on creating client for this service.
-// https://docs.aws.amazon.com/sdk-for-go/api/service/cloudwatch/#New
-package cloudwatch
diff --git a/agent/vendor/github.com/aws/aws-sdk-go/service/cloudwatch/errors.go b/agent/vendor/github.com/aws/aws-sdk-go/service/cloudwatch/errors.go
deleted file mode 100644
index 77d0ded2005..00000000000
--- a/agent/vendor/github.com/aws/aws-sdk-go/service/cloudwatch/errors.go
+++ /dev/null
@@ -1,84 +0,0 @@
-// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
-
-package cloudwatch
-
-const (
-
- // ErrCodeConcurrentModificationException for service response error code
- // "ConcurrentModificationException".
- //
- // More than one process tried to modify a resource at the same time.
- ErrCodeConcurrentModificationException = "ConcurrentModificationException"
-
- // ErrCodeDashboardInvalidInputError for service response error code
- // "InvalidParameterInput".
- //
- // Some part of the dashboard data is invalid.
- ErrCodeDashboardInvalidInputError = "InvalidParameterInput"
-
- // ErrCodeDashboardNotFoundError for service response error code
- // "ResourceNotFound".
- //
- // The specified dashboard does not exist.
- ErrCodeDashboardNotFoundError = "ResourceNotFound"
-
- // ErrCodeInternalServiceFault for service response error code
- // "InternalServiceError".
- //
- // Request processing has failed due to some unknown error, exception, or failure.
- ErrCodeInternalServiceFault = "InternalServiceError"
-
- // ErrCodeInvalidFormatFault for service response error code
- // "InvalidFormat".
- //
- // Data was not syntactically valid JSON.
- ErrCodeInvalidFormatFault = "InvalidFormat"
-
- // ErrCodeInvalidNextToken for service response error code
- // "InvalidNextToken".
- //
- // The next token specified is invalid.
- ErrCodeInvalidNextToken = "InvalidNextToken"
-
- // ErrCodeInvalidParameterCombinationException for service response error code
- // "InvalidParameterCombination".
- //
- // Parameters were used together that cannot be used together.
- ErrCodeInvalidParameterCombinationException = "InvalidParameterCombination"
-
- // ErrCodeInvalidParameterValueException for service response error code
- // "InvalidParameterValue".
- //
- // The value of an input parameter is bad or out-of-range.
- ErrCodeInvalidParameterValueException = "InvalidParameterValue"
-
- // ErrCodeLimitExceededException for service response error code
- // "LimitExceededException".
- //
- // The operation exceeded one or more limits.
- ErrCodeLimitExceededException = "LimitExceededException"
-
- // ErrCodeLimitExceededFault for service response error code
- // "LimitExceeded".
- //
- // The quota for alarms for this customer has already been reached.
- ErrCodeLimitExceededFault = "LimitExceeded"
-
- // ErrCodeMissingRequiredParameterException for service response error code
- // "MissingParameter".
- //
- // An input parameter that is required is missing.
- ErrCodeMissingRequiredParameterException = "MissingParameter"
-
- // ErrCodeResourceNotFound for service response error code
- // "ResourceNotFound".
- //
- // The named resource does not exist.
- ErrCodeResourceNotFound = "ResourceNotFound"
-
- // ErrCodeResourceNotFoundException for service response error code
- // "ResourceNotFoundException".
- //
- // The named resource does not exist.
- ErrCodeResourceNotFoundException = "ResourceNotFoundException"
-)
diff --git a/agent/vendor/github.com/aws/aws-sdk-go/service/cloudwatch/service.go b/agent/vendor/github.com/aws/aws-sdk-go/service/cloudwatch/service.go
deleted file mode 100644
index c926b57c8e1..00000000000
--- a/agent/vendor/github.com/aws/aws-sdk-go/service/cloudwatch/service.go
+++ /dev/null
@@ -1,98 +0,0 @@
-// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
-
-package cloudwatch
-
-import (
- "github.com/aws/aws-sdk-go/aws"
- "github.com/aws/aws-sdk-go/aws/client"
- "github.com/aws/aws-sdk-go/aws/client/metadata"
- "github.com/aws/aws-sdk-go/aws/request"
- "github.com/aws/aws-sdk-go/aws/signer/v4"
- "github.com/aws/aws-sdk-go/private/protocol/query"
-)
-
-// CloudWatch provides the API operation methods for making requests to
-// Amazon CloudWatch. See this package's package overview docs
-// for details on the service.
-//
-// CloudWatch methods are safe to use concurrently. It is not safe to
-// modify mutate any of the struct's properties though.
-type CloudWatch struct {
- *client.Client
-}
-
-// Used for custom client initialization logic
-var initClient func(*client.Client)
-
-// Used for custom request initialization logic
-var initRequest func(*request.Request)
-
-// Service information constants
-const (
- ServiceName = "monitoring" // Name of service.
- EndpointsID = ServiceName // ID to lookup a service endpoint with.
- ServiceID = "CloudWatch" // ServiceID is a unique identifier of a specific service.
-)
-
-// New creates a new instance of the CloudWatch client with a session.
-// If additional configuration is needed for the client instance use the optional
-// aws.Config parameter to add your extra config.
-//
-// Example:
-// mySession := session.Must(session.NewSession())
-//
-// // Create a CloudWatch client from just a session.
-// svc := cloudwatch.New(mySession)
-//
-// // Create a CloudWatch client with additional configuration
-// svc := cloudwatch.New(mySession, aws.NewConfig().WithRegion("us-west-2"))
-func New(p client.ConfigProvider, cfgs ...*aws.Config) *CloudWatch {
- c := p.ClientConfig(EndpointsID, cfgs...)
- return newClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName)
-}
-
-// newClient creates, initializes and returns a new service client instance.
-func newClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, signingRegion, signingName string) *CloudWatch {
- svc := &CloudWatch{
- Client: client.New(
- cfg,
- metadata.ClientInfo{
- ServiceName: ServiceName,
- ServiceID: ServiceID,
- SigningName: signingName,
- SigningRegion: signingRegion,
- PartitionID: partitionID,
- Endpoint: endpoint,
- APIVersion: "2010-08-01",
- },
- handlers,
- ),
- }
-
- // Handlers
- svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler)
- svc.Handlers.Build.PushBackNamed(query.BuildHandler)
- svc.Handlers.Unmarshal.PushBackNamed(query.UnmarshalHandler)
- svc.Handlers.UnmarshalMeta.PushBackNamed(query.UnmarshalMetaHandler)
- svc.Handlers.UnmarshalError.PushBackNamed(query.UnmarshalErrorHandler)
-
- // Run custom client initialization if present
- if initClient != nil {
- initClient(svc.Client)
- }
-
- return svc
-}
-
-// newRequest creates a new request for a CloudWatch operation and runs any
-// custom request initialization.
-func (c *CloudWatch) newRequest(op *request.Operation, params, data interface{}) *request.Request {
- req := c.NewRequest(op, params, data)
-
- // Run custom request initialization if present
- if initRequest != nil {
- initRequest(req)
- }
-
- return req
-}
diff --git a/agent/vendor/github.com/aws/aws-sdk-go/service/cloudwatch/waiters.go b/agent/vendor/github.com/aws/aws-sdk-go/service/cloudwatch/waiters.go
deleted file mode 100644
index 21e42ac581b..00000000000
--- a/agent/vendor/github.com/aws/aws-sdk-go/service/cloudwatch/waiters.go
+++ /dev/null
@@ -1,56 +0,0 @@
-// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
-
-package cloudwatch
-
-import (
- "time"
-
- "github.com/aws/aws-sdk-go/aws"
- "github.com/aws/aws-sdk-go/aws/request"
-)
-
-// WaitUntilAlarmExists uses the CloudWatch API operation
-// DescribeAlarms to wait for a condition to be met before returning.
-// If the condition is not met within the max attempt window, an error will
-// be returned.
-func (c *CloudWatch) WaitUntilAlarmExists(input *DescribeAlarmsInput) error {
- return c.WaitUntilAlarmExistsWithContext(aws.BackgroundContext(), input)
-}
-
-// WaitUntilAlarmExistsWithContext is an extended version of WaitUntilAlarmExists.
-// With the support for passing in a context and options to configure the
-// Waiter and the underlying request options.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *CloudWatch) WaitUntilAlarmExistsWithContext(ctx aws.Context, input *DescribeAlarmsInput, opts ...request.WaiterOption) error {
- w := request.Waiter{
- Name: "WaitUntilAlarmExists",
- MaxAttempts: 40,
- Delay: request.ConstantWaiterDelay(5 * time.Second),
- Acceptors: []request.WaiterAcceptor{
- {
- State: request.SuccessWaiterState,
- Matcher: request.PathWaiterMatch, Argument: "length(MetricAlarms[]) > `0`",
- Expected: true,
- },
- },
- Logger: c.Config.Logger,
- NewRequest: func(opts []request.Option) (*request.Request, error) {
- var inCpy *DescribeAlarmsInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.DescribeAlarmsRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
- w.ApplyOptions(opts...)
-
- return w.WaitWithContext(ctx)
-}
diff --git a/agent/vendor/github.com/aws/aws-sdk-go/service/efs/api.go b/agent/vendor/github.com/aws/aws-sdk-go/service/efs/api.go
deleted file mode 100644
index 47c2ce00664..00000000000
--- a/agent/vendor/github.com/aws/aws-sdk-go/service/efs/api.go
+++ /dev/null
@@ -1,3431 +0,0 @@
-// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
-
-package efs
-
-import (
- "fmt"
- "time"
-
- "github.com/aws/aws-sdk-go/aws"
- "github.com/aws/aws-sdk-go/aws/awsutil"
- "github.com/aws/aws-sdk-go/aws/request"
- "github.com/aws/aws-sdk-go/private/protocol"
- "github.com/aws/aws-sdk-go/private/protocol/restjson"
-)
-
-const opCreateFileSystem = "CreateFileSystem"
-
-// CreateFileSystemRequest generates a "aws/request.Request" representing the
-// client's request for the CreateFileSystem operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See CreateFileSystem for more information on using the CreateFileSystem
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the CreateFileSystemRequest method.
-// req, resp := client.CreateFileSystemRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/CreateFileSystem
-func (c *EFS) CreateFileSystemRequest(input *CreateFileSystemInput) (req *request.Request, output *FileSystemDescription) {
- op := &request.Operation{
- Name: opCreateFileSystem,
- HTTPMethod: "POST",
- HTTPPath: "/2015-02-01/file-systems",
- }
-
- if input == nil {
- input = &CreateFileSystemInput{}
- }
-
- output = &FileSystemDescription{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// CreateFileSystem API operation for Amazon Elastic File System.
-//
-// Creates a new, empty file system. The operation requires a creation token
-// in the request that Amazon EFS uses to ensure idempotent creation (calling
-// the operation with same creation token has no effect). If a file system does
-// not currently exist that is owned by the caller's AWS account with the specified
-// creation token, this operation does the following:
-//
-// * Creates a new, empty file system. The file system will have an Amazon
-// EFS assigned ID, and an initial lifecycle state creating.
-//
-// * Returns with the description of the created file system.
-//
-// Otherwise, this operation returns a FileSystemAlreadyExists error with the
-// ID of the existing file system.
-//
-// For basic use cases, you can use a randomly generated UUID for the creation
-// token.
-//
-// The idempotent operation allows you to retry a CreateFileSystem call without
-// risk of creating an extra file system. This can happen when an initial call
-// fails in a way that leaves it uncertain whether or not a file system was
-// actually created. An example might be that a transport level timeout occurred
-// or your connection was reset. As long as you use the same creation token,
-// if the initial call had succeeded in creating a file system, the client can
-// learn of its existence from the FileSystemAlreadyExists error.
-//
-// The CreateFileSystem call returns while the file system's lifecycle state
-// is still creating. You can check the file system creation status by calling
-// the DescribeFileSystems operation, which among other things returns the file
-// system state.
-//
-// This operation also takes an optional PerformanceMode parameter that you
-// choose for your file system. We recommend generalPurpose performance mode
-// for most file systems. File systems using the maxIO performance mode can
-// scale to higher levels of aggregate throughput and operations per second
-// with a tradeoff of slightly higher latencies for most file operations. The
-// performance mode can't be changed after the file system has been created.
-// For more information, see Amazon EFS: Performance Modes (https://docs.aws.amazon.com/efs/latest/ug/performance.html#performancemodes.html).
-//
-// After the file system is fully created, Amazon EFS sets its lifecycle state
-// to available, at which point you can create one or more mount targets for
-// the file system in your VPC. For more information, see CreateMountTarget.
-// You mount your Amazon EFS file system on an EC2 instances in your VPC by
-// using the mount target. For more information, see Amazon EFS: How it Works
-// (https://docs.aws.amazon.com/efs/latest/ug/how-it-works.html).
-//
-// This operation requires permissions for the elasticfilesystem:CreateFileSystem
-// action.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for Amazon Elastic File System's
-// API operation CreateFileSystem for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeBadRequest "BadRequest"
-// Returned if the request is malformed or contains an error such as an invalid
-// parameter value or a missing required parameter.
-//
-// * ErrCodeInternalServerError "InternalServerError"
-// Returned if an error occurred on the server side.
-//
-// * ErrCodeFileSystemAlreadyExists "FileSystemAlreadyExists"
-// Returned if the file system you are trying to create already exists, with
-// the creation token you provided.
-//
-// * ErrCodeFileSystemLimitExceeded "FileSystemLimitExceeded"
-// Returned if the AWS account has already created the maximum number of file
-// systems allowed per account.
-//
-// * ErrCodeInsufficientThroughputCapacity "InsufficientThroughputCapacity"
-// Returned if there's not enough capacity to provision additional throughput.
-// This value might be returned when you try to create a file system in provisioned
-// throughput mode, when you attempt to increase the provisioned throughput
-// of an existing file system, or when you attempt to change an existing file
-// system from bursting to provisioned throughput mode.
-//
-// * ErrCodeThroughputLimitExceeded "ThroughputLimitExceeded"
-// Returned if the throughput mode or amount of provisioned throughput can't
-// be changed because the throughput limit of 1024 MiB/s has been reached.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/CreateFileSystem
-func (c *EFS) CreateFileSystem(input *CreateFileSystemInput) (*FileSystemDescription, error) {
- req, out := c.CreateFileSystemRequest(input)
- return out, req.Send()
-}
-
-// CreateFileSystemWithContext is the same as CreateFileSystem with the addition of
-// the ability to pass a context and additional request options.
-//
-// See CreateFileSystem for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *EFS) CreateFileSystemWithContext(ctx aws.Context, input *CreateFileSystemInput, opts ...request.Option) (*FileSystemDescription, error) {
- req, out := c.CreateFileSystemRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opCreateMountTarget = "CreateMountTarget"
-
-// CreateMountTargetRequest generates a "aws/request.Request" representing the
-// client's request for the CreateMountTarget operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See CreateMountTarget for more information on using the CreateMountTarget
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the CreateMountTargetRequest method.
-// req, resp := client.CreateMountTargetRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/CreateMountTarget
-func (c *EFS) CreateMountTargetRequest(input *CreateMountTargetInput) (req *request.Request, output *MountTargetDescription) {
- op := &request.Operation{
- Name: opCreateMountTarget,
- HTTPMethod: "POST",
- HTTPPath: "/2015-02-01/mount-targets",
- }
-
- if input == nil {
- input = &CreateMountTargetInput{}
- }
-
- output = &MountTargetDescription{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// CreateMountTarget API operation for Amazon Elastic File System.
-//
-// Creates a mount target for a file system. You can then mount the file system
-// on EC2 instances by using the mount target.
-//
-// You can create one mount target in each Availability Zone in your VPC. All
-// EC2 instances in a VPC within a given Availability Zone share a single mount
-// target for a given file system. If you have multiple subnets in an Availability
-// Zone, you create a mount target in one of the subnets. EC2 instances do not
-// need to be in the same subnet as the mount target in order to access their
-// file system. For more information, see Amazon EFS: How it Works (https://docs.aws.amazon.com/efs/latest/ug/how-it-works.html).
-//
-// In the request, you also specify a file system ID for which you are creating
-// the mount target and the file system's lifecycle state must be available.
-// For more information, see DescribeFileSystems.
-//
-// In the request, you also provide a subnet ID, which determines the following:
-//
-// * VPC in which Amazon EFS creates the mount target
-//
-// * Availability Zone in which Amazon EFS creates the mount target
-//
-// * IP address range from which Amazon EFS selects the IP address of the
-// mount target (if you don't specify an IP address in the request)
-//
-// After creating the mount target, Amazon EFS returns a response that includes,
-// a MountTargetId and an IpAddress. You use this IP address when mounting the
-// file system in an EC2 instance. You can also use the mount target's DNS name
-// when mounting the file system. The EC2 instance on which you mount the file
-// system by using the mount target can resolve the mount target's DNS name
-// to its IP address. For more information, see How it Works: Implementation
-// Overview (https://docs.aws.amazon.com/efs/latest/ug/how-it-works.html#how-it-works-implementation).
-//
-// Note that you can create mount targets for a file system in only one VPC,
-// and there can be only one mount target per Availability Zone. That is, if
-// the file system already has one or more mount targets created for it, the
-// subnet specified in the request to add another mount target must meet the
-// following requirements:
-//
-// * Must belong to the same VPC as the subnets of the existing mount targets
-//
-// * Must not be in the same Availability Zone as any of the subnets of the
-// existing mount targets
-//
-// If the request satisfies the requirements, Amazon EFS does the following:
-//
-// * Creates a new mount target in the specified subnet.
-//
-// * Also creates a new network interface in the subnet as follows: If the
-// request provides an IpAddress, Amazon EFS assigns that IP address to the
-// network interface. Otherwise, Amazon EFS assigns a free address in the
-// subnet (in the same way that the Amazon EC2 CreateNetworkInterface call
-// does when a request does not specify a primary private IP address). If
-// the request provides SecurityGroups, this network interface is associated
-// with those security groups. Otherwise, it belongs to the default security
-// group for the subnet's VPC. Assigns the description Mount target fsmt-id
-// for file system fs-id where fsmt-id is the mount target ID, and fs-id
-// is the FileSystemId. Sets the requesterManaged property of the network
-// interface to true, and the requesterId value to EFS. Each Amazon EFS mount
-// target has one corresponding requester-managed EC2 network interface.
-// After the network interface is created, Amazon EFS sets the NetworkInterfaceId
-// field in the mount target's description to the network interface ID, and
-// the IpAddress field to its address. If network interface creation fails,
-// the entire CreateMountTarget operation fails.
-//
-// The CreateMountTarget call returns only after creating the network interface,
-// but while the mount target state is still creating, you can check the mount
-// target creation status by calling the DescribeMountTargets operation, which
-// among other things returns the mount target state.
-//
-// We recommend that you create a mount target in each of the Availability Zones.
-// There are cost considerations for using a file system in an Availability
-// Zone through a mount target created in another Availability Zone. For more
-// information, see Amazon EFS (http://aws.amazon.com/efs/). In addition, by
-// always using a mount target local to the instance's Availability Zone, you
-// eliminate a partial failure scenario. If the Availability Zone in which your
-// mount target is created goes down, then you can't access your file system
-// through that mount target.
-//
-// This operation requires permissions for the following action on the file
-// system:
-//
-// * elasticfilesystem:CreateMountTarget
-//
-// This operation also requires permissions for the following Amazon EC2 actions:
-//
-// * ec2:DescribeSubnets
-//
-// * ec2:DescribeNetworkInterfaces
-//
-// * ec2:CreateNetworkInterface
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for Amazon Elastic File System's
-// API operation CreateMountTarget for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeBadRequest "BadRequest"
-// Returned if the request is malformed or contains an error such as an invalid
-// parameter value or a missing required parameter.
-//
-// * ErrCodeInternalServerError "InternalServerError"
-// Returned if an error occurred on the server side.
-//
-// * ErrCodeFileSystemNotFound "FileSystemNotFound"
-// Returned if the specified FileSystemId value doesn't exist in the requester's
-// AWS account.
-//
-// * ErrCodeIncorrectFileSystemLifeCycleState "IncorrectFileSystemLifeCycleState"
-// Returned if the file system's lifecycle state is not "available".
-//
-// * ErrCodeMountTargetConflict "MountTargetConflict"
-// Returned if the mount target would violate one of the specified restrictions
-// based on the file system's existing mount targets.
-//
-// * ErrCodeSubnetNotFound "SubnetNotFound"
-// Returned if there is no subnet with ID SubnetId provided in the request.
-//
-// * ErrCodeNoFreeAddressesInSubnet "NoFreeAddressesInSubnet"
-// Returned if IpAddress was not specified in the request and there are no free
-// IP addresses in the subnet.
-//
-// * ErrCodeIpAddressInUse "IpAddressInUse"
-// Returned if the request specified an IpAddress that is already in use in
-// the subnet.
-//
-// * ErrCodeNetworkInterfaceLimitExceeded "NetworkInterfaceLimitExceeded"
-// The calling account has reached the limit for elastic network interfaces
-// for the specific AWS Region. The client should try to delete some elastic
-// network interfaces or get the account limit raised. For more information,
-// see Amazon VPC Limits (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Appendix_Limits.html)
-// in the Amazon VPC User Guide (see the Network interfaces per VPC entry in
-// the table).
-//
-// * ErrCodeSecurityGroupLimitExceeded "SecurityGroupLimitExceeded"
-// Returned if the size of SecurityGroups specified in the request is greater
-// than five.
-//
-// * ErrCodeSecurityGroupNotFound "SecurityGroupNotFound"
-// Returned if one of the specified security groups doesn't exist in the subnet's
-// VPC.
-//
-// * ErrCodeUnsupportedAvailabilityZone "UnsupportedAvailabilityZone"
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/CreateMountTarget
-func (c *EFS) CreateMountTarget(input *CreateMountTargetInput) (*MountTargetDescription, error) {
- req, out := c.CreateMountTargetRequest(input)
- return out, req.Send()
-}
-
-// CreateMountTargetWithContext is the same as CreateMountTarget with the addition of
-// the ability to pass a context and additional request options.
-//
-// See CreateMountTarget for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *EFS) CreateMountTargetWithContext(ctx aws.Context, input *CreateMountTargetInput, opts ...request.Option) (*MountTargetDescription, error) {
- req, out := c.CreateMountTargetRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opCreateTags = "CreateTags"
-
-// CreateTagsRequest generates a "aws/request.Request" representing the
-// client's request for the CreateTags operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See CreateTags for more information on using the CreateTags
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the CreateTagsRequest method.
-// req, resp := client.CreateTagsRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/CreateTags
-func (c *EFS) CreateTagsRequest(input *CreateTagsInput) (req *request.Request, output *CreateTagsOutput) {
- op := &request.Operation{
- Name: opCreateTags,
- HTTPMethod: "POST",
- HTTPPath: "/2015-02-01/create-tags/{FileSystemId}",
- }
-
- if input == nil {
- input = &CreateTagsInput{}
- }
-
- output = &CreateTagsOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// CreateTags API operation for Amazon Elastic File System.
-//
-// Creates or overwrites tags associated with a file system. Each tag is a key-value
-// pair. If a tag key specified in the request already exists on the file system,
-// this operation overwrites its value with the value provided in the request.
-// If you add the Name tag to your file system, Amazon EFS returns it in the
-// response to the DescribeFileSystems operation.
-//
-// This operation requires permission for the elasticfilesystem:CreateTags action.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for Amazon Elastic File System's
-// API operation CreateTags for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeBadRequest "BadRequest"
-// Returned if the request is malformed or contains an error such as an invalid
-// parameter value or a missing required parameter.
-//
-// * ErrCodeInternalServerError "InternalServerError"
-// Returned if an error occurred on the server side.
-//
-// * ErrCodeFileSystemNotFound "FileSystemNotFound"
-// Returned if the specified FileSystemId value doesn't exist in the requester's
-// AWS account.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/CreateTags
-func (c *EFS) CreateTags(input *CreateTagsInput) (*CreateTagsOutput, error) {
- req, out := c.CreateTagsRequest(input)
- return out, req.Send()
-}
-
-// CreateTagsWithContext is the same as CreateTags with the addition of
-// the ability to pass a context and additional request options.
-//
-// See CreateTags for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *EFS) CreateTagsWithContext(ctx aws.Context, input *CreateTagsInput, opts ...request.Option) (*CreateTagsOutput, error) {
- req, out := c.CreateTagsRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opDeleteFileSystem = "DeleteFileSystem"
-
-// DeleteFileSystemRequest generates a "aws/request.Request" representing the
-// client's request for the DeleteFileSystem operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See DeleteFileSystem for more information on using the DeleteFileSystem
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the DeleteFileSystemRequest method.
-// req, resp := client.DeleteFileSystemRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DeleteFileSystem
-func (c *EFS) DeleteFileSystemRequest(input *DeleteFileSystemInput) (req *request.Request, output *DeleteFileSystemOutput) {
- op := &request.Operation{
- Name: opDeleteFileSystem,
- HTTPMethod: "DELETE",
- HTTPPath: "/2015-02-01/file-systems/{FileSystemId}",
- }
-
- if input == nil {
- input = &DeleteFileSystemInput{}
- }
-
- output = &DeleteFileSystemOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// DeleteFileSystem API operation for Amazon Elastic File System.
-//
-// Deletes a file system, permanently severing access to its contents. Upon
-// return, the file system no longer exists and you can't access any contents
-// of the deleted file system.
-//
-// You can't delete a file system that is in use. That is, if the file system
-// has any mount targets, you must first delete them. For more information,
-// see DescribeMountTargets and DeleteMountTarget.
-//
-// The DeleteFileSystem call returns while the file system state is still deleting.
-// You can check the file system deletion status by calling the DescribeFileSystems
-// operation, which returns a list of file systems in your account. If you pass
-// file system ID or creation token for the deleted file system, the DescribeFileSystems
-// returns a 404 FileSystemNotFound error.
-//
-// This operation requires permissions for the elasticfilesystem:DeleteFileSystem
-// action.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for Amazon Elastic File System's
-// API operation DeleteFileSystem for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeBadRequest "BadRequest"
-// Returned if the request is malformed or contains an error such as an invalid
-// parameter value or a missing required parameter.
-//
-// * ErrCodeInternalServerError "InternalServerError"
-// Returned if an error occurred on the server side.
-//
-// * ErrCodeFileSystemNotFound "FileSystemNotFound"
-// Returned if the specified FileSystemId value doesn't exist in the requester's
-// AWS account.
-//
-// * ErrCodeFileSystemInUse "FileSystemInUse"
-// Returned if a file system has mount targets.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DeleteFileSystem
-func (c *EFS) DeleteFileSystem(input *DeleteFileSystemInput) (*DeleteFileSystemOutput, error) {
- req, out := c.DeleteFileSystemRequest(input)
- return out, req.Send()
-}
-
-// DeleteFileSystemWithContext is the same as DeleteFileSystem with the addition of
-// the ability to pass a context and additional request options.
-//
-// See DeleteFileSystem for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *EFS) DeleteFileSystemWithContext(ctx aws.Context, input *DeleteFileSystemInput, opts ...request.Option) (*DeleteFileSystemOutput, error) {
- req, out := c.DeleteFileSystemRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opDeleteMountTarget = "DeleteMountTarget"
-
-// DeleteMountTargetRequest generates a "aws/request.Request" representing the
-// client's request for the DeleteMountTarget operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See DeleteMountTarget for more information on using the DeleteMountTarget
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the DeleteMountTargetRequest method.
-// req, resp := client.DeleteMountTargetRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DeleteMountTarget
-func (c *EFS) DeleteMountTargetRequest(input *DeleteMountTargetInput) (req *request.Request, output *DeleteMountTargetOutput) {
- op := &request.Operation{
- Name: opDeleteMountTarget,
- HTTPMethod: "DELETE",
- HTTPPath: "/2015-02-01/mount-targets/{MountTargetId}",
- }
-
- if input == nil {
- input = &DeleteMountTargetInput{}
- }
-
- output = &DeleteMountTargetOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// DeleteMountTarget API operation for Amazon Elastic File System.
-//
-// Deletes the specified mount target.
-//
-// This operation forcibly breaks any mounts of the file system by using the
-// mount target that is being deleted, which might disrupt instances or applications
-// using those mounts. To avoid applications getting cut off abruptly, you might
-// consider unmounting any mounts of the mount target, if feasible. The operation
-// also deletes the associated network interface. Uncommitted writes might be
-// lost, but breaking a mount target using this operation does not corrupt the
-// file system itself. The file system you created remains. You can mount an
-// EC2 instance in your VPC by using another mount target.
-//
-// This operation requires permissions for the following action on the file
-// system:
-//
-// * elasticfilesystem:DeleteMountTarget
-//
-// The DeleteMountTarget call returns while the mount target state is still
-// deleting. You can check the mount target deletion by calling the DescribeMountTargets
-// operation, which returns a list of mount target descriptions for the given
-// file system.
-//
-// The operation also requires permissions for the following Amazon EC2 action
-// on the mount target's network interface:
-//
-// * ec2:DeleteNetworkInterface
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for Amazon Elastic File System's
-// API operation DeleteMountTarget for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeBadRequest "BadRequest"
-// Returned if the request is malformed or contains an error such as an invalid
-// parameter value or a missing required parameter.
-//
-// * ErrCodeInternalServerError "InternalServerError"
-// Returned if an error occurred on the server side.
-//
-// * ErrCodeDependencyTimeout "DependencyTimeout"
-// The service timed out trying to fulfill the request, and the client should
-// try the call again.
-//
-// * ErrCodeMountTargetNotFound "MountTargetNotFound"
-// Returned if there is no mount target with the specified ID found in the caller's
-// account.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DeleteMountTarget
-func (c *EFS) DeleteMountTarget(input *DeleteMountTargetInput) (*DeleteMountTargetOutput, error) {
- req, out := c.DeleteMountTargetRequest(input)
- return out, req.Send()
-}
-
-// DeleteMountTargetWithContext is the same as DeleteMountTarget with the addition of
-// the ability to pass a context and additional request options.
-//
-// See DeleteMountTarget for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *EFS) DeleteMountTargetWithContext(ctx aws.Context, input *DeleteMountTargetInput, opts ...request.Option) (*DeleteMountTargetOutput, error) {
- req, out := c.DeleteMountTargetRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opDeleteTags = "DeleteTags"
-
-// DeleteTagsRequest generates a "aws/request.Request" representing the
-// client's request for the DeleteTags operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See DeleteTags for more information on using the DeleteTags
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the DeleteTagsRequest method.
-// req, resp := client.DeleteTagsRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DeleteTags
-func (c *EFS) DeleteTagsRequest(input *DeleteTagsInput) (req *request.Request, output *DeleteTagsOutput) {
- op := &request.Operation{
- Name: opDeleteTags,
- HTTPMethod: "POST",
- HTTPPath: "/2015-02-01/delete-tags/{FileSystemId}",
- }
-
- if input == nil {
- input = &DeleteTagsInput{}
- }
-
- output = &DeleteTagsOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// DeleteTags API operation for Amazon Elastic File System.
-//
-// Deletes the specified tags from a file system. If the DeleteTags request
-// includes a tag key that doesn't exist, Amazon EFS ignores it and doesn't
-// cause an error. For more information about tags and related restrictions,
-// see Tag Restrictions (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html)
-// in the AWS Billing and Cost Management User Guide.
-//
-// This operation requires permissions for the elasticfilesystem:DeleteTags
-// action.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for Amazon Elastic File System's
-// API operation DeleteTags for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeBadRequest "BadRequest"
-// Returned if the request is malformed or contains an error such as an invalid
-// parameter value or a missing required parameter.
-//
-// * ErrCodeInternalServerError "InternalServerError"
-// Returned if an error occurred on the server side.
-//
-// * ErrCodeFileSystemNotFound "FileSystemNotFound"
-// Returned if the specified FileSystemId value doesn't exist in the requester's
-// AWS account.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DeleteTags
-func (c *EFS) DeleteTags(input *DeleteTagsInput) (*DeleteTagsOutput, error) {
- req, out := c.DeleteTagsRequest(input)
- return out, req.Send()
-}
-
-// DeleteTagsWithContext is the same as DeleteTags with the addition of
-// the ability to pass a context and additional request options.
-//
-// See DeleteTags for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *EFS) DeleteTagsWithContext(ctx aws.Context, input *DeleteTagsInput, opts ...request.Option) (*DeleteTagsOutput, error) {
- req, out := c.DeleteTagsRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opDescribeFileSystems = "DescribeFileSystems"
-
-// DescribeFileSystemsRequest generates a "aws/request.Request" representing the
-// client's request for the DescribeFileSystems operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See DescribeFileSystems for more information on using the DescribeFileSystems
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the DescribeFileSystemsRequest method.
-// req, resp := client.DescribeFileSystemsRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DescribeFileSystems
-func (c *EFS) DescribeFileSystemsRequest(input *DescribeFileSystemsInput) (req *request.Request, output *DescribeFileSystemsOutput) {
- op := &request.Operation{
- Name: opDescribeFileSystems,
- HTTPMethod: "GET",
- HTTPPath: "/2015-02-01/file-systems",
- }
-
- if input == nil {
- input = &DescribeFileSystemsInput{}
- }
-
- output = &DescribeFileSystemsOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// DescribeFileSystems API operation for Amazon Elastic File System.
-//
-// Returns the description of a specific Amazon EFS file system if either the
-// file system CreationToken or the FileSystemId is provided. Otherwise, it
-// returns descriptions of all file systems owned by the caller's AWS account
-// in the AWS Region of the endpoint that you're calling.
-//
-// When retrieving all file system descriptions, you can optionally specify
-// the MaxItems parameter to limit the number of descriptions in a response.
-// Currently, this number is automatically set to 10. If more file system descriptions
-// remain, Amazon EFS returns a NextMarker, an opaque token, in the response.
-// In this case, you should send a subsequent request with the Marker request
-// parameter set to the value of NextMarker.
-//
-// To retrieve a list of your file system descriptions, this operation is used
-// in an iterative process, where DescribeFileSystems is called first without
-// the Marker and then the operation continues to call it with the Marker parameter
-// set to the value of the NextMarker from the previous response until the response
-// has no NextMarker.
-//
-// The order of file systems returned in the response of one DescribeFileSystems
-// call and the order of file systems returned across the responses of a multi-call
-// iteration is unspecified.
-//
-// This operation requires permissions for the elasticfilesystem:DescribeFileSystems
-// action.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for Amazon Elastic File System's
-// API operation DescribeFileSystems for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeBadRequest "BadRequest"
-// Returned if the request is malformed or contains an error such as an invalid
-// parameter value or a missing required parameter.
-//
-// * ErrCodeInternalServerError "InternalServerError"
-// Returned if an error occurred on the server side.
-//
-// * ErrCodeFileSystemNotFound "FileSystemNotFound"
-// Returned if the specified FileSystemId value doesn't exist in the requester's
-// AWS account.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DescribeFileSystems
-func (c *EFS) DescribeFileSystems(input *DescribeFileSystemsInput) (*DescribeFileSystemsOutput, error) {
- req, out := c.DescribeFileSystemsRequest(input)
- return out, req.Send()
-}
-
-// DescribeFileSystemsWithContext is the same as DescribeFileSystems with the addition of
-// the ability to pass a context and additional request options.
-//
-// See DescribeFileSystems for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *EFS) DescribeFileSystemsWithContext(ctx aws.Context, input *DescribeFileSystemsInput, opts ...request.Option) (*DescribeFileSystemsOutput, error) {
- req, out := c.DescribeFileSystemsRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opDescribeLifecycleConfiguration = "DescribeLifecycleConfiguration"
-
-// DescribeLifecycleConfigurationRequest generates a "aws/request.Request" representing the
-// client's request for the DescribeLifecycleConfiguration operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See DescribeLifecycleConfiguration for more information on using the DescribeLifecycleConfiguration
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the DescribeLifecycleConfigurationRequest method.
-// req, resp := client.DescribeLifecycleConfigurationRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DescribeLifecycleConfiguration
-func (c *EFS) DescribeLifecycleConfigurationRequest(input *DescribeLifecycleConfigurationInput) (req *request.Request, output *DescribeLifecycleConfigurationOutput) {
- op := &request.Operation{
- Name: opDescribeLifecycleConfiguration,
- HTTPMethod: "GET",
- HTTPPath: "/2015-02-01/file-systems/{FileSystemId}/lifecycle-configuration",
- }
-
- if input == nil {
- input = &DescribeLifecycleConfigurationInput{}
- }
-
- output = &DescribeLifecycleConfigurationOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// DescribeLifecycleConfiguration API operation for Amazon Elastic File System.
-//
-// Returns the current LifecycleConfiguration object for the specified Amazon
-// EFS file system. EFS lifecycle management uses the LifecycleConfiguration
-// object to identify which files to move to the EFS Infrequent Access (IA)
-// storage class. For a file system without a LifecycleConfiguration object,
-// the call returns an empty array in the response.
-//
-// This operation requires permissions for the elasticfilesystem:DescribeLifecycleConfiguration
-// operation.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for Amazon Elastic File System's
-// API operation DescribeLifecycleConfiguration for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeInternalServerError "InternalServerError"
-// Returned if an error occurred on the server side.
-//
-// * ErrCodeBadRequest "BadRequest"
-// Returned if the request is malformed or contains an error such as an invalid
-// parameter value or a missing required parameter.
-//
-// * ErrCodeFileSystemNotFound "FileSystemNotFound"
-// Returned if the specified FileSystemId value doesn't exist in the requester's
-// AWS account.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DescribeLifecycleConfiguration
-func (c *EFS) DescribeLifecycleConfiguration(input *DescribeLifecycleConfigurationInput) (*DescribeLifecycleConfigurationOutput, error) {
- req, out := c.DescribeLifecycleConfigurationRequest(input)
- return out, req.Send()
-}
-
-// DescribeLifecycleConfigurationWithContext is the same as DescribeLifecycleConfiguration with the addition of
-// the ability to pass a context and additional request options.
-//
-// See DescribeLifecycleConfiguration for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *EFS) DescribeLifecycleConfigurationWithContext(ctx aws.Context, input *DescribeLifecycleConfigurationInput, opts ...request.Option) (*DescribeLifecycleConfigurationOutput, error) {
- req, out := c.DescribeLifecycleConfigurationRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opDescribeMountTargetSecurityGroups = "DescribeMountTargetSecurityGroups"
-
-// DescribeMountTargetSecurityGroupsRequest generates a "aws/request.Request" representing the
-// client's request for the DescribeMountTargetSecurityGroups operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See DescribeMountTargetSecurityGroups for more information on using the DescribeMountTargetSecurityGroups
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the DescribeMountTargetSecurityGroupsRequest method.
-// req, resp := client.DescribeMountTargetSecurityGroupsRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DescribeMountTargetSecurityGroups
-func (c *EFS) DescribeMountTargetSecurityGroupsRequest(input *DescribeMountTargetSecurityGroupsInput) (req *request.Request, output *DescribeMountTargetSecurityGroupsOutput) {
- op := &request.Operation{
- Name: opDescribeMountTargetSecurityGroups,
- HTTPMethod: "GET",
- HTTPPath: "/2015-02-01/mount-targets/{MountTargetId}/security-groups",
- }
-
- if input == nil {
- input = &DescribeMountTargetSecurityGroupsInput{}
- }
-
- output = &DescribeMountTargetSecurityGroupsOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// DescribeMountTargetSecurityGroups API operation for Amazon Elastic File System.
-//
-// Returns the security groups currently in effect for a mount target. This
-// operation requires that the network interface of the mount target has been
-// created and the lifecycle state of the mount target is not deleted.
-//
-// This operation requires permissions for the following actions:
-//
-// * elasticfilesystem:DescribeMountTargetSecurityGroups action on the mount
-// target's file system.
-//
-// * ec2:DescribeNetworkInterfaceAttribute action on the mount target's network
-// interface.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for Amazon Elastic File System's
-// API operation DescribeMountTargetSecurityGroups for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeBadRequest "BadRequest"
-// Returned if the request is malformed or contains an error such as an invalid
-// parameter value or a missing required parameter.
-//
-// * ErrCodeInternalServerError "InternalServerError"
-// Returned if an error occurred on the server side.
-//
-// * ErrCodeMountTargetNotFound "MountTargetNotFound"
-// Returned if there is no mount target with the specified ID found in the caller's
-// account.
-//
-// * ErrCodeIncorrectMountTargetState "IncorrectMountTargetState"
-// Returned if the mount target is not in the correct state for the operation.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DescribeMountTargetSecurityGroups
-func (c *EFS) DescribeMountTargetSecurityGroups(input *DescribeMountTargetSecurityGroupsInput) (*DescribeMountTargetSecurityGroupsOutput, error) {
- req, out := c.DescribeMountTargetSecurityGroupsRequest(input)
- return out, req.Send()
-}
-
-// DescribeMountTargetSecurityGroupsWithContext is the same as DescribeMountTargetSecurityGroups with the addition of
-// the ability to pass a context and additional request options.
-//
-// See DescribeMountTargetSecurityGroups for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *EFS) DescribeMountTargetSecurityGroupsWithContext(ctx aws.Context, input *DescribeMountTargetSecurityGroupsInput, opts ...request.Option) (*DescribeMountTargetSecurityGroupsOutput, error) {
- req, out := c.DescribeMountTargetSecurityGroupsRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opDescribeMountTargets = "DescribeMountTargets"
-
-// DescribeMountTargetsRequest generates a "aws/request.Request" representing the
-// client's request for the DescribeMountTargets operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See DescribeMountTargets for more information on using the DescribeMountTargets
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the DescribeMountTargetsRequest method.
-// req, resp := client.DescribeMountTargetsRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DescribeMountTargets
-func (c *EFS) DescribeMountTargetsRequest(input *DescribeMountTargetsInput) (req *request.Request, output *DescribeMountTargetsOutput) {
- op := &request.Operation{
- Name: opDescribeMountTargets,
- HTTPMethod: "GET",
- HTTPPath: "/2015-02-01/mount-targets",
- }
-
- if input == nil {
- input = &DescribeMountTargetsInput{}
- }
-
- output = &DescribeMountTargetsOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// DescribeMountTargets API operation for Amazon Elastic File System.
-//
-// Returns the descriptions of all the current mount targets, or a specific
-// mount target, for a file system. When requesting all of the current mount
-// targets, the order of mount targets returned in the response is unspecified.
-//
-// This operation requires permissions for the elasticfilesystem:DescribeMountTargets
-// action, on either the file system ID that you specify in FileSystemId, or
-// on the file system of the mount target that you specify in MountTargetId.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for Amazon Elastic File System's
-// API operation DescribeMountTargets for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeBadRequest "BadRequest"
-// Returned if the request is malformed or contains an error such as an invalid
-// parameter value or a missing required parameter.
-//
-// * ErrCodeInternalServerError "InternalServerError"
-// Returned if an error occurred on the server side.
-//
-// * ErrCodeFileSystemNotFound "FileSystemNotFound"
-// Returned if the specified FileSystemId value doesn't exist in the requester's
-// AWS account.
-//
-// * ErrCodeMountTargetNotFound "MountTargetNotFound"
-// Returned if there is no mount target with the specified ID found in the caller's
-// account.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DescribeMountTargets
-func (c *EFS) DescribeMountTargets(input *DescribeMountTargetsInput) (*DescribeMountTargetsOutput, error) {
- req, out := c.DescribeMountTargetsRequest(input)
- return out, req.Send()
-}
-
-// DescribeMountTargetsWithContext is the same as DescribeMountTargets with the addition of
-// the ability to pass a context and additional request options.
-//
-// See DescribeMountTargets for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *EFS) DescribeMountTargetsWithContext(ctx aws.Context, input *DescribeMountTargetsInput, opts ...request.Option) (*DescribeMountTargetsOutput, error) {
- req, out := c.DescribeMountTargetsRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opDescribeTags = "DescribeTags"
-
-// DescribeTagsRequest generates a "aws/request.Request" representing the
-// client's request for the DescribeTags operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See DescribeTags for more information on using the DescribeTags
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the DescribeTagsRequest method.
-// req, resp := client.DescribeTagsRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DescribeTags
-func (c *EFS) DescribeTagsRequest(input *DescribeTagsInput) (req *request.Request, output *DescribeTagsOutput) {
- op := &request.Operation{
- Name: opDescribeTags,
- HTTPMethod: "GET",
- HTTPPath: "/2015-02-01/tags/{FileSystemId}/",
- }
-
- if input == nil {
- input = &DescribeTagsInput{}
- }
-
- output = &DescribeTagsOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// DescribeTags API operation for Amazon Elastic File System.
-//
-// Returns the tags associated with a file system. The order of tags returned
-// in the response of one DescribeTags call and the order of tags returned across
-// the responses of a multiple-call iteration (when using pagination) is unspecified.
-//
-// This operation requires permissions for the elasticfilesystem:DescribeTags
-// action.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for Amazon Elastic File System's
-// API operation DescribeTags for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeBadRequest "BadRequest"
-// Returned if the request is malformed or contains an error such as an invalid
-// parameter value or a missing required parameter.
-//
-// * ErrCodeInternalServerError "InternalServerError"
-// Returned if an error occurred on the server side.
-//
-// * ErrCodeFileSystemNotFound "FileSystemNotFound"
-// Returned if the specified FileSystemId value doesn't exist in the requester's
-// AWS account.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DescribeTags
-func (c *EFS) DescribeTags(input *DescribeTagsInput) (*DescribeTagsOutput, error) {
- req, out := c.DescribeTagsRequest(input)
- return out, req.Send()
-}
-
-// DescribeTagsWithContext is the same as DescribeTags with the addition of
-// the ability to pass a context and additional request options.
-//
-// See DescribeTags for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *EFS) DescribeTagsWithContext(ctx aws.Context, input *DescribeTagsInput, opts ...request.Option) (*DescribeTagsOutput, error) {
- req, out := c.DescribeTagsRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opModifyMountTargetSecurityGroups = "ModifyMountTargetSecurityGroups"
-
-// ModifyMountTargetSecurityGroupsRequest generates a "aws/request.Request" representing the
-// client's request for the ModifyMountTargetSecurityGroups operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See ModifyMountTargetSecurityGroups for more information on using the ModifyMountTargetSecurityGroups
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the ModifyMountTargetSecurityGroupsRequest method.
-// req, resp := client.ModifyMountTargetSecurityGroupsRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/ModifyMountTargetSecurityGroups
-func (c *EFS) ModifyMountTargetSecurityGroupsRequest(input *ModifyMountTargetSecurityGroupsInput) (req *request.Request, output *ModifyMountTargetSecurityGroupsOutput) {
- op := &request.Operation{
- Name: opModifyMountTargetSecurityGroups,
- HTTPMethod: "PUT",
- HTTPPath: "/2015-02-01/mount-targets/{MountTargetId}/security-groups",
- }
-
- if input == nil {
- input = &ModifyMountTargetSecurityGroupsInput{}
- }
-
- output = &ModifyMountTargetSecurityGroupsOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// ModifyMountTargetSecurityGroups API operation for Amazon Elastic File System.
-//
-// Modifies the set of security groups in effect for a mount target.
-//
-// When you create a mount target, Amazon EFS also creates a new network interface.
-// For more information, see CreateMountTarget. This operation replaces the
-// security groups in effect for the network interface associated with a mount
-// target, with the SecurityGroups provided in the request. This operation requires
-// that the network interface of the mount target has been created and the lifecycle
-// state of the mount target is not deleted.
-//
-// The operation requires permissions for the following actions:
-//
-// * elasticfilesystem:ModifyMountTargetSecurityGroups action on the mount
-// target's file system.
-//
-// * ec2:ModifyNetworkInterfaceAttribute action on the mount target's network
-// interface.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for Amazon Elastic File System's
-// API operation ModifyMountTargetSecurityGroups for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeBadRequest "BadRequest"
-// Returned if the request is malformed or contains an error such as an invalid
-// parameter value or a missing required parameter.
-//
-// * ErrCodeInternalServerError "InternalServerError"
-// Returned if an error occurred on the server side.
-//
-// * ErrCodeMountTargetNotFound "MountTargetNotFound"
-// Returned if there is no mount target with the specified ID found in the caller's
-// account.
-//
-// * ErrCodeIncorrectMountTargetState "IncorrectMountTargetState"
-// Returned if the mount target is not in the correct state for the operation.
-//
-// * ErrCodeSecurityGroupLimitExceeded "SecurityGroupLimitExceeded"
-// Returned if the size of SecurityGroups specified in the request is greater
-// than five.
-//
-// * ErrCodeSecurityGroupNotFound "SecurityGroupNotFound"
-// Returned if one of the specified security groups doesn't exist in the subnet's
-// VPC.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/ModifyMountTargetSecurityGroups
-func (c *EFS) ModifyMountTargetSecurityGroups(input *ModifyMountTargetSecurityGroupsInput) (*ModifyMountTargetSecurityGroupsOutput, error) {
- req, out := c.ModifyMountTargetSecurityGroupsRequest(input)
- return out, req.Send()
-}
-
-// ModifyMountTargetSecurityGroupsWithContext is the same as ModifyMountTargetSecurityGroups with the addition of
-// the ability to pass a context and additional request options.
-//
-// See ModifyMountTargetSecurityGroups for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *EFS) ModifyMountTargetSecurityGroupsWithContext(ctx aws.Context, input *ModifyMountTargetSecurityGroupsInput, opts ...request.Option) (*ModifyMountTargetSecurityGroupsOutput, error) {
- req, out := c.ModifyMountTargetSecurityGroupsRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opPutLifecycleConfiguration = "PutLifecycleConfiguration"
-
-// PutLifecycleConfigurationRequest generates a "aws/request.Request" representing the
-// client's request for the PutLifecycleConfiguration operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See PutLifecycleConfiguration for more information on using the PutLifecycleConfiguration
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the PutLifecycleConfigurationRequest method.
-// req, resp := client.PutLifecycleConfigurationRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/PutLifecycleConfiguration
-func (c *EFS) PutLifecycleConfigurationRequest(input *PutLifecycleConfigurationInput) (req *request.Request, output *PutLifecycleConfigurationOutput) {
- op := &request.Operation{
- Name: opPutLifecycleConfiguration,
- HTTPMethod: "PUT",
- HTTPPath: "/2015-02-01/file-systems/{FileSystemId}/lifecycle-configuration",
- }
-
- if input == nil {
- input = &PutLifecycleConfigurationInput{}
- }
-
- output = &PutLifecycleConfigurationOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// PutLifecycleConfiguration API operation for Amazon Elastic File System.
-//
-// Enables lifecycle management by creating a new LifecycleConfiguration object.
-// A LifecycleConfiguration object defines when files in an Amazon EFS file
-// system are automatically transitioned to the lower-cost EFS Infrequent Access
-// (IA) storage class. A LifecycleConfiguration applies to all files in a file
-// system.
-//
-// Each Amazon EFS file system supports one lifecycle configuration, which applies
-// to all files in the file system. If a LifecycleConfiguration object already
-// exists for the specified file system, a PutLifecycleConfiguration call modifies
-// the existing configuration. A PutLifecycleConfiguration call with an empty
-// LifecyclePolicies array in the request body deletes any existing LifecycleConfiguration
-// and disables lifecycle management.
-//
-// In the request, specify the following:
-//
-// * The ID for the file system for which you are enabling, disabling, or
-// modifying lifecycle management.
-//
-// * A LifecyclePolicies array of LifecyclePolicy objects that define when
-// files are moved to the IA storage class. The array can contain only one
-// LifecyclePolicy item.
-//
-// This operation requires permissions for the elasticfilesystem:PutLifecycleConfiguration
-// operation.
-//
-// To apply a LifecycleConfiguration object to an encrypted file system, you
-// need the same AWS Key Management Service (AWS KMS) permissions as when you
-// created the encrypted file system.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for Amazon Elastic File System's
-// API operation PutLifecycleConfiguration for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeBadRequest "BadRequest"
-// Returned if the request is malformed or contains an error such as an invalid
-// parameter value or a missing required parameter.
-//
-// * ErrCodeInternalServerError "InternalServerError"
-// Returned if an error occurred on the server side.
-//
-// * ErrCodeFileSystemNotFound "FileSystemNotFound"
-// Returned if the specified FileSystemId value doesn't exist in the requester's
-// AWS account.
-//
-// * ErrCodeIncorrectFileSystemLifeCycleState "IncorrectFileSystemLifeCycleState"
-// Returned if the file system's lifecycle state is not "available".
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/PutLifecycleConfiguration
-func (c *EFS) PutLifecycleConfiguration(input *PutLifecycleConfigurationInput) (*PutLifecycleConfigurationOutput, error) {
- req, out := c.PutLifecycleConfigurationRequest(input)
- return out, req.Send()
-}
-
-// PutLifecycleConfigurationWithContext is the same as PutLifecycleConfiguration with the addition of
-// the ability to pass a context and additional request options.
-//
-// See PutLifecycleConfiguration for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *EFS) PutLifecycleConfigurationWithContext(ctx aws.Context, input *PutLifecycleConfigurationInput, opts ...request.Option) (*PutLifecycleConfigurationOutput, error) {
- req, out := c.PutLifecycleConfigurationRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opUpdateFileSystem = "UpdateFileSystem"
-
-// UpdateFileSystemRequest generates a "aws/request.Request" representing the
-// client's request for the UpdateFileSystem operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See UpdateFileSystem for more information on using the UpdateFileSystem
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the UpdateFileSystemRequest method.
-// req, resp := client.UpdateFileSystemRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/UpdateFileSystem
-func (c *EFS) UpdateFileSystemRequest(input *UpdateFileSystemInput) (req *request.Request, output *UpdateFileSystemOutput) {
- op := &request.Operation{
- Name: opUpdateFileSystem,
- HTTPMethod: "PUT",
- HTTPPath: "/2015-02-01/file-systems/{FileSystemId}",
- }
-
- if input == nil {
- input = &UpdateFileSystemInput{}
- }
-
- output = &UpdateFileSystemOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// UpdateFileSystem API operation for Amazon Elastic File System.
-//
-// Updates the throughput mode or the amount of provisioned throughput of an
-// existing file system.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for Amazon Elastic File System's
-// API operation UpdateFileSystem for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeBadRequest "BadRequest"
-// Returned if the request is malformed or contains an error such as an invalid
-// parameter value or a missing required parameter.
-//
-// * ErrCodeFileSystemNotFound "FileSystemNotFound"
-// Returned if the specified FileSystemId value doesn't exist in the requester's
-// AWS account.
-//
-// * ErrCodeIncorrectFileSystemLifeCycleState "IncorrectFileSystemLifeCycleState"
-// Returned if the file system's lifecycle state is not "available".
-//
-// * ErrCodeInsufficientThroughputCapacity "InsufficientThroughputCapacity"
-// Returned if there's not enough capacity to provision additional throughput.
-// This value might be returned when you try to create a file system in provisioned
-// throughput mode, when you attempt to increase the provisioned throughput
-// of an existing file system, or when you attempt to change an existing file
-// system from bursting to provisioned throughput mode.
-//
-// * ErrCodeInternalServerError "InternalServerError"
-// Returned if an error occurred on the server side.
-//
-// * ErrCodeThroughputLimitExceeded "ThroughputLimitExceeded"
-// Returned if the throughput mode or amount of provisioned throughput can't
-// be changed because the throughput limit of 1024 MiB/s has been reached.
-//
-// * ErrCodeTooManyRequests "TooManyRequests"
-// Returned if you don’t wait at least 24 hours before changing the throughput
-// mode, or decreasing the Provisioned Throughput value.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/UpdateFileSystem
-func (c *EFS) UpdateFileSystem(input *UpdateFileSystemInput) (*UpdateFileSystemOutput, error) {
- req, out := c.UpdateFileSystemRequest(input)
- return out, req.Send()
-}
-
-// UpdateFileSystemWithContext is the same as UpdateFileSystem with the addition of
-// the ability to pass a context and additional request options.
-//
-// See UpdateFileSystem for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *EFS) UpdateFileSystemWithContext(ctx aws.Context, input *UpdateFileSystemInput, opts ...request.Option) (*UpdateFileSystemOutput, error) {
- req, out := c.UpdateFileSystemRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-type CreateFileSystemInput struct {
- _ struct{} `type:"structure"`
-
- // A string of up to 64 ASCII characters. Amazon EFS uses this to ensure idempotent
- // creation.
- //
- // CreationToken is a required field
- CreationToken *string `min:"1" type:"string" required:"true"`
-
- // A Boolean value that, if true, creates an encrypted file system. When creating
- // an encrypted file system, you have the option of specifying CreateFileSystemRequest$KmsKeyId
- // for an existing AWS Key Management Service (AWS KMS) customer master key
- // (CMK). If you don't specify a CMK, then the default CMK for Amazon EFS, /aws/elasticfilesystem,
- // is used to protect the encrypted file system.
- Encrypted *bool `type:"boolean"`
-
- // The ID of the AWS KMS CMK to be used to protect the encrypted file system.
- // This parameter is only required if you want to use a nondefault CMK. If this
- // parameter is not specified, the default CMK for Amazon EFS is used. This
- // ID can be in one of the following formats:
- //
- // * Key ID - A unique identifier of the key, for example 1234abcd-12ab-34cd-56ef-1234567890ab.
- //
- // * ARN - An Amazon Resource Name (ARN) for the key, for example arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.
- //
- // * Key alias - A previously created display name for a key, for example
- // alias/projectKey1.
- //
- // * Key alias ARN - An ARN for a key alias, for example arn:aws:kms:us-west-2:444455556666:alias/projectKey1.
- //
- // If KmsKeyId is specified, the CreateFileSystemRequest$Encrypted parameter
- // must be set to true.
- KmsKeyId *string `min:"1" type:"string"`
-
- // The performance mode of the file system. We recommend generalPurpose performance
- // mode for most file systems. File systems using the maxIO performance mode
- // can scale to higher levels of aggregate throughput and operations per second
- // with a tradeoff of slightly higher latencies for most file operations. The
- // performance mode can't be changed after the file system has been created.
- PerformanceMode *string `type:"string" enum:"PerformanceMode"`
-
- // The throughput, measured in MiB/s, that you want to provision for a file
- // system that you're creating. Valid values are 1-1024. Required if ThroughputMode
- // is set to provisioned. The upper limit for throughput is 1024 MiB/s. You
- // can get this limit increased by contacting AWS Support. For more information,
- // see Amazon EFS Limits That You Can Increase (https://docs.aws.amazon.com/efs/latest/ug/limits.html#soft-limits)
- // in the Amazon EFS User Guide.
- ProvisionedThroughputInMibps *float64 `min:"1" type:"double"`
-
- // A value that specifies to create one or more tags associated with the file
- // system. Each tag is a user-defined key-value pair. Name your file system
- // on creation by including a "Key":"Name","Value":"{value}" key-value pair.
- Tags []*Tag `type:"list"`
-
- // The throughput mode for the file system to be created. There are two throughput
- // modes to choose from for your file system: bursting and provisioned. If you
- // set ThroughputMode to provisioned, you must also set a value for ProvisionedThroughPutInMibps.
- // You can decrease your file system's throughput in Provisioned Throughput
- // mode or change between the throughput modes as long as it’s been more than
- // 24 hours since the last decrease or throughput mode change. For more, see
- // Specifying Throughput with Provisioned Mode (https://docs.aws.amazon.com/efs/latest/ug/performance.html#provisioned-throughput)
- // in the Amazon EFS User Guide.
- ThroughputMode *string `type:"string" enum:"ThroughputMode"`
-}
-
-// String returns the string representation
-func (s CreateFileSystemInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s CreateFileSystemInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *CreateFileSystemInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "CreateFileSystemInput"}
- if s.CreationToken == nil {
- invalidParams.Add(request.NewErrParamRequired("CreationToken"))
- }
- if s.CreationToken != nil && len(*s.CreationToken) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("CreationToken", 1))
- }
- if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1))
- }
- if s.ProvisionedThroughputInMibps != nil && *s.ProvisionedThroughputInMibps < 1 {
- invalidParams.Add(request.NewErrParamMinValue("ProvisionedThroughputInMibps", 1))
- }
- if s.Tags != nil {
- for i, v := range s.Tags {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
- }
- }
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetCreationToken sets the CreationToken field's value.
-func (s *CreateFileSystemInput) SetCreationToken(v string) *CreateFileSystemInput {
- s.CreationToken = &v
- return s
-}
-
-// SetEncrypted sets the Encrypted field's value.
-func (s *CreateFileSystemInput) SetEncrypted(v bool) *CreateFileSystemInput {
- s.Encrypted = &v
- return s
-}
-
-// SetKmsKeyId sets the KmsKeyId field's value.
-func (s *CreateFileSystemInput) SetKmsKeyId(v string) *CreateFileSystemInput {
- s.KmsKeyId = &v
- return s
-}
-
-// SetPerformanceMode sets the PerformanceMode field's value.
-func (s *CreateFileSystemInput) SetPerformanceMode(v string) *CreateFileSystemInput {
- s.PerformanceMode = &v
- return s
-}
-
-// SetProvisionedThroughputInMibps sets the ProvisionedThroughputInMibps field's value.
-func (s *CreateFileSystemInput) SetProvisionedThroughputInMibps(v float64) *CreateFileSystemInput {
- s.ProvisionedThroughputInMibps = &v
- return s
-}
-
-// SetTags sets the Tags field's value.
-func (s *CreateFileSystemInput) SetTags(v []*Tag) *CreateFileSystemInput {
- s.Tags = v
- return s
-}
-
-// SetThroughputMode sets the ThroughputMode field's value.
-func (s *CreateFileSystemInput) SetThroughputMode(v string) *CreateFileSystemInput {
- s.ThroughputMode = &v
- return s
-}
-
-type CreateMountTargetInput struct {
- _ struct{} `type:"structure"`
-
- // The ID of the file system for which to create the mount target.
- //
- // FileSystemId is a required field
- FileSystemId *string `type:"string" required:"true"`
-
- // Valid IPv4 address within the address range of the specified subnet.
- IpAddress *string `type:"string"`
-
- // Up to five VPC security group IDs, of the form sg-xxxxxxxx. These must be
- // for the same VPC as subnet specified.
- SecurityGroups []*string `type:"list"`
-
- // The ID of the subnet to add the mount target in.
- //
- // SubnetId is a required field
- SubnetId *string `type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s CreateMountTargetInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s CreateMountTargetInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *CreateMountTargetInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "CreateMountTargetInput"}
- if s.FileSystemId == nil {
- invalidParams.Add(request.NewErrParamRequired("FileSystemId"))
- }
- if s.SubnetId == nil {
- invalidParams.Add(request.NewErrParamRequired("SubnetId"))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetFileSystemId sets the FileSystemId field's value.
-func (s *CreateMountTargetInput) SetFileSystemId(v string) *CreateMountTargetInput {
- s.FileSystemId = &v
- return s
-}
-
-// SetIpAddress sets the IpAddress field's value.
-func (s *CreateMountTargetInput) SetIpAddress(v string) *CreateMountTargetInput {
- s.IpAddress = &v
- return s
-}
-
-// SetSecurityGroups sets the SecurityGroups field's value.
-func (s *CreateMountTargetInput) SetSecurityGroups(v []*string) *CreateMountTargetInput {
- s.SecurityGroups = v
- return s
-}
-
-// SetSubnetId sets the SubnetId field's value.
-func (s *CreateMountTargetInput) SetSubnetId(v string) *CreateMountTargetInput {
- s.SubnetId = &v
- return s
-}
-
-type CreateTagsInput struct {
- _ struct{} `type:"structure"`
-
- // The ID of the file system whose tags you want to modify (String). This operation
- // modifies the tags only, not the file system.
- //
- // FileSystemId is a required field
- FileSystemId *string `location:"uri" locationName:"FileSystemId" type:"string" required:"true"`
-
- // An array of Tag objects to add. Each Tag object is a key-value pair.
- //
- // Tags is a required field
- Tags []*Tag `type:"list" required:"true"`
-}
-
-// String returns the string representation
-func (s CreateTagsInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s CreateTagsInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *CreateTagsInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "CreateTagsInput"}
- if s.FileSystemId == nil {
- invalidParams.Add(request.NewErrParamRequired("FileSystemId"))
- }
- if s.FileSystemId != nil && len(*s.FileSystemId) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("FileSystemId", 1))
- }
- if s.Tags == nil {
- invalidParams.Add(request.NewErrParamRequired("Tags"))
- }
- if s.Tags != nil {
- for i, v := range s.Tags {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
- }
- }
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetFileSystemId sets the FileSystemId field's value.
-func (s *CreateTagsInput) SetFileSystemId(v string) *CreateTagsInput {
- s.FileSystemId = &v
- return s
-}
-
-// SetTags sets the Tags field's value.
-func (s *CreateTagsInput) SetTags(v []*Tag) *CreateTagsInput {
- s.Tags = v
- return s
-}
-
-type CreateTagsOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s CreateTagsOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s CreateTagsOutput) GoString() string {
- return s.String()
-}
-
-type DeleteFileSystemInput struct {
- _ struct{} `type:"structure"`
-
- // The ID of the file system you want to delete.
- //
- // FileSystemId is a required field
- FileSystemId *string `location:"uri" locationName:"FileSystemId" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s DeleteFileSystemInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeleteFileSystemInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *DeleteFileSystemInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeleteFileSystemInput"}
- if s.FileSystemId == nil {
- invalidParams.Add(request.NewErrParamRequired("FileSystemId"))
- }
- if s.FileSystemId != nil && len(*s.FileSystemId) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("FileSystemId", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetFileSystemId sets the FileSystemId field's value.
-func (s *DeleteFileSystemInput) SetFileSystemId(v string) *DeleteFileSystemInput {
- s.FileSystemId = &v
- return s
-}
-
-type DeleteFileSystemOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s DeleteFileSystemOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeleteFileSystemOutput) GoString() string {
- return s.String()
-}
-
-type DeleteMountTargetInput struct {
- _ struct{} `type:"structure"`
-
- // The ID of the mount target to delete (String).
- //
- // MountTargetId is a required field
- MountTargetId *string `location:"uri" locationName:"MountTargetId" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s DeleteMountTargetInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeleteMountTargetInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *DeleteMountTargetInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeleteMountTargetInput"}
- if s.MountTargetId == nil {
- invalidParams.Add(request.NewErrParamRequired("MountTargetId"))
- }
- if s.MountTargetId != nil && len(*s.MountTargetId) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("MountTargetId", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetMountTargetId sets the MountTargetId field's value.
-func (s *DeleteMountTargetInput) SetMountTargetId(v string) *DeleteMountTargetInput {
- s.MountTargetId = &v
- return s
-}
-
-type DeleteMountTargetOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s DeleteMountTargetOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeleteMountTargetOutput) GoString() string {
- return s.String()
-}
-
-type DeleteTagsInput struct {
- _ struct{} `type:"structure"`
-
- // The ID of the file system whose tags you want to delete (String).
- //
- // FileSystemId is a required field
- FileSystemId *string `location:"uri" locationName:"FileSystemId" type:"string" required:"true"`
-
- // A list of tag keys to delete.
- //
- // TagKeys is a required field
- TagKeys []*string `type:"list" required:"true"`
-}
-
-// String returns the string representation
-func (s DeleteTagsInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeleteTagsInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *DeleteTagsInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeleteTagsInput"}
- if s.FileSystemId == nil {
- invalidParams.Add(request.NewErrParamRequired("FileSystemId"))
- }
- if s.FileSystemId != nil && len(*s.FileSystemId) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("FileSystemId", 1))
- }
- if s.TagKeys == nil {
- invalidParams.Add(request.NewErrParamRequired("TagKeys"))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetFileSystemId sets the FileSystemId field's value.
-func (s *DeleteTagsInput) SetFileSystemId(v string) *DeleteTagsInput {
- s.FileSystemId = &v
- return s
-}
-
-// SetTagKeys sets the TagKeys field's value.
-func (s *DeleteTagsInput) SetTagKeys(v []*string) *DeleteTagsInput {
- s.TagKeys = v
- return s
-}
-
-type DeleteTagsOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s DeleteTagsOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeleteTagsOutput) GoString() string {
- return s.String()
-}
-
-type DescribeFileSystemsInput struct {
- _ struct{} `type:"structure"`
-
- // (Optional) Restricts the list to the file system with this creation token
- // (String). You specify a creation token when you create an Amazon EFS file
- // system.
- CreationToken *string `location:"querystring" locationName:"CreationToken" min:"1" type:"string"`
-
- // (Optional) ID of the file system whose description you want to retrieve (String).
- FileSystemId *string `location:"querystring" locationName:"FileSystemId" type:"string"`
-
- // (Optional) Opaque pagination token returned from a previous DescribeFileSystems
- // operation (String). If present, specifies to continue the list from where
- // the returning call had left off.
- Marker *string `location:"querystring" locationName:"Marker" type:"string"`
-
- // (Optional) Specifies the maximum number of file systems to return in the
- // response (integer). Currently, this number is automatically set to 10, and
- // other values are ignored. The response is paginated at 10 per page if you
- // have more than 10 file systems.
- MaxItems *int64 `location:"querystring" locationName:"MaxItems" min:"1" type:"integer"`
-}
-
-// String returns the string representation
-func (s DescribeFileSystemsInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DescribeFileSystemsInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *DescribeFileSystemsInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DescribeFileSystemsInput"}
- if s.CreationToken != nil && len(*s.CreationToken) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("CreationToken", 1))
- }
- if s.MaxItems != nil && *s.MaxItems < 1 {
- invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetCreationToken sets the CreationToken field's value.
-func (s *DescribeFileSystemsInput) SetCreationToken(v string) *DescribeFileSystemsInput {
- s.CreationToken = &v
- return s
-}
-
-// SetFileSystemId sets the FileSystemId field's value.
-func (s *DescribeFileSystemsInput) SetFileSystemId(v string) *DescribeFileSystemsInput {
- s.FileSystemId = &v
- return s
-}
-
-// SetMarker sets the Marker field's value.
-func (s *DescribeFileSystemsInput) SetMarker(v string) *DescribeFileSystemsInput {
- s.Marker = &v
- return s
-}
-
-// SetMaxItems sets the MaxItems field's value.
-func (s *DescribeFileSystemsInput) SetMaxItems(v int64) *DescribeFileSystemsInput {
- s.MaxItems = &v
- return s
-}
-
-type DescribeFileSystemsOutput struct {
- _ struct{} `type:"structure"`
-
- // An array of file system descriptions.
- FileSystems []*FileSystemDescription `type:"list"`
-
- // Present if provided by caller in the request (String).
- Marker *string `type:"string"`
-
- // Present if there are more file systems than returned in the response (String).
- // You can use the NextMarker in the subsequent request to fetch the descriptions.
- NextMarker *string `type:"string"`
-}
-
-// String returns the string representation
-func (s DescribeFileSystemsOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DescribeFileSystemsOutput) GoString() string {
- return s.String()
-}
-
-// SetFileSystems sets the FileSystems field's value.
-func (s *DescribeFileSystemsOutput) SetFileSystems(v []*FileSystemDescription) *DescribeFileSystemsOutput {
- s.FileSystems = v
- return s
-}
-
-// SetMarker sets the Marker field's value.
-func (s *DescribeFileSystemsOutput) SetMarker(v string) *DescribeFileSystemsOutput {
- s.Marker = &v
- return s
-}
-
-// SetNextMarker sets the NextMarker field's value.
-func (s *DescribeFileSystemsOutput) SetNextMarker(v string) *DescribeFileSystemsOutput {
- s.NextMarker = &v
- return s
-}
-
-type DescribeLifecycleConfigurationInput struct {
- _ struct{} `type:"structure"`
-
- // The ID of the file system whose LifecycleConfiguration object you want to
- // retrieve (String).
- //
- // FileSystemId is a required field
- FileSystemId *string `location:"uri" locationName:"FileSystemId" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s DescribeLifecycleConfigurationInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DescribeLifecycleConfigurationInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *DescribeLifecycleConfigurationInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DescribeLifecycleConfigurationInput"}
- if s.FileSystemId == nil {
- invalidParams.Add(request.NewErrParamRequired("FileSystemId"))
- }
- if s.FileSystemId != nil && len(*s.FileSystemId) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("FileSystemId", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetFileSystemId sets the FileSystemId field's value.
-func (s *DescribeLifecycleConfigurationInput) SetFileSystemId(v string) *DescribeLifecycleConfigurationInput {
- s.FileSystemId = &v
- return s
-}
-
-type DescribeLifecycleConfigurationOutput struct {
- _ struct{} `type:"structure"`
-
- // An array of lifecycle management policies. Currently, EFS supports a maximum
- // of one policy per file system.
- LifecyclePolicies []*LifecyclePolicy `type:"list"`
-}
-
-// String returns the string representation
-func (s DescribeLifecycleConfigurationOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DescribeLifecycleConfigurationOutput) GoString() string {
- return s.String()
-}
-
-// SetLifecyclePolicies sets the LifecyclePolicies field's value.
-func (s *DescribeLifecycleConfigurationOutput) SetLifecyclePolicies(v []*LifecyclePolicy) *DescribeLifecycleConfigurationOutput {
- s.LifecyclePolicies = v
- return s
-}
-
-type DescribeMountTargetSecurityGroupsInput struct {
- _ struct{} `type:"structure"`
-
- // The ID of the mount target whose security groups you want to retrieve.
- //
- // MountTargetId is a required field
- MountTargetId *string `location:"uri" locationName:"MountTargetId" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s DescribeMountTargetSecurityGroupsInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DescribeMountTargetSecurityGroupsInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *DescribeMountTargetSecurityGroupsInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DescribeMountTargetSecurityGroupsInput"}
- if s.MountTargetId == nil {
- invalidParams.Add(request.NewErrParamRequired("MountTargetId"))
- }
- if s.MountTargetId != nil && len(*s.MountTargetId) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("MountTargetId", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetMountTargetId sets the MountTargetId field's value.
-func (s *DescribeMountTargetSecurityGroupsInput) SetMountTargetId(v string) *DescribeMountTargetSecurityGroupsInput {
- s.MountTargetId = &v
- return s
-}
-
-type DescribeMountTargetSecurityGroupsOutput struct {
- _ struct{} `type:"structure"`
-
- // An array of security groups.
- //
- // SecurityGroups is a required field
- SecurityGroups []*string `type:"list" required:"true"`
-}
-
-// String returns the string representation
-func (s DescribeMountTargetSecurityGroupsOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DescribeMountTargetSecurityGroupsOutput) GoString() string {
- return s.String()
-}
-
-// SetSecurityGroups sets the SecurityGroups field's value.
-func (s *DescribeMountTargetSecurityGroupsOutput) SetSecurityGroups(v []*string) *DescribeMountTargetSecurityGroupsOutput {
- s.SecurityGroups = v
- return s
-}
-
-type DescribeMountTargetsInput struct {
- _ struct{} `type:"structure"`
-
- // (Optional) ID of the file system whose mount targets you want to list (String).
- // It must be included in your request if MountTargetId is not included.
- FileSystemId *string `location:"querystring" locationName:"FileSystemId" type:"string"`
-
- // (Optional) Opaque pagination token returned from a previous DescribeMountTargets
- // operation (String). If present, it specifies to continue the list from where
- // the previous returning call left off.
- Marker *string `location:"querystring" locationName:"Marker" type:"string"`
-
- // (Optional) Maximum number of mount targets to return in the response. Currently,
- // this number is automatically set to 10, and other values are ignored. The
- // response is paginated at 10 per page if you have more than 10 mount targets.
- MaxItems *int64 `location:"querystring" locationName:"MaxItems" min:"1" type:"integer"`
-
- // (Optional) ID of the mount target that you want to have described (String).
- // It must be included in your request if FileSystemId is not included.
- MountTargetId *string `location:"querystring" locationName:"MountTargetId" type:"string"`
-}
-
-// String returns the string representation
-func (s DescribeMountTargetsInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DescribeMountTargetsInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *DescribeMountTargetsInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DescribeMountTargetsInput"}
- if s.MaxItems != nil && *s.MaxItems < 1 {
- invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetFileSystemId sets the FileSystemId field's value.
-func (s *DescribeMountTargetsInput) SetFileSystemId(v string) *DescribeMountTargetsInput {
- s.FileSystemId = &v
- return s
-}
-
-// SetMarker sets the Marker field's value.
-func (s *DescribeMountTargetsInput) SetMarker(v string) *DescribeMountTargetsInput {
- s.Marker = &v
- return s
-}
-
-// SetMaxItems sets the MaxItems field's value.
-func (s *DescribeMountTargetsInput) SetMaxItems(v int64) *DescribeMountTargetsInput {
- s.MaxItems = &v
- return s
-}
-
-// SetMountTargetId sets the MountTargetId field's value.
-func (s *DescribeMountTargetsInput) SetMountTargetId(v string) *DescribeMountTargetsInput {
- s.MountTargetId = &v
- return s
-}
-
-type DescribeMountTargetsOutput struct {
- _ struct{} `type:"structure"`
-
- // If the request included the Marker, the response returns that value in this
- // field.
- Marker *string `type:"string"`
-
- // Returns the file system's mount targets as an array of MountTargetDescription
- // objects.
- MountTargets []*MountTargetDescription `type:"list"`
-
- // If a value is present, there are more mount targets to return. In a subsequent
- // request, you can provide Marker in your request with this value to retrieve
- // the next set of mount targets.
- NextMarker *string `type:"string"`
-}
-
-// String returns the string representation
-func (s DescribeMountTargetsOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DescribeMountTargetsOutput) GoString() string {
- return s.String()
-}
-
-// SetMarker sets the Marker field's value.
-func (s *DescribeMountTargetsOutput) SetMarker(v string) *DescribeMountTargetsOutput {
- s.Marker = &v
- return s
-}
-
-// SetMountTargets sets the MountTargets field's value.
-func (s *DescribeMountTargetsOutput) SetMountTargets(v []*MountTargetDescription) *DescribeMountTargetsOutput {
- s.MountTargets = v
- return s
-}
-
-// SetNextMarker sets the NextMarker field's value.
-func (s *DescribeMountTargetsOutput) SetNextMarker(v string) *DescribeMountTargetsOutput {
- s.NextMarker = &v
- return s
-}
-
-type DescribeTagsInput struct {
- _ struct{} `type:"structure"`
-
- // The ID of the file system whose tag set you want to retrieve.
- //
- // FileSystemId is a required field
- FileSystemId *string `location:"uri" locationName:"FileSystemId" type:"string" required:"true"`
-
- // (Optional) An opaque pagination token returned from a previous DescribeTags
- // operation (String). If present, it specifies to continue the list from where
- // the previous call left off.
- Marker *string `location:"querystring" locationName:"Marker" type:"string"`
-
- // (Optional) The maximum number of file system tags to return in the response.
- // Currently, this number is automatically set to 10, and other values are ignored.
- // The response is paginated at 10 per page if you have more than 10 tags.
- MaxItems *int64 `location:"querystring" locationName:"MaxItems" min:"1" type:"integer"`
-}
-
-// String returns the string representation
-func (s DescribeTagsInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DescribeTagsInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *DescribeTagsInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DescribeTagsInput"}
- if s.FileSystemId == nil {
- invalidParams.Add(request.NewErrParamRequired("FileSystemId"))
- }
- if s.FileSystemId != nil && len(*s.FileSystemId) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("FileSystemId", 1))
- }
- if s.MaxItems != nil && *s.MaxItems < 1 {
- invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetFileSystemId sets the FileSystemId field's value.
-func (s *DescribeTagsInput) SetFileSystemId(v string) *DescribeTagsInput {
- s.FileSystemId = &v
- return s
-}
-
-// SetMarker sets the Marker field's value.
-func (s *DescribeTagsInput) SetMarker(v string) *DescribeTagsInput {
- s.Marker = &v
- return s
-}
-
-// SetMaxItems sets the MaxItems field's value.
-func (s *DescribeTagsInput) SetMaxItems(v int64) *DescribeTagsInput {
- s.MaxItems = &v
- return s
-}
-
-type DescribeTagsOutput struct {
- _ struct{} `type:"structure"`
-
- // If the request included a Marker, the response returns that value in this
- // field.
- Marker *string `type:"string"`
-
- // If a value is present, there are more tags to return. In a subsequent request,
- // you can provide the value of NextMarker as the value of the Marker parameter
- // in your next request to retrieve the next set of tags.
- NextMarker *string `type:"string"`
-
- // Returns tags associated with the file system as an array of Tag objects.
- //
- // Tags is a required field
- Tags []*Tag `type:"list" required:"true"`
-}
-
-// String returns the string representation
-func (s DescribeTagsOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DescribeTagsOutput) GoString() string {
- return s.String()
-}
-
-// SetMarker sets the Marker field's value.
-func (s *DescribeTagsOutput) SetMarker(v string) *DescribeTagsOutput {
- s.Marker = &v
- return s
-}
-
-// SetNextMarker sets the NextMarker field's value.
-func (s *DescribeTagsOutput) SetNextMarker(v string) *DescribeTagsOutput {
- s.NextMarker = &v
- return s
-}
-
-// SetTags sets the Tags field's value.
-func (s *DescribeTagsOutput) SetTags(v []*Tag) *DescribeTagsOutput {
- s.Tags = v
- return s
-}
-
-// A description of the file system.
-type FileSystemDescription struct {
- _ struct{} `type:"structure"`
-
- // The time that the file system was created, in seconds (since 1970-01-01T00:00:00Z).
- //
- // CreationTime is a required field
- CreationTime *time.Time `type:"timestamp" required:"true"`
-
- // The opaque string specified in the request.
- //
- // CreationToken is a required field
- CreationToken *string `min:"1" type:"string" required:"true"`
-
- // A Boolean value that, if true, indicates that the file system is encrypted.
- Encrypted *bool `type:"boolean"`
-
- // The ID of the file system, assigned by Amazon EFS.
- //
- // FileSystemId is a required field
- FileSystemId *string `type:"string" required:"true"`
-
- // The ID of an AWS Key Management Service (AWS KMS) customer master key (CMK)
- // that was used to protect the encrypted file system.
- KmsKeyId *string `min:"1" type:"string"`
-
- // The lifecycle phase of the file system.
- //
- // LifeCycleState is a required field
- LifeCycleState *string `type:"string" required:"true" enum:"LifeCycleState"`
-
- // You can add tags to a file system, including a Name tag. For more information,
- // see CreateFileSystem. If the file system has a Name tag, Amazon EFS returns
- // the value in this field.
- Name *string `type:"string"`
-
- // The current number of mount targets that the file system has. For more information,
- // see CreateMountTarget.
- //
- // NumberOfMountTargets is a required field
- NumberOfMountTargets *int64 `type:"integer" required:"true"`
-
- // The AWS account that created the file system. If the file system was created
- // by an IAM user, the parent account to which the user belongs is the owner.
- //
- // OwnerId is a required field
- OwnerId *string `type:"string" required:"true"`
-
- // The performance mode of the file system.
- //
- // PerformanceMode is a required field
- PerformanceMode *string `type:"string" required:"true" enum:"PerformanceMode"`
-
- // The throughput, measured in MiB/s, that you want to provision for a file
- // system. Valid values are 1-1024. Required if ThroughputMode is set to provisioned.
- // The limit on throughput is 1024 MiB/s. You can get these limits increased
- // by contacting AWS Support. For more information, see Amazon EFS Limits That
- // You Can Increase (https://docs.aws.amazon.com/efs/latest/ug/limits.html#soft-limits)
- // in the Amazon EFS User Guide.
- ProvisionedThroughputInMibps *float64 `min:"1" type:"double"`
-
- // The latest known metered size (in bytes) of data stored in the file system,
- // in its Value field, and the time at which that size was determined in its
- // Timestamp field. The Timestamp value is the integer number of seconds since
- // 1970-01-01T00:00:00Z. The SizeInBytes value doesn't represent the size of
- // a consistent snapshot of the file system, but it is eventually consistent
- // when there are no writes to the file system. That is, SizeInBytes represents
- // actual size only if the file system is not modified for a period longer than
- // a couple of hours. Otherwise, the value is not the exact size that the file
- // system was at any point in time.
- //
- // SizeInBytes is a required field
- SizeInBytes *FileSystemSize `type:"structure" required:"true"`
-
- // The tags associated with the file system, presented as an array of Tag objects.
- //
- // Tags is a required field
- Tags []*Tag `type:"list" required:"true"`
-
- // The throughput mode for a file system. There are two throughput modes to
- // choose from for your file system: bursting and provisioned. If you set ThroughputMode
- // to provisioned, you must also set a value for ProvisionedThroughPutInMibps.
- // You can decrease your file system's throughput in Provisioned Throughput
- // mode or change between the throughput modes as long as it’s been more than
- // 24 hours since the last decrease or throughput mode change.
- ThroughputMode *string `type:"string" enum:"ThroughputMode"`
-}
-
-// String returns the string representation
-func (s FileSystemDescription) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s FileSystemDescription) GoString() string {
- return s.String()
-}
-
-// SetCreationTime sets the CreationTime field's value.
-func (s *FileSystemDescription) SetCreationTime(v time.Time) *FileSystemDescription {
- s.CreationTime = &v
- return s
-}
-
-// SetCreationToken sets the CreationToken field's value.
-func (s *FileSystemDescription) SetCreationToken(v string) *FileSystemDescription {
- s.CreationToken = &v
- return s
-}
-
-// SetEncrypted sets the Encrypted field's value.
-func (s *FileSystemDescription) SetEncrypted(v bool) *FileSystemDescription {
- s.Encrypted = &v
- return s
-}
-
-// SetFileSystemId sets the FileSystemId field's value.
-func (s *FileSystemDescription) SetFileSystemId(v string) *FileSystemDescription {
- s.FileSystemId = &v
- return s
-}
-
-// SetKmsKeyId sets the KmsKeyId field's value.
-func (s *FileSystemDescription) SetKmsKeyId(v string) *FileSystemDescription {
- s.KmsKeyId = &v
- return s
-}
-
-// SetLifeCycleState sets the LifeCycleState field's value.
-func (s *FileSystemDescription) SetLifeCycleState(v string) *FileSystemDescription {
- s.LifeCycleState = &v
- return s
-}
-
-// SetName sets the Name field's value.
-func (s *FileSystemDescription) SetName(v string) *FileSystemDescription {
- s.Name = &v
- return s
-}
-
-// SetNumberOfMountTargets sets the NumberOfMountTargets field's value.
-func (s *FileSystemDescription) SetNumberOfMountTargets(v int64) *FileSystemDescription {
- s.NumberOfMountTargets = &v
- return s
-}
-
-// SetOwnerId sets the OwnerId field's value.
-func (s *FileSystemDescription) SetOwnerId(v string) *FileSystemDescription {
- s.OwnerId = &v
- return s
-}
-
-// SetPerformanceMode sets the PerformanceMode field's value.
-func (s *FileSystemDescription) SetPerformanceMode(v string) *FileSystemDescription {
- s.PerformanceMode = &v
- return s
-}
-
-// SetProvisionedThroughputInMibps sets the ProvisionedThroughputInMibps field's value.
-func (s *FileSystemDescription) SetProvisionedThroughputInMibps(v float64) *FileSystemDescription {
- s.ProvisionedThroughputInMibps = &v
- return s
-}
-
-// SetSizeInBytes sets the SizeInBytes field's value.
-func (s *FileSystemDescription) SetSizeInBytes(v *FileSystemSize) *FileSystemDescription {
- s.SizeInBytes = v
- return s
-}
-
-// SetTags sets the Tags field's value.
-func (s *FileSystemDescription) SetTags(v []*Tag) *FileSystemDescription {
- s.Tags = v
- return s
-}
-
-// SetThroughputMode sets the ThroughputMode field's value.
-func (s *FileSystemDescription) SetThroughputMode(v string) *FileSystemDescription {
- s.ThroughputMode = &v
- return s
-}
-
-// The latest known metered size (in bytes) of data stored in the file system,
-// in its Value field, and the time at which that size was determined in its
-// Timestamp field. The value doesn't represent the size of a consistent snapshot
-// of the file system, but it is eventually consistent when there are no writes
-// to the file system. That is, the value represents the actual size only if
-// the file system is not modified for a period longer than a couple of hours.
-// Otherwise, the value is not necessarily the exact size the file system was
-// at any instant in time.
-type FileSystemSize struct {
- _ struct{} `type:"structure"`
-
- // The time at which the size of data, returned in the Value field, was determined.
- // The value is the integer number of seconds since 1970-01-01T00:00:00Z.
- Timestamp *time.Time `type:"timestamp"`
-
- // The latest known metered size (in bytes) of data stored in the file system.
- //
- // Value is a required field
- Value *int64 `type:"long" required:"true"`
-
- // The latest known metered size (in bytes) of data stored in the Infrequent
- // Access storage class.
- ValueInIA *int64 `type:"long"`
-
- // The latest known metered size (in bytes) of data stored in the Standard storage
- // class.
- ValueInStandard *int64 `type:"long"`
-}
-
-// String returns the string representation
-func (s FileSystemSize) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s FileSystemSize) GoString() string {
- return s.String()
-}
-
-// SetTimestamp sets the Timestamp field's value.
-func (s *FileSystemSize) SetTimestamp(v time.Time) *FileSystemSize {
- s.Timestamp = &v
- return s
-}
-
-// SetValue sets the Value field's value.
-func (s *FileSystemSize) SetValue(v int64) *FileSystemSize {
- s.Value = &v
- return s
-}
-
-// SetValueInIA sets the ValueInIA field's value.
-func (s *FileSystemSize) SetValueInIA(v int64) *FileSystemSize {
- s.ValueInIA = &v
- return s
-}
-
-// SetValueInStandard sets the ValueInStandard field's value.
-func (s *FileSystemSize) SetValueInStandard(v int64) *FileSystemSize {
- s.ValueInStandard = &v
- return s
-}
-
-// Describes a policy used by EFS lifecycle management to transition files to
-// the Infrequent Access (IA) storage class.
-type LifecyclePolicy struct {
- _ struct{} `type:"structure"`
-
- // A value that describes the period of time that a file is not accessed, after
- // which it transitions to the IA storage class. Metadata operations such as
- // listing the contents of a directory don't count as file access events.
- TransitionToIA *string `type:"string" enum:"TransitionToIARules"`
-}
-
-// String returns the string representation
-func (s LifecyclePolicy) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s LifecyclePolicy) GoString() string {
- return s.String()
-}
-
-// SetTransitionToIA sets the TransitionToIA field's value.
-func (s *LifecyclePolicy) SetTransitionToIA(v string) *LifecyclePolicy {
- s.TransitionToIA = &v
- return s
-}
-
-type ModifyMountTargetSecurityGroupsInput struct {
- _ struct{} `type:"structure"`
-
- // The ID of the mount target whose security groups you want to modify.
- //
- // MountTargetId is a required field
- MountTargetId *string `location:"uri" locationName:"MountTargetId" type:"string" required:"true"`
-
- // An array of up to five VPC security group IDs.
- SecurityGroups []*string `type:"list"`
-}
-
-// String returns the string representation
-func (s ModifyMountTargetSecurityGroupsInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ModifyMountTargetSecurityGroupsInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *ModifyMountTargetSecurityGroupsInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ModifyMountTargetSecurityGroupsInput"}
- if s.MountTargetId == nil {
- invalidParams.Add(request.NewErrParamRequired("MountTargetId"))
- }
- if s.MountTargetId != nil && len(*s.MountTargetId) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("MountTargetId", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetMountTargetId sets the MountTargetId field's value.
-func (s *ModifyMountTargetSecurityGroupsInput) SetMountTargetId(v string) *ModifyMountTargetSecurityGroupsInput {
- s.MountTargetId = &v
- return s
-}
-
-// SetSecurityGroups sets the SecurityGroups field's value.
-func (s *ModifyMountTargetSecurityGroupsInput) SetSecurityGroups(v []*string) *ModifyMountTargetSecurityGroupsInput {
- s.SecurityGroups = v
- return s
-}
-
-type ModifyMountTargetSecurityGroupsOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s ModifyMountTargetSecurityGroupsOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ModifyMountTargetSecurityGroupsOutput) GoString() string {
- return s.String()
-}
-
-// Provides a description of a mount target.
-type MountTargetDescription struct {
- _ struct{} `type:"structure"`
-
- // The ID of the file system for which the mount target is intended.
- //
- // FileSystemId is a required field
- FileSystemId *string `type:"string" required:"true"`
-
- // Address at which the file system can be mounted by using the mount target.
- IpAddress *string `type:"string"`
-
- // Lifecycle state of the mount target.
- //
- // LifeCycleState is a required field
- LifeCycleState *string `type:"string" required:"true" enum:"LifeCycleState"`
-
- // System-assigned mount target ID.
- //
- // MountTargetId is a required field
- MountTargetId *string `type:"string" required:"true"`
-
- // The ID of the network interface that Amazon EFS created when it created the
- // mount target.
- NetworkInterfaceId *string `type:"string"`
-
- // AWS account ID that owns the resource.
- OwnerId *string `type:"string"`
-
- // The ID of the mount target's subnet.
- //
- // SubnetId is a required field
- SubnetId *string `type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s MountTargetDescription) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s MountTargetDescription) GoString() string {
- return s.String()
-}
-
-// SetFileSystemId sets the FileSystemId field's value.
-func (s *MountTargetDescription) SetFileSystemId(v string) *MountTargetDescription {
- s.FileSystemId = &v
- return s
-}
-
-// SetIpAddress sets the IpAddress field's value.
-func (s *MountTargetDescription) SetIpAddress(v string) *MountTargetDescription {
- s.IpAddress = &v
- return s
-}
-
-// SetLifeCycleState sets the LifeCycleState field's value.
-func (s *MountTargetDescription) SetLifeCycleState(v string) *MountTargetDescription {
- s.LifeCycleState = &v
- return s
-}
-
-// SetMountTargetId sets the MountTargetId field's value.
-func (s *MountTargetDescription) SetMountTargetId(v string) *MountTargetDescription {
- s.MountTargetId = &v
- return s
-}
-
-// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
-func (s *MountTargetDescription) SetNetworkInterfaceId(v string) *MountTargetDescription {
- s.NetworkInterfaceId = &v
- return s
-}
-
-// SetOwnerId sets the OwnerId field's value.
-func (s *MountTargetDescription) SetOwnerId(v string) *MountTargetDescription {
- s.OwnerId = &v
- return s
-}
-
-// SetSubnetId sets the SubnetId field's value.
-func (s *MountTargetDescription) SetSubnetId(v string) *MountTargetDescription {
- s.SubnetId = &v
- return s
-}
-
-type PutLifecycleConfigurationInput struct {
- _ struct{} `type:"structure"`
-
- // The ID of the file system for which you are creating the LifecycleConfiguration
- // object (String).
- //
- // FileSystemId is a required field
- FileSystemId *string `location:"uri" locationName:"FileSystemId" type:"string" required:"true"`
-
- // An array of LifecyclePolicy objects that define the file system's LifecycleConfiguration
- // object. A LifecycleConfiguration object tells lifecycle management when to
- // transition files from the Standard storage class to the Infrequent Access
- // storage class.
- //
- // LifecyclePolicies is a required field
- LifecyclePolicies []*LifecyclePolicy `type:"list" required:"true"`
-}
-
-// String returns the string representation
-func (s PutLifecycleConfigurationInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s PutLifecycleConfigurationInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *PutLifecycleConfigurationInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "PutLifecycleConfigurationInput"}
- if s.FileSystemId == nil {
- invalidParams.Add(request.NewErrParamRequired("FileSystemId"))
- }
- if s.FileSystemId != nil && len(*s.FileSystemId) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("FileSystemId", 1))
- }
- if s.LifecyclePolicies == nil {
- invalidParams.Add(request.NewErrParamRequired("LifecyclePolicies"))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetFileSystemId sets the FileSystemId field's value.
-func (s *PutLifecycleConfigurationInput) SetFileSystemId(v string) *PutLifecycleConfigurationInput {
- s.FileSystemId = &v
- return s
-}
-
-// SetLifecyclePolicies sets the LifecyclePolicies field's value.
-func (s *PutLifecycleConfigurationInput) SetLifecyclePolicies(v []*LifecyclePolicy) *PutLifecycleConfigurationInput {
- s.LifecyclePolicies = v
- return s
-}
-
-type PutLifecycleConfigurationOutput struct {
- _ struct{} `type:"structure"`
-
- // An array of lifecycle management policies. Currently, EFS supports a maximum
- // of one policy per file system.
- LifecyclePolicies []*LifecyclePolicy `type:"list"`
-}
-
-// String returns the string representation
-func (s PutLifecycleConfigurationOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s PutLifecycleConfigurationOutput) GoString() string {
- return s.String()
-}
-
-// SetLifecyclePolicies sets the LifecyclePolicies field's value.
-func (s *PutLifecycleConfigurationOutput) SetLifecyclePolicies(v []*LifecyclePolicy) *PutLifecycleConfigurationOutput {
- s.LifecyclePolicies = v
- return s
-}
-
-// A tag is a key-value pair. Allowed characters are letters, white space, and
-// numbers that can be represented in UTF-8, and the following characters:+
-// - = . _ : /
-type Tag struct {
- _ struct{} `type:"structure"`
-
- // The tag key (String). The key can't start with aws:.
- //
- // Key is a required field
- Key *string `min:"1" type:"string" required:"true"`
-
- // The value of the tag key.
- //
- // Value is a required field
- Value *string `type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s Tag) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s Tag) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *Tag) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "Tag"}
- if s.Key == nil {
- invalidParams.Add(request.NewErrParamRequired("Key"))
- }
- if s.Key != nil && len(*s.Key) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Key", 1))
- }
- if s.Value == nil {
- invalidParams.Add(request.NewErrParamRequired("Value"))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetKey sets the Key field's value.
-func (s *Tag) SetKey(v string) *Tag {
- s.Key = &v
- return s
-}
-
-// SetValue sets the Value field's value.
-func (s *Tag) SetValue(v string) *Tag {
- s.Value = &v
- return s
-}
-
-type UpdateFileSystemInput struct {
- _ struct{} `type:"structure"`
-
- // The ID of the file system that you want to update.
- //
- // FileSystemId is a required field
- FileSystemId *string `location:"uri" locationName:"FileSystemId" type:"string" required:"true"`
-
- // (Optional) The amount of throughput, in MiB/s, that you want to provision
- // for your file system. Valid values are 1-1024. Required if ThroughputMode
- // is changed to provisioned on update. If you're not updating the amount of
- // provisioned throughput for your file system, you don't need to provide this
- // value in your request.
- ProvisionedThroughputInMibps *float64 `min:"1" type:"double"`
-
- // (Optional) The throughput mode that you want your file system to use. If
- // you're not updating your throughput mode, you don't need to provide this
- // value in your request. If you are changing the ThroughputMode to provisioned,
- // you must also set a value for ProvisionedThroughputInMibps.
- ThroughputMode *string `type:"string" enum:"ThroughputMode"`
-}
-
-// String returns the string representation
-func (s UpdateFileSystemInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s UpdateFileSystemInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *UpdateFileSystemInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "UpdateFileSystemInput"}
- if s.FileSystemId == nil {
- invalidParams.Add(request.NewErrParamRequired("FileSystemId"))
- }
- if s.FileSystemId != nil && len(*s.FileSystemId) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("FileSystemId", 1))
- }
- if s.ProvisionedThroughputInMibps != nil && *s.ProvisionedThroughputInMibps < 1 {
- invalidParams.Add(request.NewErrParamMinValue("ProvisionedThroughputInMibps", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetFileSystemId sets the FileSystemId field's value.
-func (s *UpdateFileSystemInput) SetFileSystemId(v string) *UpdateFileSystemInput {
- s.FileSystemId = &v
- return s
-}
-
-// SetProvisionedThroughputInMibps sets the ProvisionedThroughputInMibps field's value.
-func (s *UpdateFileSystemInput) SetProvisionedThroughputInMibps(v float64) *UpdateFileSystemInput {
- s.ProvisionedThroughputInMibps = &v
- return s
-}
-
-// SetThroughputMode sets the ThroughputMode field's value.
-func (s *UpdateFileSystemInput) SetThroughputMode(v string) *UpdateFileSystemInput {
- s.ThroughputMode = &v
- return s
-}
-
-// A description of the file system.
-type UpdateFileSystemOutput struct {
- _ struct{} `type:"structure"`
-
- // The time that the file system was created, in seconds (since 1970-01-01T00:00:00Z).
- //
- // CreationTime is a required field
- CreationTime *time.Time `type:"timestamp" required:"true"`
-
- // The opaque string specified in the request.
- //
- // CreationToken is a required field
- CreationToken *string `min:"1" type:"string" required:"true"`
-
- // A Boolean value that, if true, indicates that the file system is encrypted.
- Encrypted *bool `type:"boolean"`
-
- // The ID of the file system, assigned by Amazon EFS.
- //
- // FileSystemId is a required field
- FileSystemId *string `type:"string" required:"true"`
-
- // The ID of an AWS Key Management Service (AWS KMS) customer master key (CMK)
- // that was used to protect the encrypted file system.
- KmsKeyId *string `min:"1" type:"string"`
-
- // The lifecycle phase of the file system.
- //
- // LifeCycleState is a required field
- LifeCycleState *string `type:"string" required:"true" enum:"LifeCycleState"`
-
- // You can add tags to a file system, including a Name tag. For more information,
- // see CreateFileSystem. If the file system has a Name tag, Amazon EFS returns
- // the value in this field.
- Name *string `type:"string"`
-
- // The current number of mount targets that the file system has. For more information,
- // see CreateMountTarget.
- //
- // NumberOfMountTargets is a required field
- NumberOfMountTargets *int64 `type:"integer" required:"true"`
-
- // The AWS account that created the file system. If the file system was created
- // by an IAM user, the parent account to which the user belongs is the owner.
- //
- // OwnerId is a required field
- OwnerId *string `type:"string" required:"true"`
-
- // The performance mode of the file system.
- //
- // PerformanceMode is a required field
- PerformanceMode *string `type:"string" required:"true" enum:"PerformanceMode"`
-
- // The throughput, measured in MiB/s, that you want to provision for a file
- // system. Valid values are 1-1024. Required if ThroughputMode is set to provisioned.
- // The limit on throughput is 1024 MiB/s. You can get these limits increased
- // by contacting AWS Support. For more information, see Amazon EFS Limits That
- // You Can Increase (https://docs.aws.amazon.com/efs/latest/ug/limits.html#soft-limits)
- // in the Amazon EFS User Guide.
- ProvisionedThroughputInMibps *float64 `min:"1" type:"double"`
-
- // The latest known metered size (in bytes) of data stored in the file system,
- // in its Value field, and the time at which that size was determined in its
- // Timestamp field. The Timestamp value is the integer number of seconds since
- // 1970-01-01T00:00:00Z. The SizeInBytes value doesn't represent the size of
- // a consistent snapshot of the file system, but it is eventually consistent
- // when there are no writes to the file system. That is, SizeInBytes represents
- // actual size only if the file system is not modified for a period longer than
- // a couple of hours. Otherwise, the value is not the exact size that the file
- // system was at any point in time.
- //
- // SizeInBytes is a required field
- SizeInBytes *FileSystemSize `type:"structure" required:"true"`
-
- // The tags associated with the file system, presented as an array of Tag objects.
- //
- // Tags is a required field
- Tags []*Tag `type:"list" required:"true"`
-
- // The throughput mode for a file system. There are two throughput modes to
- // choose from for your file system: bursting and provisioned. If you set ThroughputMode
- // to provisioned, you must also set a value for ProvisionedThroughPutInMibps.
- // You can decrease your file system's throughput in Provisioned Throughput
- // mode or change between the throughput modes as long as it’s been more than
- // 24 hours since the last decrease or throughput mode change.
- ThroughputMode *string `type:"string" enum:"ThroughputMode"`
-}
-
-// String returns the string representation
-func (s UpdateFileSystemOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s UpdateFileSystemOutput) GoString() string {
- return s.String()
-}
-
-// SetCreationTime sets the CreationTime field's value.
-func (s *UpdateFileSystemOutput) SetCreationTime(v time.Time) *UpdateFileSystemOutput {
- s.CreationTime = &v
- return s
-}
-
-// SetCreationToken sets the CreationToken field's value.
-func (s *UpdateFileSystemOutput) SetCreationToken(v string) *UpdateFileSystemOutput {
- s.CreationToken = &v
- return s
-}
-
-// SetEncrypted sets the Encrypted field's value.
-func (s *UpdateFileSystemOutput) SetEncrypted(v bool) *UpdateFileSystemOutput {
- s.Encrypted = &v
- return s
-}
-
-// SetFileSystemId sets the FileSystemId field's value.
-func (s *UpdateFileSystemOutput) SetFileSystemId(v string) *UpdateFileSystemOutput {
- s.FileSystemId = &v
- return s
-}
-
-// SetKmsKeyId sets the KmsKeyId field's value.
-func (s *UpdateFileSystemOutput) SetKmsKeyId(v string) *UpdateFileSystemOutput {
- s.KmsKeyId = &v
- return s
-}
-
-// SetLifeCycleState sets the LifeCycleState field's value.
-func (s *UpdateFileSystemOutput) SetLifeCycleState(v string) *UpdateFileSystemOutput {
- s.LifeCycleState = &v
- return s
-}
-
-// SetName sets the Name field's value.
-func (s *UpdateFileSystemOutput) SetName(v string) *UpdateFileSystemOutput {
- s.Name = &v
- return s
-}
-
-// SetNumberOfMountTargets sets the NumberOfMountTargets field's value.
-func (s *UpdateFileSystemOutput) SetNumberOfMountTargets(v int64) *UpdateFileSystemOutput {
- s.NumberOfMountTargets = &v
- return s
-}
-
-// SetOwnerId sets the OwnerId field's value.
-func (s *UpdateFileSystemOutput) SetOwnerId(v string) *UpdateFileSystemOutput {
- s.OwnerId = &v
- return s
-}
-
-// SetPerformanceMode sets the PerformanceMode field's value.
-func (s *UpdateFileSystemOutput) SetPerformanceMode(v string) *UpdateFileSystemOutput {
- s.PerformanceMode = &v
- return s
-}
-
-// SetProvisionedThroughputInMibps sets the ProvisionedThroughputInMibps field's value.
-func (s *UpdateFileSystemOutput) SetProvisionedThroughputInMibps(v float64) *UpdateFileSystemOutput {
- s.ProvisionedThroughputInMibps = &v
- return s
-}
-
-// SetSizeInBytes sets the SizeInBytes field's value.
-func (s *UpdateFileSystemOutput) SetSizeInBytes(v *FileSystemSize) *UpdateFileSystemOutput {
- s.SizeInBytes = v
- return s
-}
-
-// SetTags sets the Tags field's value.
-func (s *UpdateFileSystemOutput) SetTags(v []*Tag) *UpdateFileSystemOutput {
- s.Tags = v
- return s
-}
-
-// SetThroughputMode sets the ThroughputMode field's value.
-func (s *UpdateFileSystemOutput) SetThroughputMode(v string) *UpdateFileSystemOutput {
- s.ThroughputMode = &v
- return s
-}
-
-const (
- // LifeCycleStateCreating is a LifeCycleState enum value
- LifeCycleStateCreating = "creating"
-
- // LifeCycleStateAvailable is a LifeCycleState enum value
- LifeCycleStateAvailable = "available"
-
- // LifeCycleStateUpdating is a LifeCycleState enum value
- LifeCycleStateUpdating = "updating"
-
- // LifeCycleStateDeleting is a LifeCycleState enum value
- LifeCycleStateDeleting = "deleting"
-
- // LifeCycleStateDeleted is a LifeCycleState enum value
- LifeCycleStateDeleted = "deleted"
-)
-
-const (
- // PerformanceModeGeneralPurpose is a PerformanceMode enum value
- PerformanceModeGeneralPurpose = "generalPurpose"
-
- // PerformanceModeMaxIo is a PerformanceMode enum value
- PerformanceModeMaxIo = "maxIO"
-)
-
-const (
- // ThroughputModeBursting is a ThroughputMode enum value
- ThroughputModeBursting = "bursting"
-
- // ThroughputModeProvisioned is a ThroughputMode enum value
- ThroughputModeProvisioned = "provisioned"
-)
-
-const (
- // TransitionToIARulesAfter7Days is a TransitionToIARules enum value
- TransitionToIARulesAfter7Days = "AFTER_7_DAYS"
-
- // TransitionToIARulesAfter14Days is a TransitionToIARules enum value
- TransitionToIARulesAfter14Days = "AFTER_14_DAYS"
-
- // TransitionToIARulesAfter30Days is a TransitionToIARules enum value
- TransitionToIARulesAfter30Days = "AFTER_30_DAYS"
-
- // TransitionToIARulesAfter60Days is a TransitionToIARules enum value
- TransitionToIARulesAfter60Days = "AFTER_60_DAYS"
-
- // TransitionToIARulesAfter90Days is a TransitionToIARules enum value
- TransitionToIARulesAfter90Days = "AFTER_90_DAYS"
-)
diff --git a/agent/vendor/github.com/aws/aws-sdk-go/service/efs/doc.go b/agent/vendor/github.com/aws/aws-sdk-go/service/efs/doc.go
deleted file mode 100644
index ce6c5159449..00000000000
--- a/agent/vendor/github.com/aws/aws-sdk-go/service/efs/doc.go
+++ /dev/null
@@ -1,32 +0,0 @@
-// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
-
-// Package efs provides the client and types for making API
-// requests to Amazon Elastic File System.
-//
-// Amazon Elastic File System (Amazon EFS) provides simple, scalable file storage
-// for use with Amazon EC2 instances in the AWS Cloud. With Amazon EFS, storage
-// capacity is elastic, growing and shrinking automatically as you add and remove
-// files, so your applications have the storage they need, when they need it.
-// For more information, see the User Guide (https://docs.aws.amazon.com/efs/latest/ug/api-reference.html).
-//
-// See https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01 for more information on this service.
-//
-// See efs package documentation for more information.
-// https://docs.aws.amazon.com/sdk-for-go/api/service/efs/
-//
-// Using the Client
-//
-// To contact Amazon Elastic File System with the SDK use the New function to create
-// a new service client. With that client you can make API requests to the service.
-// These clients are safe to use concurrently.
-//
-// See the SDK's documentation for more information on how to use the SDK.
-// https://docs.aws.amazon.com/sdk-for-go/api/
-//
-// See aws.Config documentation for more information on configuring SDK clients.
-// https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config
-//
-// See the Amazon Elastic File System client EFS for more
-// information on creating client for this service.
-// https://docs.aws.amazon.com/sdk-for-go/api/service/efs/#New
-package efs
diff --git a/agent/vendor/github.com/aws/aws-sdk-go/service/efs/errors.go b/agent/vendor/github.com/aws/aws-sdk-go/service/efs/errors.go
deleted file mode 100644
index 7a7eb3b1bf7..00000000000
--- a/agent/vendor/github.com/aws/aws-sdk-go/service/efs/errors.go
+++ /dev/null
@@ -1,152 +0,0 @@
-// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
-
-package efs
-
-const (
-
- // ErrCodeBadRequest for service response error code
- // "BadRequest".
- //
- // Returned if the request is malformed or contains an error such as an invalid
- // parameter value or a missing required parameter.
- ErrCodeBadRequest = "BadRequest"
-
- // ErrCodeDependencyTimeout for service response error code
- // "DependencyTimeout".
- //
- // The service timed out trying to fulfill the request, and the client should
- // try the call again.
- ErrCodeDependencyTimeout = "DependencyTimeout"
-
- // ErrCodeFileSystemAlreadyExists for service response error code
- // "FileSystemAlreadyExists".
- //
- // Returned if the file system you are trying to create already exists, with
- // the creation token you provided.
- ErrCodeFileSystemAlreadyExists = "FileSystemAlreadyExists"
-
- // ErrCodeFileSystemInUse for service response error code
- // "FileSystemInUse".
- //
- // Returned if a file system has mount targets.
- ErrCodeFileSystemInUse = "FileSystemInUse"
-
- // ErrCodeFileSystemLimitExceeded for service response error code
- // "FileSystemLimitExceeded".
- //
- // Returned if the AWS account has already created the maximum number of file
- // systems allowed per account.
- ErrCodeFileSystemLimitExceeded = "FileSystemLimitExceeded"
-
- // ErrCodeFileSystemNotFound for service response error code
- // "FileSystemNotFound".
- //
- // Returned if the specified FileSystemId value doesn't exist in the requester's
- // AWS account.
- ErrCodeFileSystemNotFound = "FileSystemNotFound"
-
- // ErrCodeIncorrectFileSystemLifeCycleState for service response error code
- // "IncorrectFileSystemLifeCycleState".
- //
- // Returned if the file system's lifecycle state is not "available".
- ErrCodeIncorrectFileSystemLifeCycleState = "IncorrectFileSystemLifeCycleState"
-
- // ErrCodeIncorrectMountTargetState for service response error code
- // "IncorrectMountTargetState".
- //
- // Returned if the mount target is not in the correct state for the operation.
- ErrCodeIncorrectMountTargetState = "IncorrectMountTargetState"
-
- // ErrCodeInsufficientThroughputCapacity for service response error code
- // "InsufficientThroughputCapacity".
- //
- // Returned if there's not enough capacity to provision additional throughput.
- // This value might be returned when you try to create a file system in provisioned
- // throughput mode, when you attempt to increase the provisioned throughput
- // of an existing file system, or when you attempt to change an existing file
- // system from bursting to provisioned throughput mode.
- ErrCodeInsufficientThroughputCapacity = "InsufficientThroughputCapacity"
-
- // ErrCodeInternalServerError for service response error code
- // "InternalServerError".
- //
- // Returned if an error occurred on the server side.
- ErrCodeInternalServerError = "InternalServerError"
-
- // ErrCodeIpAddressInUse for service response error code
- // "IpAddressInUse".
- //
- // Returned if the request specified an IpAddress that is already in use in
- // the subnet.
- ErrCodeIpAddressInUse = "IpAddressInUse"
-
- // ErrCodeMountTargetConflict for service response error code
- // "MountTargetConflict".
- //
- // Returned if the mount target would violate one of the specified restrictions
- // based on the file system's existing mount targets.
- ErrCodeMountTargetConflict = "MountTargetConflict"
-
- // ErrCodeMountTargetNotFound for service response error code
- // "MountTargetNotFound".
- //
- // Returned if there is no mount target with the specified ID found in the caller's
- // account.
- ErrCodeMountTargetNotFound = "MountTargetNotFound"
-
- // ErrCodeNetworkInterfaceLimitExceeded for service response error code
- // "NetworkInterfaceLimitExceeded".
- //
- // The calling account has reached the limit for elastic network interfaces
- // for the specific AWS Region. The client should try to delete some elastic
- // network interfaces or get the account limit raised. For more information,
- // see Amazon VPC Limits (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Appendix_Limits.html)
- // in the Amazon VPC User Guide (see the Network interfaces per VPC entry in
- // the table).
- ErrCodeNetworkInterfaceLimitExceeded = "NetworkInterfaceLimitExceeded"
-
- // ErrCodeNoFreeAddressesInSubnet for service response error code
- // "NoFreeAddressesInSubnet".
- //
- // Returned if IpAddress was not specified in the request and there are no free
- // IP addresses in the subnet.
- ErrCodeNoFreeAddressesInSubnet = "NoFreeAddressesInSubnet"
-
- // ErrCodeSecurityGroupLimitExceeded for service response error code
- // "SecurityGroupLimitExceeded".
- //
- // Returned if the size of SecurityGroups specified in the request is greater
- // than five.
- ErrCodeSecurityGroupLimitExceeded = "SecurityGroupLimitExceeded"
-
- // ErrCodeSecurityGroupNotFound for service response error code
- // "SecurityGroupNotFound".
- //
- // Returned if one of the specified security groups doesn't exist in the subnet's
- // VPC.
- ErrCodeSecurityGroupNotFound = "SecurityGroupNotFound"
-
- // ErrCodeSubnetNotFound for service response error code
- // "SubnetNotFound".
- //
- // Returned if there is no subnet with ID SubnetId provided in the request.
- ErrCodeSubnetNotFound = "SubnetNotFound"
-
- // ErrCodeThroughputLimitExceeded for service response error code
- // "ThroughputLimitExceeded".
- //
- // Returned if the throughput mode or amount of provisioned throughput can't
- // be changed because the throughput limit of 1024 MiB/s has been reached.
- ErrCodeThroughputLimitExceeded = "ThroughputLimitExceeded"
-
- // ErrCodeTooManyRequests for service response error code
- // "TooManyRequests".
- //
- // Returned if you don’t wait at least 24 hours before changing the throughput
- // mode, or decreasing the Provisioned Throughput value.
- ErrCodeTooManyRequests = "TooManyRequests"
-
- // ErrCodeUnsupportedAvailabilityZone for service response error code
- // "UnsupportedAvailabilityZone".
- ErrCodeUnsupportedAvailabilityZone = "UnsupportedAvailabilityZone"
-)
diff --git a/agent/vendor/github.com/aws/aws-sdk-go/service/efs/service.go b/agent/vendor/github.com/aws/aws-sdk-go/service/efs/service.go
deleted file mode 100644
index bdd32cc6122..00000000000
--- a/agent/vendor/github.com/aws/aws-sdk-go/service/efs/service.go
+++ /dev/null
@@ -1,98 +0,0 @@
-// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
-
-package efs
-
-import (
- "github.com/aws/aws-sdk-go/aws"
- "github.com/aws/aws-sdk-go/aws/client"
- "github.com/aws/aws-sdk-go/aws/client/metadata"
- "github.com/aws/aws-sdk-go/aws/request"
- "github.com/aws/aws-sdk-go/aws/signer/v4"
- "github.com/aws/aws-sdk-go/private/protocol/restjson"
-)
-
-// EFS provides the API operation methods for making requests to
-// Amazon Elastic File System. See this package's package overview docs
-// for details on the service.
-//
-// EFS methods are safe to use concurrently. It is not safe to
-// modify mutate any of the struct's properties though.
-type EFS struct {
- *client.Client
-}
-
-// Used for custom client initialization logic
-var initClient func(*client.Client)
-
-// Used for custom request initialization logic
-var initRequest func(*request.Request)
-
-// Service information constants
-const (
- ServiceName = "elasticfilesystem" // Name of service.
- EndpointsID = ServiceName // ID to lookup a service endpoint with.
- ServiceID = "EFS" // ServiceID is a unique identifier of a specific service.
-)
-
-// New creates a new instance of the EFS client with a session.
-// If additional configuration is needed for the client instance use the optional
-// aws.Config parameter to add your extra config.
-//
-// Example:
-// mySession := session.Must(session.NewSession())
-//
-// // Create a EFS client from just a session.
-// svc := efs.New(mySession)
-//
-// // Create a EFS client with additional configuration
-// svc := efs.New(mySession, aws.NewConfig().WithRegion("us-west-2"))
-func New(p client.ConfigProvider, cfgs ...*aws.Config) *EFS {
- c := p.ClientConfig(EndpointsID, cfgs...)
- return newClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName)
-}
-
-// newClient creates, initializes and returns a new service client instance.
-func newClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, signingRegion, signingName string) *EFS {
- svc := &EFS{
- Client: client.New(
- cfg,
- metadata.ClientInfo{
- ServiceName: ServiceName,
- ServiceID: ServiceID,
- SigningName: signingName,
- SigningRegion: signingRegion,
- PartitionID: partitionID,
- Endpoint: endpoint,
- APIVersion: "2015-02-01",
- },
- handlers,
- ),
- }
-
- // Handlers
- svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler)
- svc.Handlers.Build.PushBackNamed(restjson.BuildHandler)
- svc.Handlers.Unmarshal.PushBackNamed(restjson.UnmarshalHandler)
- svc.Handlers.UnmarshalMeta.PushBackNamed(restjson.UnmarshalMetaHandler)
- svc.Handlers.UnmarshalError.PushBackNamed(restjson.UnmarshalErrorHandler)
-
- // Run custom client initialization if present
- if initClient != nil {
- initClient(svc.Client)
- }
-
- return svc
-}
-
-// newRequest creates a new request for a EFS operation and runs any
-// custom request initialization.
-func (c *EFS) newRequest(op *request.Operation, params, data interface{}) *request.Request {
- req := c.NewRequest(op, params, data)
-
- // Run custom request initialization if present
- if initRequest != nil {
- initRequest(req)
- }
-
- return req
-}
diff --git a/agent/vendor/github.com/aws/aws-sdk-go/service/iam/api.go b/agent/vendor/github.com/aws/aws-sdk-go/service/iam/api.go
deleted file mode 100644
index 3da022c9e1c..00000000000
--- a/agent/vendor/github.com/aws/aws-sdk-go/service/iam/api.go
+++ /dev/null
@@ -1,33247 +0,0 @@
-// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
-
-package iam
-
-import (
- "fmt"
- "time"
-
- "github.com/aws/aws-sdk-go/aws"
- "github.com/aws/aws-sdk-go/aws/awsutil"
- "github.com/aws/aws-sdk-go/aws/request"
- "github.com/aws/aws-sdk-go/private/protocol"
- "github.com/aws/aws-sdk-go/private/protocol/query"
-)
-
-const opAddClientIDToOpenIDConnectProvider = "AddClientIDToOpenIDConnectProvider"
-
-// AddClientIDToOpenIDConnectProviderRequest generates a "aws/request.Request" representing the
-// client's request for the AddClientIDToOpenIDConnectProvider operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See AddClientIDToOpenIDConnectProvider for more information on using the AddClientIDToOpenIDConnectProvider
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the AddClientIDToOpenIDConnectProviderRequest method.
-// req, resp := client.AddClientIDToOpenIDConnectProviderRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/AddClientIDToOpenIDConnectProvider
-func (c *IAM) AddClientIDToOpenIDConnectProviderRequest(input *AddClientIDToOpenIDConnectProviderInput) (req *request.Request, output *AddClientIDToOpenIDConnectProviderOutput) {
- op := &request.Operation{
- Name: opAddClientIDToOpenIDConnectProvider,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &AddClientIDToOpenIDConnectProviderInput{}
- }
-
- output = &AddClientIDToOpenIDConnectProviderOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// AddClientIDToOpenIDConnectProvider API operation for AWS Identity and Access Management.
-//
-// Adds a new client ID (also known as audience) to the list of client IDs already
-// registered for the specified IAM OpenID Connect (OIDC) provider resource.
-//
-// This operation is idempotent; it does not fail or return an error if you
-// add an existing client ID to the provider.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation AddClientIDToOpenIDConnectProvider for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeInvalidInputException "InvalidInput"
-// The request was rejected because an invalid or out-of-range value was supplied
-// for an input parameter.
-//
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/AddClientIDToOpenIDConnectProvider
-func (c *IAM) AddClientIDToOpenIDConnectProvider(input *AddClientIDToOpenIDConnectProviderInput) (*AddClientIDToOpenIDConnectProviderOutput, error) {
- req, out := c.AddClientIDToOpenIDConnectProviderRequest(input)
- return out, req.Send()
-}
-
-// AddClientIDToOpenIDConnectProviderWithContext is the same as AddClientIDToOpenIDConnectProvider with the addition of
-// the ability to pass a context and additional request options.
-//
-// See AddClientIDToOpenIDConnectProvider for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) AddClientIDToOpenIDConnectProviderWithContext(ctx aws.Context, input *AddClientIDToOpenIDConnectProviderInput, opts ...request.Option) (*AddClientIDToOpenIDConnectProviderOutput, error) {
- req, out := c.AddClientIDToOpenIDConnectProviderRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opAddRoleToInstanceProfile = "AddRoleToInstanceProfile"
-
-// AddRoleToInstanceProfileRequest generates a "aws/request.Request" representing the
-// client's request for the AddRoleToInstanceProfile operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See AddRoleToInstanceProfile for more information on using the AddRoleToInstanceProfile
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the AddRoleToInstanceProfileRequest method.
-// req, resp := client.AddRoleToInstanceProfileRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/AddRoleToInstanceProfile
-func (c *IAM) AddRoleToInstanceProfileRequest(input *AddRoleToInstanceProfileInput) (req *request.Request, output *AddRoleToInstanceProfileOutput) {
- op := &request.Operation{
- Name: opAddRoleToInstanceProfile,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &AddRoleToInstanceProfileInput{}
- }
-
- output = &AddRoleToInstanceProfileOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// AddRoleToInstanceProfile API operation for AWS Identity and Access Management.
-//
-// Adds the specified IAM role to the specified instance profile. An instance
-// profile can contain only one role, and this limit cannot be increased. You
-// can remove the existing role and then add a different role to an instance
-// profile. You must then wait for the change to appear across all of AWS because
-// of eventual consistency (https://en.wikipedia.org/wiki/Eventual_consistency).
-// To force the change, you must disassociate the instance profile (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DisassociateIamInstanceProfile.html)
-// and then associate the instance profile (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_AssociateIamInstanceProfile.html),
-// or you can stop your instance and then restart it.
-//
-// The caller of this API must be granted the PassRole permission on the IAM
-// role by a permissions policy.
-//
-// For more information about roles, go to Working with Roles (https://docs.aws.amazon.com/IAM/latest/UserGuide/WorkingWithRoles.html).
-// For more information about instance profiles, go to About Instance Profiles
-// (https://docs.aws.amazon.com/IAM/latest/UserGuide/AboutInstanceProfiles.html).
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation AddRoleToInstanceProfile for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeEntityAlreadyExistsException "EntityAlreadyExists"
-// The request was rejected because it attempted to create a resource that already
-// exists.
-//
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeUnmodifiableEntityException "UnmodifiableEntity"
-// The request was rejected because only the service that depends on the service-linked
-// role can modify or delete the role on your behalf. The error message includes
-// the name of the service that depends on this service-linked role. You must
-// request the change through that service.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/AddRoleToInstanceProfile
-func (c *IAM) AddRoleToInstanceProfile(input *AddRoleToInstanceProfileInput) (*AddRoleToInstanceProfileOutput, error) {
- req, out := c.AddRoleToInstanceProfileRequest(input)
- return out, req.Send()
-}
-
-// AddRoleToInstanceProfileWithContext is the same as AddRoleToInstanceProfile with the addition of
-// the ability to pass a context and additional request options.
-//
-// See AddRoleToInstanceProfile for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) AddRoleToInstanceProfileWithContext(ctx aws.Context, input *AddRoleToInstanceProfileInput, opts ...request.Option) (*AddRoleToInstanceProfileOutput, error) {
- req, out := c.AddRoleToInstanceProfileRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opAddUserToGroup = "AddUserToGroup"
-
-// AddUserToGroupRequest generates a "aws/request.Request" representing the
-// client's request for the AddUserToGroup operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See AddUserToGroup for more information on using the AddUserToGroup
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the AddUserToGroupRequest method.
-// req, resp := client.AddUserToGroupRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/AddUserToGroup
-func (c *IAM) AddUserToGroupRequest(input *AddUserToGroupInput) (req *request.Request, output *AddUserToGroupOutput) {
- op := &request.Operation{
- Name: opAddUserToGroup,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &AddUserToGroupInput{}
- }
-
- output = &AddUserToGroupOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// AddUserToGroup API operation for AWS Identity and Access Management.
-//
-// Adds the specified user to the specified group.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation AddUserToGroup for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/AddUserToGroup
-func (c *IAM) AddUserToGroup(input *AddUserToGroupInput) (*AddUserToGroupOutput, error) {
- req, out := c.AddUserToGroupRequest(input)
- return out, req.Send()
-}
-
-// AddUserToGroupWithContext is the same as AddUserToGroup with the addition of
-// the ability to pass a context and additional request options.
-//
-// See AddUserToGroup for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) AddUserToGroupWithContext(ctx aws.Context, input *AddUserToGroupInput, opts ...request.Option) (*AddUserToGroupOutput, error) {
- req, out := c.AddUserToGroupRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opAttachGroupPolicy = "AttachGroupPolicy"
-
-// AttachGroupPolicyRequest generates a "aws/request.Request" representing the
-// client's request for the AttachGroupPolicy operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See AttachGroupPolicy for more information on using the AttachGroupPolicy
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the AttachGroupPolicyRequest method.
-// req, resp := client.AttachGroupPolicyRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/AttachGroupPolicy
-func (c *IAM) AttachGroupPolicyRequest(input *AttachGroupPolicyInput) (req *request.Request, output *AttachGroupPolicyOutput) {
- op := &request.Operation{
- Name: opAttachGroupPolicy,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &AttachGroupPolicyInput{}
- }
-
- output = &AttachGroupPolicyOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// AttachGroupPolicy API operation for AWS Identity and Access Management.
-//
-// Attaches the specified managed policy to the specified IAM group.
-//
-// You use this API to attach a managed policy to a group. To embed an inline
-// policy in a group, use PutGroupPolicy.
-//
-// 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.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation AttachGroupPolicy for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeInvalidInputException "InvalidInput"
-// The request was rejected because an invalid or out-of-range value was supplied
-// for an input parameter.
-//
-// * ErrCodePolicyNotAttachableException "PolicyNotAttachable"
-// The request failed because AWS service role policies can only be attached
-// to the service-linked role for that service.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/AttachGroupPolicy
-func (c *IAM) AttachGroupPolicy(input *AttachGroupPolicyInput) (*AttachGroupPolicyOutput, error) {
- req, out := c.AttachGroupPolicyRequest(input)
- return out, req.Send()
-}
-
-// AttachGroupPolicyWithContext is the same as AttachGroupPolicy with the addition of
-// the ability to pass a context and additional request options.
-//
-// See AttachGroupPolicy for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) AttachGroupPolicyWithContext(ctx aws.Context, input *AttachGroupPolicyInput, opts ...request.Option) (*AttachGroupPolicyOutput, error) {
- req, out := c.AttachGroupPolicyRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opAttachRolePolicy = "AttachRolePolicy"
-
-// AttachRolePolicyRequest generates a "aws/request.Request" representing the
-// client's request for the AttachRolePolicy operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See AttachRolePolicy for more information on using the AttachRolePolicy
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the AttachRolePolicyRequest method.
-// req, resp := client.AttachRolePolicyRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/AttachRolePolicy
-func (c *IAM) AttachRolePolicyRequest(input *AttachRolePolicyInput) (req *request.Request, output *AttachRolePolicyOutput) {
- op := &request.Operation{
- Name: opAttachRolePolicy,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &AttachRolePolicyInput{}
- }
-
- output = &AttachRolePolicyOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// AttachRolePolicy API operation for AWS Identity and Access Management.
-//
-// Attaches the specified managed policy to the specified IAM role. When you
-// attach a managed policy to a role, the managed policy becomes part of the
-// role's permission (access) policy.
-//
-// You cannot use a managed policy as the role's trust policy. The role's trust
-// policy is created at the same time as the role, using CreateRole. You can
-// update a role's trust policy using UpdateAssumeRolePolicy.
-//
-// Use this API to attach a managed policy to a role. To embed an inline policy
-// in a role, use PutRolePolicy. 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.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation AttachRolePolicy for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeInvalidInputException "InvalidInput"
-// The request was rejected because an invalid or out-of-range value was supplied
-// for an input parameter.
-//
-// * ErrCodeUnmodifiableEntityException "UnmodifiableEntity"
-// The request was rejected because only the service that depends on the service-linked
-// role can modify or delete the role on your behalf. The error message includes
-// the name of the service that depends on this service-linked role. You must
-// request the change through that service.
-//
-// * ErrCodePolicyNotAttachableException "PolicyNotAttachable"
-// The request failed because AWS service role policies can only be attached
-// to the service-linked role for that service.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/AttachRolePolicy
-func (c *IAM) AttachRolePolicy(input *AttachRolePolicyInput) (*AttachRolePolicyOutput, error) {
- req, out := c.AttachRolePolicyRequest(input)
- return out, req.Send()
-}
-
-// AttachRolePolicyWithContext is the same as AttachRolePolicy with the addition of
-// the ability to pass a context and additional request options.
-//
-// See AttachRolePolicy for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) AttachRolePolicyWithContext(ctx aws.Context, input *AttachRolePolicyInput, opts ...request.Option) (*AttachRolePolicyOutput, error) {
- req, out := c.AttachRolePolicyRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opAttachUserPolicy = "AttachUserPolicy"
-
-// AttachUserPolicyRequest generates a "aws/request.Request" representing the
-// client's request for the AttachUserPolicy operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See AttachUserPolicy for more information on using the AttachUserPolicy
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the AttachUserPolicyRequest method.
-// req, resp := client.AttachUserPolicyRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/AttachUserPolicy
-func (c *IAM) AttachUserPolicyRequest(input *AttachUserPolicyInput) (req *request.Request, output *AttachUserPolicyOutput) {
- op := &request.Operation{
- Name: opAttachUserPolicy,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &AttachUserPolicyInput{}
- }
-
- output = &AttachUserPolicyOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// AttachUserPolicy API operation for AWS Identity and Access Management.
-//
-// Attaches the specified managed policy to the specified user.
-//
-// You use this API to attach a managed policy to a user. To embed an inline
-// policy in a user, use PutUserPolicy.
-//
-// 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.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation AttachUserPolicy for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeInvalidInputException "InvalidInput"
-// The request was rejected because an invalid or out-of-range value was supplied
-// for an input parameter.
-//
-// * ErrCodePolicyNotAttachableException "PolicyNotAttachable"
-// The request failed because AWS service role policies can only be attached
-// to the service-linked role for that service.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/AttachUserPolicy
-func (c *IAM) AttachUserPolicy(input *AttachUserPolicyInput) (*AttachUserPolicyOutput, error) {
- req, out := c.AttachUserPolicyRequest(input)
- return out, req.Send()
-}
-
-// AttachUserPolicyWithContext is the same as AttachUserPolicy with the addition of
-// the ability to pass a context and additional request options.
-//
-// See AttachUserPolicy for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) AttachUserPolicyWithContext(ctx aws.Context, input *AttachUserPolicyInput, opts ...request.Option) (*AttachUserPolicyOutput, error) {
- req, out := c.AttachUserPolicyRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opChangePassword = "ChangePassword"
-
-// ChangePasswordRequest generates a "aws/request.Request" representing the
-// client's request for the ChangePassword operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See ChangePassword for more information on using the ChangePassword
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the ChangePasswordRequest method.
-// req, resp := client.ChangePasswordRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ChangePassword
-func (c *IAM) ChangePasswordRequest(input *ChangePasswordInput) (req *request.Request, output *ChangePasswordOutput) {
- op := &request.Operation{
- Name: opChangePassword,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &ChangePasswordInput{}
- }
-
- output = &ChangePasswordOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// ChangePassword API operation for AWS Identity and Access Management.
-//
-// Changes the password of the IAM user who is calling this operation. The AWS
-// account root user password is not affected by this operation.
-//
-// To change the password for a different user, see UpdateLoginProfile. For
-// more information about modifying passwords, see Managing Passwords (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_ManagingLogins.html)
-// in the IAM User Guide.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation ChangePassword for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeInvalidUserTypeException "InvalidUserType"
-// The request was rejected because the type of user for the transaction was
-// incorrect.
-//
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeEntityTemporarilyUnmodifiableException "EntityTemporarilyUnmodifiable"
-// The request was rejected because it referenced an entity that is temporarily
-// unmodifiable, such as a user name that was deleted and then recreated. The
-// error indicates that the request is likely to succeed if you try again after
-// waiting several minutes. The error message describes the entity.
-//
-// * ErrCodePasswordPolicyViolationException "PasswordPolicyViolation"
-// The request was rejected because the provided password did not meet the requirements
-// imposed by the account password policy.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ChangePassword
-func (c *IAM) ChangePassword(input *ChangePasswordInput) (*ChangePasswordOutput, error) {
- req, out := c.ChangePasswordRequest(input)
- return out, req.Send()
-}
-
-// ChangePasswordWithContext is the same as ChangePassword with the addition of
-// the ability to pass a context and additional request options.
-//
-// See ChangePassword for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) ChangePasswordWithContext(ctx aws.Context, input *ChangePasswordInput, opts ...request.Option) (*ChangePasswordOutput, error) {
- req, out := c.ChangePasswordRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opCreateAccessKey = "CreateAccessKey"
-
-// CreateAccessKeyRequest generates a "aws/request.Request" representing the
-// client's request for the CreateAccessKey operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See CreateAccessKey for more information on using the CreateAccessKey
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the CreateAccessKeyRequest method.
-// req, resp := client.CreateAccessKeyRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateAccessKey
-func (c *IAM) CreateAccessKeyRequest(input *CreateAccessKeyInput) (req *request.Request, output *CreateAccessKeyOutput) {
- op := &request.Operation{
- Name: opCreateAccessKey,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &CreateAccessKeyInput{}
- }
-
- output = &CreateAccessKeyOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// CreateAccessKey API operation for AWS Identity and Access Management.
-//
-// Creates a new AWS secret access key and corresponding AWS access key ID for
-// the specified user. The default status for new keys is Active.
-//
-// If you do not specify a user name, IAM determines the user name implicitly
-// based on the AWS access key ID signing the request. This operation works
-// for access keys under the AWS account. Consequently, you can use this operation
-// to manage AWS account root user credentials. This is true even if the AWS
-// account has no associated users.
-//
-// For information about limits on the number of keys you can create, see Limitations
-// on IAM Entities (https://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html)
-// in the IAM User Guide.
-//
-// To ensure the security of your AWS account, the secret access key is accessible
-// only during key and user creation. You must save the key (for example, in
-// a text file) if you want to be able to access it again. If a secret key is
-// lost, you can delete the access keys for the associated user and then create
-// new keys.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation CreateAccessKey for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateAccessKey
-func (c *IAM) CreateAccessKey(input *CreateAccessKeyInput) (*CreateAccessKeyOutput, error) {
- req, out := c.CreateAccessKeyRequest(input)
- return out, req.Send()
-}
-
-// CreateAccessKeyWithContext is the same as CreateAccessKey with the addition of
-// the ability to pass a context and additional request options.
-//
-// See CreateAccessKey for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) CreateAccessKeyWithContext(ctx aws.Context, input *CreateAccessKeyInput, opts ...request.Option) (*CreateAccessKeyOutput, error) {
- req, out := c.CreateAccessKeyRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opCreateAccountAlias = "CreateAccountAlias"
-
-// CreateAccountAliasRequest generates a "aws/request.Request" representing the
-// client's request for the CreateAccountAlias operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See CreateAccountAlias for more information on using the CreateAccountAlias
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the CreateAccountAliasRequest method.
-// req, resp := client.CreateAccountAliasRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateAccountAlias
-func (c *IAM) CreateAccountAliasRequest(input *CreateAccountAliasInput) (req *request.Request, output *CreateAccountAliasOutput) {
- op := &request.Operation{
- Name: opCreateAccountAlias,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &CreateAccountAliasInput{}
- }
-
- output = &CreateAccountAliasOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// CreateAccountAlias API operation for AWS Identity and Access Management.
-//
-// Creates an alias for your AWS account. For information about using an AWS
-// account alias, see Using an Alias for Your AWS Account ID (https://docs.aws.amazon.com/IAM/latest/UserGuide/AccountAlias.html)
-// in the IAM User Guide.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation CreateAccountAlias for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeEntityAlreadyExistsException "EntityAlreadyExists"
-// The request was rejected because it attempted to create a resource that already
-// exists.
-//
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateAccountAlias
-func (c *IAM) CreateAccountAlias(input *CreateAccountAliasInput) (*CreateAccountAliasOutput, error) {
- req, out := c.CreateAccountAliasRequest(input)
- return out, req.Send()
-}
-
-// CreateAccountAliasWithContext is the same as CreateAccountAlias with the addition of
-// the ability to pass a context and additional request options.
-//
-// See CreateAccountAlias for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) CreateAccountAliasWithContext(ctx aws.Context, input *CreateAccountAliasInput, opts ...request.Option) (*CreateAccountAliasOutput, error) {
- req, out := c.CreateAccountAliasRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opCreateGroup = "CreateGroup"
-
-// CreateGroupRequest generates a "aws/request.Request" representing the
-// client's request for the CreateGroup operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See CreateGroup for more information on using the CreateGroup
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the CreateGroupRequest method.
-// req, resp := client.CreateGroupRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateGroup
-func (c *IAM) CreateGroupRequest(input *CreateGroupInput) (req *request.Request, output *CreateGroupOutput) {
- op := &request.Operation{
- Name: opCreateGroup,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &CreateGroupInput{}
- }
-
- output = &CreateGroupOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// CreateGroup API operation for AWS Identity and Access Management.
-//
-// Creates a new group.
-//
-// For information about the number of groups you can create, see Limitations
-// on IAM Entities (https://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html)
-// in the IAM User Guide.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation CreateGroup for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeEntityAlreadyExistsException "EntityAlreadyExists"
-// The request was rejected because it attempted to create a resource that already
-// exists.
-//
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateGroup
-func (c *IAM) CreateGroup(input *CreateGroupInput) (*CreateGroupOutput, error) {
- req, out := c.CreateGroupRequest(input)
- return out, req.Send()
-}
-
-// CreateGroupWithContext is the same as CreateGroup with the addition of
-// the ability to pass a context and additional request options.
-//
-// See CreateGroup for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) CreateGroupWithContext(ctx aws.Context, input *CreateGroupInput, opts ...request.Option) (*CreateGroupOutput, error) {
- req, out := c.CreateGroupRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opCreateInstanceProfile = "CreateInstanceProfile"
-
-// CreateInstanceProfileRequest generates a "aws/request.Request" representing the
-// client's request for the CreateInstanceProfile operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See CreateInstanceProfile for more information on using the CreateInstanceProfile
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the CreateInstanceProfileRequest method.
-// req, resp := client.CreateInstanceProfileRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateInstanceProfile
-func (c *IAM) CreateInstanceProfileRequest(input *CreateInstanceProfileInput) (req *request.Request, output *CreateInstanceProfileOutput) {
- op := &request.Operation{
- Name: opCreateInstanceProfile,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &CreateInstanceProfileInput{}
- }
-
- output = &CreateInstanceProfileOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// CreateInstanceProfile API operation for AWS Identity and Access Management.
-//
-// Creates a new instance profile. For information about instance profiles,
-// go to About Instance Profiles (https://docs.aws.amazon.com/IAM/latest/UserGuide/AboutInstanceProfiles.html).
-//
-// For information about the number of instance profiles you can create, see
-// Limitations on IAM Entities (https://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html)
-// in the IAM User Guide.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation CreateInstanceProfile for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeEntityAlreadyExistsException "EntityAlreadyExists"
-// The request was rejected because it attempted to create a resource that already
-// exists.
-//
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateInstanceProfile
-func (c *IAM) CreateInstanceProfile(input *CreateInstanceProfileInput) (*CreateInstanceProfileOutput, error) {
- req, out := c.CreateInstanceProfileRequest(input)
- return out, req.Send()
-}
-
-// CreateInstanceProfileWithContext is the same as CreateInstanceProfile with the addition of
-// the ability to pass a context and additional request options.
-//
-// See CreateInstanceProfile for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) CreateInstanceProfileWithContext(ctx aws.Context, input *CreateInstanceProfileInput, opts ...request.Option) (*CreateInstanceProfileOutput, error) {
- req, out := c.CreateInstanceProfileRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opCreateLoginProfile = "CreateLoginProfile"
-
-// CreateLoginProfileRequest generates a "aws/request.Request" representing the
-// client's request for the CreateLoginProfile operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See CreateLoginProfile for more information on using the CreateLoginProfile
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the CreateLoginProfileRequest method.
-// req, resp := client.CreateLoginProfileRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateLoginProfile
-func (c *IAM) CreateLoginProfileRequest(input *CreateLoginProfileInput) (req *request.Request, output *CreateLoginProfileOutput) {
- op := &request.Operation{
- Name: opCreateLoginProfile,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &CreateLoginProfileInput{}
- }
-
- output = &CreateLoginProfileOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// CreateLoginProfile API operation for AWS Identity and Access Management.
-//
-// Creates a password for the specified user, giving the user the ability to
-// access AWS services through the AWS Management Console. For more information
-// about managing passwords, see Managing Passwords (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_ManagingLogins.html)
-// in the IAM User Guide.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation CreateLoginProfile for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeEntityAlreadyExistsException "EntityAlreadyExists"
-// The request was rejected because it attempted to create a resource that already
-// exists.
-//
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodePasswordPolicyViolationException "PasswordPolicyViolation"
-// The request was rejected because the provided password did not meet the requirements
-// imposed by the account password policy.
-//
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateLoginProfile
-func (c *IAM) CreateLoginProfile(input *CreateLoginProfileInput) (*CreateLoginProfileOutput, error) {
- req, out := c.CreateLoginProfileRequest(input)
- return out, req.Send()
-}
-
-// CreateLoginProfileWithContext is the same as CreateLoginProfile with the addition of
-// the ability to pass a context and additional request options.
-//
-// See CreateLoginProfile for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) CreateLoginProfileWithContext(ctx aws.Context, input *CreateLoginProfileInput, opts ...request.Option) (*CreateLoginProfileOutput, error) {
- req, out := c.CreateLoginProfileRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opCreateOpenIDConnectProvider = "CreateOpenIDConnectProvider"
-
-// CreateOpenIDConnectProviderRequest generates a "aws/request.Request" representing the
-// client's request for the CreateOpenIDConnectProvider operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See CreateOpenIDConnectProvider for more information on using the CreateOpenIDConnectProvider
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the CreateOpenIDConnectProviderRequest method.
-// req, resp := client.CreateOpenIDConnectProviderRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateOpenIDConnectProvider
-func (c *IAM) CreateOpenIDConnectProviderRequest(input *CreateOpenIDConnectProviderInput) (req *request.Request, output *CreateOpenIDConnectProviderOutput) {
- op := &request.Operation{
- Name: opCreateOpenIDConnectProvider,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &CreateOpenIDConnectProviderInput{}
- }
-
- output = &CreateOpenIDConnectProviderOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// CreateOpenIDConnectProvider API operation for AWS Identity and Access Management.
-//
-// Creates an IAM entity to describe an identity provider (IdP) that supports
-// OpenID Connect (OIDC) (http://openid.net/connect/).
-//
-// The OIDC provider that you create with this operation can be used as a principal
-// in a role's trust policy. Such a policy establishes a trust relationship
-// between AWS and the OIDC provider.
-//
-// When you create the IAM OIDC provider, you specify the following:
-//
-// * The URL of the OIDC identity provider (IdP) to trust
-//
-// * A list of client IDs (also known as audiences) that identify the application
-// or applications that are allowed to authenticate using the OIDC provider
-//
-// * A list of thumbprints of the server certificate(s) that the IdP uses
-//
-// You get all of this information from the OIDC IdP that you want to use to
-// access AWS.
-//
-// The trust for the OIDC provider is derived from the IAM provider that this
-// operation creates. Therefore, it is best to limit access to the CreateOpenIDConnectProvider
-// operation to highly privileged users.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation CreateOpenIDConnectProvider for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeInvalidInputException "InvalidInput"
-// The request was rejected because an invalid or out-of-range value was supplied
-// for an input parameter.
-//
-// * ErrCodeEntityAlreadyExistsException "EntityAlreadyExists"
-// The request was rejected because it attempted to create a resource that already
-// exists.
-//
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateOpenIDConnectProvider
-func (c *IAM) CreateOpenIDConnectProvider(input *CreateOpenIDConnectProviderInput) (*CreateOpenIDConnectProviderOutput, error) {
- req, out := c.CreateOpenIDConnectProviderRequest(input)
- return out, req.Send()
-}
-
-// CreateOpenIDConnectProviderWithContext is the same as CreateOpenIDConnectProvider with the addition of
-// the ability to pass a context and additional request options.
-//
-// See CreateOpenIDConnectProvider for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) CreateOpenIDConnectProviderWithContext(ctx aws.Context, input *CreateOpenIDConnectProviderInput, opts ...request.Option) (*CreateOpenIDConnectProviderOutput, error) {
- req, out := c.CreateOpenIDConnectProviderRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opCreatePolicy = "CreatePolicy"
-
-// CreatePolicyRequest generates a "aws/request.Request" representing the
-// client's request for the CreatePolicy operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See CreatePolicy for more information on using the CreatePolicy
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the CreatePolicyRequest method.
-// req, resp := client.CreatePolicyRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreatePolicy
-func (c *IAM) CreatePolicyRequest(input *CreatePolicyInput) (req *request.Request, output *CreatePolicyOutput) {
- op := &request.Operation{
- Name: opCreatePolicy,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &CreatePolicyInput{}
- }
-
- output = &CreatePolicyOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// CreatePolicy API operation for AWS Identity and Access Management.
-//
-// Creates a new managed policy for your AWS account.
-//
-// This operation creates a policy version with a version identifier of v1 and
-// sets v1 as the policy's default version. For more information about policy
-// versions, see Versioning for Managed Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html)
-// in the IAM User Guide.
-//
-// For more information about managed policies in general, see Managed Policies
-// and Inline Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
-// in the IAM User Guide.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation CreatePolicy for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeInvalidInputException "InvalidInput"
-// The request was rejected because an invalid or out-of-range value was supplied
-// for an input parameter.
-//
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeEntityAlreadyExistsException "EntityAlreadyExists"
-// The request was rejected because it attempted to create a resource that already
-// exists.
-//
-// * ErrCodeMalformedPolicyDocumentException "MalformedPolicyDocument"
-// The request was rejected because the policy document was malformed. The error
-// message describes the specific error.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreatePolicy
-func (c *IAM) CreatePolicy(input *CreatePolicyInput) (*CreatePolicyOutput, error) {
- req, out := c.CreatePolicyRequest(input)
- return out, req.Send()
-}
-
-// CreatePolicyWithContext is the same as CreatePolicy with the addition of
-// the ability to pass a context and additional request options.
-//
-// See CreatePolicy for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) CreatePolicyWithContext(ctx aws.Context, input *CreatePolicyInput, opts ...request.Option) (*CreatePolicyOutput, error) {
- req, out := c.CreatePolicyRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opCreatePolicyVersion = "CreatePolicyVersion"
-
-// CreatePolicyVersionRequest generates a "aws/request.Request" representing the
-// client's request for the CreatePolicyVersion operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See CreatePolicyVersion for more information on using the CreatePolicyVersion
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the CreatePolicyVersionRequest method.
-// req, resp := client.CreatePolicyVersionRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreatePolicyVersion
-func (c *IAM) CreatePolicyVersionRequest(input *CreatePolicyVersionInput) (req *request.Request, output *CreatePolicyVersionOutput) {
- op := &request.Operation{
- Name: opCreatePolicyVersion,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &CreatePolicyVersionInput{}
- }
-
- output = &CreatePolicyVersionOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// CreatePolicyVersion API operation for AWS Identity and Access Management.
-//
-// Creates a new version of the specified managed policy. To update a managed
-// policy, you create a new policy version. A managed policy can have up to
-// five versions. If the policy has five versions, you must delete an existing
-// version using DeletePolicyVersion before you create a new version.
-//
-// Optionally, you can set the new version as the policy's default version.
-// The default version is the version that is in effect for the IAM users, groups,
-// and roles to which the policy is attached.
-//
-// For more information about managed policy versions, see Versioning for Managed
-// Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html)
-// in the IAM User Guide.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation CreatePolicyVersion for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeMalformedPolicyDocumentException "MalformedPolicyDocument"
-// The request was rejected because the policy document was malformed. The error
-// message describes the specific error.
-//
-// * ErrCodeInvalidInputException "InvalidInput"
-// The request was rejected because an invalid or out-of-range value was supplied
-// for an input parameter.
-//
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreatePolicyVersion
-func (c *IAM) CreatePolicyVersion(input *CreatePolicyVersionInput) (*CreatePolicyVersionOutput, error) {
- req, out := c.CreatePolicyVersionRequest(input)
- return out, req.Send()
-}
-
-// CreatePolicyVersionWithContext is the same as CreatePolicyVersion with the addition of
-// the ability to pass a context and additional request options.
-//
-// See CreatePolicyVersion for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) CreatePolicyVersionWithContext(ctx aws.Context, input *CreatePolicyVersionInput, opts ...request.Option) (*CreatePolicyVersionOutput, error) {
- req, out := c.CreatePolicyVersionRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opCreateRole = "CreateRole"
-
-// CreateRoleRequest generates a "aws/request.Request" representing the
-// client's request for the CreateRole operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See CreateRole for more information on using the CreateRole
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the CreateRoleRequest method.
-// req, resp := client.CreateRoleRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateRole
-func (c *IAM) CreateRoleRequest(input *CreateRoleInput) (req *request.Request, output *CreateRoleOutput) {
- op := &request.Operation{
- Name: opCreateRole,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &CreateRoleInput{}
- }
-
- output = &CreateRoleOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// CreateRole API operation for AWS Identity and Access Management.
-//
-// Creates a new role for your AWS account. For more information about roles,
-// go to IAM Roles (https://docs.aws.amazon.com/IAM/latest/UserGuide/WorkingWithRoles.html).
-// For information about limitations on role names and the number of roles you
-// can create, go to Limitations on IAM Entities (https://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html)
-// in the IAM User Guide.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation CreateRole for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeInvalidInputException "InvalidInput"
-// The request was rejected because an invalid or out-of-range value was supplied
-// for an input parameter.
-//
-// * ErrCodeEntityAlreadyExistsException "EntityAlreadyExists"
-// The request was rejected because it attempted to create a resource that already
-// exists.
-//
-// * ErrCodeMalformedPolicyDocumentException "MalformedPolicyDocument"
-// The request was rejected because the policy document was malformed. The error
-// message describes the specific error.
-//
-// * ErrCodeConcurrentModificationException "ConcurrentModification"
-// The request was rejected because multiple requests to change this object
-// were submitted simultaneously. Wait a few minutes and submit your request
-// again.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateRole
-func (c *IAM) CreateRole(input *CreateRoleInput) (*CreateRoleOutput, error) {
- req, out := c.CreateRoleRequest(input)
- return out, req.Send()
-}
-
-// CreateRoleWithContext is the same as CreateRole with the addition of
-// the ability to pass a context and additional request options.
-//
-// See CreateRole for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) CreateRoleWithContext(ctx aws.Context, input *CreateRoleInput, opts ...request.Option) (*CreateRoleOutput, error) {
- req, out := c.CreateRoleRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opCreateSAMLProvider = "CreateSAMLProvider"
-
-// CreateSAMLProviderRequest generates a "aws/request.Request" representing the
-// client's request for the CreateSAMLProvider operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See CreateSAMLProvider for more information on using the CreateSAMLProvider
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the CreateSAMLProviderRequest method.
-// req, resp := client.CreateSAMLProviderRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateSAMLProvider
-func (c *IAM) CreateSAMLProviderRequest(input *CreateSAMLProviderInput) (req *request.Request, output *CreateSAMLProviderOutput) {
- op := &request.Operation{
- Name: opCreateSAMLProvider,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &CreateSAMLProviderInput{}
- }
-
- output = &CreateSAMLProviderOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// CreateSAMLProvider API operation for AWS Identity and Access Management.
-//
-// Creates an IAM resource that describes an identity provider (IdP) that supports
-// SAML 2.0.
-//
-// The SAML provider resource that you create with this operation can be used
-// as a principal in an IAM role's trust policy. Such a policy can enable federated
-// users who sign in using the SAML IdP to assume the role. You can create an
-// IAM role that supports Web-based single sign-on (SSO) to the AWS Management
-// Console or one that supports API access to AWS.
-//
-// When you create the SAML provider resource, you upload a SAML metadata document
-// that you get from your IdP. That document includes the issuer's name, expiration
-// information, and keys that can be used to validate the SAML authentication
-// response (assertions) that the IdP sends. You must generate the metadata
-// document using the identity management software that is used as your organization's
-// IdP.
-//
-// This operation requires Signature Version 4 (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
-//
-// For more information, see Enabling SAML 2.0 Federated Users to Access the
-// AWS Management Console (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-saml.html)
-// and About SAML 2.0-based Federation (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_saml.html)
-// in the IAM User Guide.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation CreateSAMLProvider for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeInvalidInputException "InvalidInput"
-// The request was rejected because an invalid or out-of-range value was supplied
-// for an input parameter.
-//
-// * ErrCodeEntityAlreadyExistsException "EntityAlreadyExists"
-// The request was rejected because it attempted to create a resource that already
-// exists.
-//
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateSAMLProvider
-func (c *IAM) CreateSAMLProvider(input *CreateSAMLProviderInput) (*CreateSAMLProviderOutput, error) {
- req, out := c.CreateSAMLProviderRequest(input)
- return out, req.Send()
-}
-
-// CreateSAMLProviderWithContext is the same as CreateSAMLProvider with the addition of
-// the ability to pass a context and additional request options.
-//
-// See CreateSAMLProvider for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) CreateSAMLProviderWithContext(ctx aws.Context, input *CreateSAMLProviderInput, opts ...request.Option) (*CreateSAMLProviderOutput, error) {
- req, out := c.CreateSAMLProviderRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opCreateServiceLinkedRole = "CreateServiceLinkedRole"
-
-// CreateServiceLinkedRoleRequest generates a "aws/request.Request" representing the
-// client's request for the CreateServiceLinkedRole operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See CreateServiceLinkedRole for more information on using the CreateServiceLinkedRole
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the CreateServiceLinkedRoleRequest method.
-// req, resp := client.CreateServiceLinkedRoleRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateServiceLinkedRole
-func (c *IAM) CreateServiceLinkedRoleRequest(input *CreateServiceLinkedRoleInput) (req *request.Request, output *CreateServiceLinkedRoleOutput) {
- op := &request.Operation{
- Name: opCreateServiceLinkedRole,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &CreateServiceLinkedRoleInput{}
- }
-
- output = &CreateServiceLinkedRoleOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// CreateServiceLinkedRole API operation for AWS Identity and Access Management.
-//
-// Creates an IAM role that is linked to a specific AWS service. The service
-// controls the attached policies and when the role can be deleted. This helps
-// ensure that the service is not broken by an unexpectedly changed or deleted
-// role, which could put your AWS resources into an unknown state. Allowing
-// the service to control the role helps improve service stability and proper
-// cleanup when a service and its role are no longer needed. For more information,
-// see Using Service-Linked Roles (https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html)
-// in the IAM User Guide.
-//
-// To attach a policy to this service-linked role, you must make the request
-// using the AWS service that depends on this role.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation CreateServiceLinkedRole for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeInvalidInputException "InvalidInput"
-// The request was rejected because an invalid or out-of-range value was supplied
-// for an input parameter.
-//
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateServiceLinkedRole
-func (c *IAM) CreateServiceLinkedRole(input *CreateServiceLinkedRoleInput) (*CreateServiceLinkedRoleOutput, error) {
- req, out := c.CreateServiceLinkedRoleRequest(input)
- return out, req.Send()
-}
-
-// CreateServiceLinkedRoleWithContext is the same as CreateServiceLinkedRole with the addition of
-// the ability to pass a context and additional request options.
-//
-// See CreateServiceLinkedRole for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) CreateServiceLinkedRoleWithContext(ctx aws.Context, input *CreateServiceLinkedRoleInput, opts ...request.Option) (*CreateServiceLinkedRoleOutput, error) {
- req, out := c.CreateServiceLinkedRoleRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opCreateServiceSpecificCredential = "CreateServiceSpecificCredential"
-
-// CreateServiceSpecificCredentialRequest generates a "aws/request.Request" representing the
-// client's request for the CreateServiceSpecificCredential operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See CreateServiceSpecificCredential for more information on using the CreateServiceSpecificCredential
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the CreateServiceSpecificCredentialRequest method.
-// req, resp := client.CreateServiceSpecificCredentialRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateServiceSpecificCredential
-func (c *IAM) CreateServiceSpecificCredentialRequest(input *CreateServiceSpecificCredentialInput) (req *request.Request, output *CreateServiceSpecificCredentialOutput) {
- op := &request.Operation{
- Name: opCreateServiceSpecificCredential,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &CreateServiceSpecificCredentialInput{}
- }
-
- output = &CreateServiceSpecificCredentialOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// CreateServiceSpecificCredential API operation for AWS Identity and Access Management.
-//
-// Generates a set of credentials consisting of a user name and password that
-// can be used to access the service specified in the request. These credentials
-// are generated by IAM, and can be used only for the specified service.
-//
-// You can have a maximum of two sets of service-specific credentials for each
-// supported service per user.
-//
-// The only supported service at this time is AWS CodeCommit.
-//
-// You can reset the password to a new service-generated value by calling ResetServiceSpecificCredential.
-//
-// For more information about service-specific credentials, see Using IAM with
-// AWS CodeCommit: Git Credentials, SSH Keys, and AWS Access Keys (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_ssh-keys.html)
-// in the IAM User Guide.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation CreateServiceSpecificCredential for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeServiceNotSupportedException "NotSupportedService"
-// The specified service does not support service-specific credentials.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateServiceSpecificCredential
-func (c *IAM) CreateServiceSpecificCredential(input *CreateServiceSpecificCredentialInput) (*CreateServiceSpecificCredentialOutput, error) {
- req, out := c.CreateServiceSpecificCredentialRequest(input)
- return out, req.Send()
-}
-
-// CreateServiceSpecificCredentialWithContext is the same as CreateServiceSpecificCredential with the addition of
-// the ability to pass a context and additional request options.
-//
-// See CreateServiceSpecificCredential for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) CreateServiceSpecificCredentialWithContext(ctx aws.Context, input *CreateServiceSpecificCredentialInput, opts ...request.Option) (*CreateServiceSpecificCredentialOutput, error) {
- req, out := c.CreateServiceSpecificCredentialRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opCreateUser = "CreateUser"
-
-// CreateUserRequest generates a "aws/request.Request" representing the
-// client's request for the CreateUser operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See CreateUser for more information on using the CreateUser
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the CreateUserRequest method.
-// req, resp := client.CreateUserRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateUser
-func (c *IAM) CreateUserRequest(input *CreateUserInput) (req *request.Request, output *CreateUserOutput) {
- op := &request.Operation{
- Name: opCreateUser,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &CreateUserInput{}
- }
-
- output = &CreateUserOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// CreateUser API operation for AWS Identity and Access Management.
-//
-// Creates a new IAM user for your AWS account.
-//
-// For information about limitations on the number of IAM users you can create,
-// see Limitations on IAM Entities (https://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html)
-// in the IAM User Guide.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation CreateUser for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeEntityAlreadyExistsException "EntityAlreadyExists"
-// The request was rejected because it attempted to create a resource that already
-// exists.
-//
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeInvalidInputException "InvalidInput"
-// The request was rejected because an invalid or out-of-range value was supplied
-// for an input parameter.
-//
-// * ErrCodeConcurrentModificationException "ConcurrentModification"
-// The request was rejected because multiple requests to change this object
-// were submitted simultaneously. Wait a few minutes and submit your request
-// again.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateUser
-func (c *IAM) CreateUser(input *CreateUserInput) (*CreateUserOutput, error) {
- req, out := c.CreateUserRequest(input)
- return out, req.Send()
-}
-
-// CreateUserWithContext is the same as CreateUser with the addition of
-// the ability to pass a context and additional request options.
-//
-// See CreateUser for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) CreateUserWithContext(ctx aws.Context, input *CreateUserInput, opts ...request.Option) (*CreateUserOutput, error) {
- req, out := c.CreateUserRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opCreateVirtualMFADevice = "CreateVirtualMFADevice"
-
-// CreateVirtualMFADeviceRequest generates a "aws/request.Request" representing the
-// client's request for the CreateVirtualMFADevice operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See CreateVirtualMFADevice for more information on using the CreateVirtualMFADevice
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the CreateVirtualMFADeviceRequest method.
-// req, resp := client.CreateVirtualMFADeviceRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateVirtualMFADevice
-func (c *IAM) CreateVirtualMFADeviceRequest(input *CreateVirtualMFADeviceInput) (req *request.Request, output *CreateVirtualMFADeviceOutput) {
- op := &request.Operation{
- Name: opCreateVirtualMFADevice,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &CreateVirtualMFADeviceInput{}
- }
-
- output = &CreateVirtualMFADeviceOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// CreateVirtualMFADevice API operation for AWS Identity and Access Management.
-//
-// Creates a new virtual MFA device for the AWS account. After creating the
-// virtual MFA, use EnableMFADevice to attach the MFA device to an IAM user.
-// For more information about creating and working with virtual MFA devices,
-// go to Using a Virtual MFA Device (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_VirtualMFA.html)
-// in the IAM User Guide.
-//
-// For information about limits on the number of MFA devices you can create,
-// see Limitations on Entities (https://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html)
-// in the IAM User Guide.
-//
-// The seed information contained in the QR code and the Base32 string should
-// be treated like any other secret access information. In other words, protect
-// the seed information as you would your AWS access keys or your passwords.
-// After you provision your virtual device, you should ensure that the information
-// is destroyed following secure procedures.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation CreateVirtualMFADevice for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeEntityAlreadyExistsException "EntityAlreadyExists"
-// The request was rejected because it attempted to create a resource that already
-// exists.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateVirtualMFADevice
-func (c *IAM) CreateVirtualMFADevice(input *CreateVirtualMFADeviceInput) (*CreateVirtualMFADeviceOutput, error) {
- req, out := c.CreateVirtualMFADeviceRequest(input)
- return out, req.Send()
-}
-
-// CreateVirtualMFADeviceWithContext is the same as CreateVirtualMFADevice with the addition of
-// the ability to pass a context and additional request options.
-//
-// See CreateVirtualMFADevice for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) CreateVirtualMFADeviceWithContext(ctx aws.Context, input *CreateVirtualMFADeviceInput, opts ...request.Option) (*CreateVirtualMFADeviceOutput, error) {
- req, out := c.CreateVirtualMFADeviceRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opDeactivateMFADevice = "DeactivateMFADevice"
-
-// DeactivateMFADeviceRequest generates a "aws/request.Request" representing the
-// client's request for the DeactivateMFADevice operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See DeactivateMFADevice for more information on using the DeactivateMFADevice
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the DeactivateMFADeviceRequest method.
-// req, resp := client.DeactivateMFADeviceRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeactivateMFADevice
-func (c *IAM) DeactivateMFADeviceRequest(input *DeactivateMFADeviceInput) (req *request.Request, output *DeactivateMFADeviceOutput) {
- op := &request.Operation{
- Name: opDeactivateMFADevice,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &DeactivateMFADeviceInput{}
- }
-
- output = &DeactivateMFADeviceOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// DeactivateMFADevice API operation for AWS Identity and Access Management.
-//
-// Deactivates the specified MFA device and removes it from association with
-// the user name for which it was originally enabled.
-//
-// For more information about creating and working with virtual MFA devices,
-// go to Enabling a Virtual Multi-factor Authentication (MFA) Device (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_VirtualMFA.html)
-// in the IAM User Guide.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation DeactivateMFADevice for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeEntityTemporarilyUnmodifiableException "EntityTemporarilyUnmodifiable"
-// The request was rejected because it referenced an entity that is temporarily
-// unmodifiable, such as a user name that was deleted and then recreated. The
-// error indicates that the request is likely to succeed if you try again after
-// waiting several minutes. The error message describes the entity.
-//
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeactivateMFADevice
-func (c *IAM) DeactivateMFADevice(input *DeactivateMFADeviceInput) (*DeactivateMFADeviceOutput, error) {
- req, out := c.DeactivateMFADeviceRequest(input)
- return out, req.Send()
-}
-
-// DeactivateMFADeviceWithContext is the same as DeactivateMFADevice with the addition of
-// the ability to pass a context and additional request options.
-//
-// See DeactivateMFADevice for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) DeactivateMFADeviceWithContext(ctx aws.Context, input *DeactivateMFADeviceInput, opts ...request.Option) (*DeactivateMFADeviceOutput, error) {
- req, out := c.DeactivateMFADeviceRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opDeleteAccessKey = "DeleteAccessKey"
-
-// DeleteAccessKeyRequest generates a "aws/request.Request" representing the
-// client's request for the DeleteAccessKey operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See DeleteAccessKey for more information on using the DeleteAccessKey
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the DeleteAccessKeyRequest method.
-// req, resp := client.DeleteAccessKeyRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteAccessKey
-func (c *IAM) DeleteAccessKeyRequest(input *DeleteAccessKeyInput) (req *request.Request, output *DeleteAccessKeyOutput) {
- op := &request.Operation{
- Name: opDeleteAccessKey,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &DeleteAccessKeyInput{}
- }
-
- output = &DeleteAccessKeyOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// DeleteAccessKey API operation for AWS Identity and Access Management.
-//
-// Deletes the access key pair associated with the specified IAM user.
-//
-// If you do not specify a user name, IAM determines the user name implicitly
-// based on the AWS access key ID signing the request. This operation works
-// for access keys under the AWS account. Consequently, you can use this operation
-// to manage AWS account root user credentials even if the AWS account has no
-// associated users.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation DeleteAccessKey for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteAccessKey
-func (c *IAM) DeleteAccessKey(input *DeleteAccessKeyInput) (*DeleteAccessKeyOutput, error) {
- req, out := c.DeleteAccessKeyRequest(input)
- return out, req.Send()
-}
-
-// DeleteAccessKeyWithContext is the same as DeleteAccessKey with the addition of
-// the ability to pass a context and additional request options.
-//
-// See DeleteAccessKey for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) DeleteAccessKeyWithContext(ctx aws.Context, input *DeleteAccessKeyInput, opts ...request.Option) (*DeleteAccessKeyOutput, error) {
- req, out := c.DeleteAccessKeyRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opDeleteAccountAlias = "DeleteAccountAlias"
-
-// DeleteAccountAliasRequest generates a "aws/request.Request" representing the
-// client's request for the DeleteAccountAlias operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See DeleteAccountAlias for more information on using the DeleteAccountAlias
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the DeleteAccountAliasRequest method.
-// req, resp := client.DeleteAccountAliasRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteAccountAlias
-func (c *IAM) DeleteAccountAliasRequest(input *DeleteAccountAliasInput) (req *request.Request, output *DeleteAccountAliasOutput) {
- op := &request.Operation{
- Name: opDeleteAccountAlias,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &DeleteAccountAliasInput{}
- }
-
- output = &DeleteAccountAliasOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// DeleteAccountAlias API operation for AWS Identity and Access Management.
-//
-// Deletes the specified AWS account alias. For information about using an AWS
-// account alias, see Using an Alias for Your AWS Account ID (https://docs.aws.amazon.com/IAM/latest/UserGuide/AccountAlias.html)
-// in the IAM User Guide.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation DeleteAccountAlias for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteAccountAlias
-func (c *IAM) DeleteAccountAlias(input *DeleteAccountAliasInput) (*DeleteAccountAliasOutput, error) {
- req, out := c.DeleteAccountAliasRequest(input)
- return out, req.Send()
-}
-
-// DeleteAccountAliasWithContext is the same as DeleteAccountAlias with the addition of
-// the ability to pass a context and additional request options.
-//
-// See DeleteAccountAlias for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) DeleteAccountAliasWithContext(ctx aws.Context, input *DeleteAccountAliasInput, opts ...request.Option) (*DeleteAccountAliasOutput, error) {
- req, out := c.DeleteAccountAliasRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opDeleteAccountPasswordPolicy = "DeleteAccountPasswordPolicy"
-
-// DeleteAccountPasswordPolicyRequest generates a "aws/request.Request" representing the
-// client's request for the DeleteAccountPasswordPolicy operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See DeleteAccountPasswordPolicy for more information on using the DeleteAccountPasswordPolicy
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the DeleteAccountPasswordPolicyRequest method.
-// req, resp := client.DeleteAccountPasswordPolicyRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteAccountPasswordPolicy
-func (c *IAM) DeleteAccountPasswordPolicyRequest(input *DeleteAccountPasswordPolicyInput) (req *request.Request, output *DeleteAccountPasswordPolicyOutput) {
- op := &request.Operation{
- Name: opDeleteAccountPasswordPolicy,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &DeleteAccountPasswordPolicyInput{}
- }
-
- output = &DeleteAccountPasswordPolicyOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// DeleteAccountPasswordPolicy API operation for AWS Identity and Access Management.
-//
-// Deletes the password policy for the AWS account. There are no parameters.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation DeleteAccountPasswordPolicy for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteAccountPasswordPolicy
-func (c *IAM) DeleteAccountPasswordPolicy(input *DeleteAccountPasswordPolicyInput) (*DeleteAccountPasswordPolicyOutput, error) {
- req, out := c.DeleteAccountPasswordPolicyRequest(input)
- return out, req.Send()
-}
-
-// DeleteAccountPasswordPolicyWithContext is the same as DeleteAccountPasswordPolicy with the addition of
-// the ability to pass a context and additional request options.
-//
-// See DeleteAccountPasswordPolicy for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) DeleteAccountPasswordPolicyWithContext(ctx aws.Context, input *DeleteAccountPasswordPolicyInput, opts ...request.Option) (*DeleteAccountPasswordPolicyOutput, error) {
- req, out := c.DeleteAccountPasswordPolicyRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opDeleteGroup = "DeleteGroup"
-
-// DeleteGroupRequest generates a "aws/request.Request" representing the
-// client's request for the DeleteGroup operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See DeleteGroup for more information on using the DeleteGroup
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the DeleteGroupRequest method.
-// req, resp := client.DeleteGroupRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteGroup
-func (c *IAM) DeleteGroupRequest(input *DeleteGroupInput) (req *request.Request, output *DeleteGroupOutput) {
- op := &request.Operation{
- Name: opDeleteGroup,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &DeleteGroupInput{}
- }
-
- output = &DeleteGroupOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// DeleteGroup API operation for AWS Identity and Access Management.
-//
-// Deletes the specified IAM group. The group must not contain any users or
-// have any attached policies.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation DeleteGroup for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeDeleteConflictException "DeleteConflict"
-// The request was rejected because it attempted to delete a resource that has
-// attached subordinate entities. The error message describes these entities.
-//
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteGroup
-func (c *IAM) DeleteGroup(input *DeleteGroupInput) (*DeleteGroupOutput, error) {
- req, out := c.DeleteGroupRequest(input)
- return out, req.Send()
-}
-
-// DeleteGroupWithContext is the same as DeleteGroup with the addition of
-// the ability to pass a context and additional request options.
-//
-// See DeleteGroup for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) DeleteGroupWithContext(ctx aws.Context, input *DeleteGroupInput, opts ...request.Option) (*DeleteGroupOutput, error) {
- req, out := c.DeleteGroupRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opDeleteGroupPolicy = "DeleteGroupPolicy"
-
-// DeleteGroupPolicyRequest generates a "aws/request.Request" representing the
-// client's request for the DeleteGroupPolicy operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See DeleteGroupPolicy for more information on using the DeleteGroupPolicy
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the DeleteGroupPolicyRequest method.
-// req, resp := client.DeleteGroupPolicyRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteGroupPolicy
-func (c *IAM) DeleteGroupPolicyRequest(input *DeleteGroupPolicyInput) (req *request.Request, output *DeleteGroupPolicyOutput) {
- op := &request.Operation{
- Name: opDeleteGroupPolicy,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &DeleteGroupPolicyInput{}
- }
-
- output = &DeleteGroupPolicyOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// DeleteGroupPolicy API operation for AWS Identity and Access Management.
-//
-// Deletes the specified inline policy that is embedded in the specified IAM
-// group.
-//
-// A group can also have managed policies attached to it. To detach a managed
-// policy from a group, use DetachGroupPolicy. For more information about policies,
-// refer to Managed Policies and Inline Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
-// in the IAM User Guide.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation DeleteGroupPolicy for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteGroupPolicy
-func (c *IAM) DeleteGroupPolicy(input *DeleteGroupPolicyInput) (*DeleteGroupPolicyOutput, error) {
- req, out := c.DeleteGroupPolicyRequest(input)
- return out, req.Send()
-}
-
-// DeleteGroupPolicyWithContext is the same as DeleteGroupPolicy with the addition of
-// the ability to pass a context and additional request options.
-//
-// See DeleteGroupPolicy for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) DeleteGroupPolicyWithContext(ctx aws.Context, input *DeleteGroupPolicyInput, opts ...request.Option) (*DeleteGroupPolicyOutput, error) {
- req, out := c.DeleteGroupPolicyRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opDeleteInstanceProfile = "DeleteInstanceProfile"
-
-// DeleteInstanceProfileRequest generates a "aws/request.Request" representing the
-// client's request for the DeleteInstanceProfile operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See DeleteInstanceProfile for more information on using the DeleteInstanceProfile
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the DeleteInstanceProfileRequest method.
-// req, resp := client.DeleteInstanceProfileRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteInstanceProfile
-func (c *IAM) DeleteInstanceProfileRequest(input *DeleteInstanceProfileInput) (req *request.Request, output *DeleteInstanceProfileOutput) {
- op := &request.Operation{
- Name: opDeleteInstanceProfile,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &DeleteInstanceProfileInput{}
- }
-
- output = &DeleteInstanceProfileOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// DeleteInstanceProfile API operation for AWS Identity and Access Management.
-//
-// Deletes the specified instance profile. The instance profile must not have
-// an associated role.
-//
-// Make sure that you do not have any Amazon EC2 instances running with the
-// instance profile you are about to delete. Deleting a role or instance profile
-// that is associated with a running instance will break any applications running
-// on the instance.
-//
-// For more information about instance profiles, go to About Instance Profiles
-// (https://docs.aws.amazon.com/IAM/latest/UserGuide/AboutInstanceProfiles.html).
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation DeleteInstanceProfile for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeDeleteConflictException "DeleteConflict"
-// The request was rejected because it attempted to delete a resource that has
-// attached subordinate entities. The error message describes these entities.
-//
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteInstanceProfile
-func (c *IAM) DeleteInstanceProfile(input *DeleteInstanceProfileInput) (*DeleteInstanceProfileOutput, error) {
- req, out := c.DeleteInstanceProfileRequest(input)
- return out, req.Send()
-}
-
-// DeleteInstanceProfileWithContext is the same as DeleteInstanceProfile with the addition of
-// the ability to pass a context and additional request options.
-//
-// See DeleteInstanceProfile for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) DeleteInstanceProfileWithContext(ctx aws.Context, input *DeleteInstanceProfileInput, opts ...request.Option) (*DeleteInstanceProfileOutput, error) {
- req, out := c.DeleteInstanceProfileRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opDeleteLoginProfile = "DeleteLoginProfile"
-
-// DeleteLoginProfileRequest generates a "aws/request.Request" representing the
-// client's request for the DeleteLoginProfile operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See DeleteLoginProfile for more information on using the DeleteLoginProfile
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the DeleteLoginProfileRequest method.
-// req, resp := client.DeleteLoginProfileRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteLoginProfile
-func (c *IAM) DeleteLoginProfileRequest(input *DeleteLoginProfileInput) (req *request.Request, output *DeleteLoginProfileOutput) {
- op := &request.Operation{
- Name: opDeleteLoginProfile,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &DeleteLoginProfileInput{}
- }
-
- output = &DeleteLoginProfileOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// DeleteLoginProfile API operation for AWS Identity and Access Management.
-//
-// Deletes the password for the specified IAM user, which terminates the user's
-// ability to access AWS services through the AWS Management Console.
-//
-// Deleting a user's password does not prevent a user from accessing AWS through
-// the command line interface or the API. To prevent all user access, you must
-// also either make any access keys inactive or delete them. For more information
-// about making keys inactive or deleting them, see UpdateAccessKey and DeleteAccessKey.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation DeleteLoginProfile for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeEntityTemporarilyUnmodifiableException "EntityTemporarilyUnmodifiable"
-// The request was rejected because it referenced an entity that is temporarily
-// unmodifiable, such as a user name that was deleted and then recreated. The
-// error indicates that the request is likely to succeed if you try again after
-// waiting several minutes. The error message describes the entity.
-//
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteLoginProfile
-func (c *IAM) DeleteLoginProfile(input *DeleteLoginProfileInput) (*DeleteLoginProfileOutput, error) {
- req, out := c.DeleteLoginProfileRequest(input)
- return out, req.Send()
-}
-
-// DeleteLoginProfileWithContext is the same as DeleteLoginProfile with the addition of
-// the ability to pass a context and additional request options.
-//
-// See DeleteLoginProfile for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) DeleteLoginProfileWithContext(ctx aws.Context, input *DeleteLoginProfileInput, opts ...request.Option) (*DeleteLoginProfileOutput, error) {
- req, out := c.DeleteLoginProfileRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opDeleteOpenIDConnectProvider = "DeleteOpenIDConnectProvider"
-
-// DeleteOpenIDConnectProviderRequest generates a "aws/request.Request" representing the
-// client's request for the DeleteOpenIDConnectProvider operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See DeleteOpenIDConnectProvider for more information on using the DeleteOpenIDConnectProvider
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the DeleteOpenIDConnectProviderRequest method.
-// req, resp := client.DeleteOpenIDConnectProviderRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteOpenIDConnectProvider
-func (c *IAM) DeleteOpenIDConnectProviderRequest(input *DeleteOpenIDConnectProviderInput) (req *request.Request, output *DeleteOpenIDConnectProviderOutput) {
- op := &request.Operation{
- Name: opDeleteOpenIDConnectProvider,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &DeleteOpenIDConnectProviderInput{}
- }
-
- output = &DeleteOpenIDConnectProviderOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// DeleteOpenIDConnectProvider API operation for AWS Identity and Access Management.
-//
-// Deletes an OpenID Connect identity provider (IdP) resource object in IAM.
-//
-// Deleting an IAM OIDC provider resource does not update any roles that reference
-// the provider as a principal in their trust policies. Any attempt to assume
-// a role that references a deleted provider fails.
-//
-// This operation is idempotent; it does not fail or return an error if you
-// call the operation for a provider that does not exist.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation DeleteOpenIDConnectProvider for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeInvalidInputException "InvalidInput"
-// The request was rejected because an invalid or out-of-range value was supplied
-// for an input parameter.
-//
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteOpenIDConnectProvider
-func (c *IAM) DeleteOpenIDConnectProvider(input *DeleteOpenIDConnectProviderInput) (*DeleteOpenIDConnectProviderOutput, error) {
- req, out := c.DeleteOpenIDConnectProviderRequest(input)
- return out, req.Send()
-}
-
-// DeleteOpenIDConnectProviderWithContext is the same as DeleteOpenIDConnectProvider with the addition of
-// the ability to pass a context and additional request options.
-//
-// See DeleteOpenIDConnectProvider for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) DeleteOpenIDConnectProviderWithContext(ctx aws.Context, input *DeleteOpenIDConnectProviderInput, opts ...request.Option) (*DeleteOpenIDConnectProviderOutput, error) {
- req, out := c.DeleteOpenIDConnectProviderRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opDeletePolicy = "DeletePolicy"
-
-// DeletePolicyRequest generates a "aws/request.Request" representing the
-// client's request for the DeletePolicy operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See DeletePolicy for more information on using the DeletePolicy
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the DeletePolicyRequest method.
-// req, resp := client.DeletePolicyRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeletePolicy
-func (c *IAM) DeletePolicyRequest(input *DeletePolicyInput) (req *request.Request, output *DeletePolicyOutput) {
- op := &request.Operation{
- Name: opDeletePolicy,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &DeletePolicyInput{}
- }
-
- output = &DeletePolicyOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// DeletePolicy API operation for AWS Identity and Access Management.
-//
-// Deletes the specified managed policy.
-//
-// Before you can delete a managed policy, you must first detach the policy
-// from all users, groups, and roles that it is attached to. In addition, you
-// must delete all the policy's versions. The following steps describe the process
-// for deleting a managed policy:
-//
-// * Detach the policy from all users, groups, and roles that the policy
-// is attached to, using the DetachUserPolicy, DetachGroupPolicy, or DetachRolePolicy
-// API operations. To list all the users, groups, and roles that a policy
-// is attached to, use ListEntitiesForPolicy.
-//
-// * Delete all versions of the policy using DeletePolicyVersion. To list
-// the policy's versions, use ListPolicyVersions. You cannot use DeletePolicyVersion
-// to delete the version that is marked as the default version. You delete
-// the policy's default version in the next step of the process.
-//
-// * Delete the policy (this automatically deletes the policy's default version)
-// using this API.
-//
-// For information about managed 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.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation DeletePolicy for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeInvalidInputException "InvalidInput"
-// The request was rejected because an invalid or out-of-range value was supplied
-// for an input parameter.
-//
-// * ErrCodeDeleteConflictException "DeleteConflict"
-// The request was rejected because it attempted to delete a resource that has
-// attached subordinate entities. The error message describes these entities.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeletePolicy
-func (c *IAM) DeletePolicy(input *DeletePolicyInput) (*DeletePolicyOutput, error) {
- req, out := c.DeletePolicyRequest(input)
- return out, req.Send()
-}
-
-// DeletePolicyWithContext is the same as DeletePolicy with the addition of
-// the ability to pass a context and additional request options.
-//
-// See DeletePolicy for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) DeletePolicyWithContext(ctx aws.Context, input *DeletePolicyInput, opts ...request.Option) (*DeletePolicyOutput, error) {
- req, out := c.DeletePolicyRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opDeletePolicyVersion = "DeletePolicyVersion"
-
-// DeletePolicyVersionRequest generates a "aws/request.Request" representing the
-// client's request for the DeletePolicyVersion operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See DeletePolicyVersion for more information on using the DeletePolicyVersion
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the DeletePolicyVersionRequest method.
-// req, resp := client.DeletePolicyVersionRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeletePolicyVersion
-func (c *IAM) DeletePolicyVersionRequest(input *DeletePolicyVersionInput) (req *request.Request, output *DeletePolicyVersionOutput) {
- op := &request.Operation{
- Name: opDeletePolicyVersion,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &DeletePolicyVersionInput{}
- }
-
- output = &DeletePolicyVersionOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// DeletePolicyVersion API operation for AWS Identity and Access Management.
-//
-// Deletes the specified version from the specified managed policy.
-//
-// You cannot delete the default version from a policy using this API. To delete
-// the default version from a policy, use DeletePolicy. To find out which version
-// of a policy is marked as the default version, use ListPolicyVersions.
-//
-// For information about versions for managed policies, see Versioning for Managed
-// Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html)
-// in the IAM User Guide.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation DeletePolicyVersion for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeInvalidInputException "InvalidInput"
-// The request was rejected because an invalid or out-of-range value was supplied
-// for an input parameter.
-//
-// * ErrCodeDeleteConflictException "DeleteConflict"
-// The request was rejected because it attempted to delete a resource that has
-// attached subordinate entities. The error message describes these entities.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeletePolicyVersion
-func (c *IAM) DeletePolicyVersion(input *DeletePolicyVersionInput) (*DeletePolicyVersionOutput, error) {
- req, out := c.DeletePolicyVersionRequest(input)
- return out, req.Send()
-}
-
-// DeletePolicyVersionWithContext is the same as DeletePolicyVersion with the addition of
-// the ability to pass a context and additional request options.
-//
-// See DeletePolicyVersion for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) DeletePolicyVersionWithContext(ctx aws.Context, input *DeletePolicyVersionInput, opts ...request.Option) (*DeletePolicyVersionOutput, error) {
- req, out := c.DeletePolicyVersionRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opDeleteRole = "DeleteRole"
-
-// DeleteRoleRequest generates a "aws/request.Request" representing the
-// client's request for the DeleteRole operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See DeleteRole for more information on using the DeleteRole
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the DeleteRoleRequest method.
-// req, resp := client.DeleteRoleRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteRole
-func (c *IAM) DeleteRoleRequest(input *DeleteRoleInput) (req *request.Request, output *DeleteRoleOutput) {
- op := &request.Operation{
- Name: opDeleteRole,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &DeleteRoleInput{}
- }
-
- output = &DeleteRoleOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// DeleteRole API operation for AWS Identity and Access Management.
-//
-// Deletes the specified role. The role must not have any policies attached.
-// For more information about roles, go to Working with Roles (https://docs.aws.amazon.com/IAM/latest/UserGuide/WorkingWithRoles.html).
-//
-// Make sure that you do not have any Amazon EC2 instances running with the
-// role you are about to delete. Deleting a role or instance profile that is
-// associated with a running instance will break any applications running on
-// the instance.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation DeleteRole for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeDeleteConflictException "DeleteConflict"
-// The request was rejected because it attempted to delete a resource that has
-// attached subordinate entities. The error message describes these entities.
-//
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeUnmodifiableEntityException "UnmodifiableEntity"
-// The request was rejected because only the service that depends on the service-linked
-// role can modify or delete the role on your behalf. The error message includes
-// the name of the service that depends on this service-linked role. You must
-// request the change through that service.
-//
-// * ErrCodeConcurrentModificationException "ConcurrentModification"
-// The request was rejected because multiple requests to change this object
-// were submitted simultaneously. Wait a few minutes and submit your request
-// again.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteRole
-func (c *IAM) DeleteRole(input *DeleteRoleInput) (*DeleteRoleOutput, error) {
- req, out := c.DeleteRoleRequest(input)
- return out, req.Send()
-}
-
-// DeleteRoleWithContext is the same as DeleteRole with the addition of
-// the ability to pass a context and additional request options.
-//
-// See DeleteRole for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) DeleteRoleWithContext(ctx aws.Context, input *DeleteRoleInput, opts ...request.Option) (*DeleteRoleOutput, error) {
- req, out := c.DeleteRoleRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opDeleteRolePermissionsBoundary = "DeleteRolePermissionsBoundary"
-
-// DeleteRolePermissionsBoundaryRequest generates a "aws/request.Request" representing the
-// client's request for the DeleteRolePermissionsBoundary operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See DeleteRolePermissionsBoundary for more information on using the DeleteRolePermissionsBoundary
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the DeleteRolePermissionsBoundaryRequest method.
-// req, resp := client.DeleteRolePermissionsBoundaryRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteRolePermissionsBoundary
-func (c *IAM) DeleteRolePermissionsBoundaryRequest(input *DeleteRolePermissionsBoundaryInput) (req *request.Request, output *DeleteRolePermissionsBoundaryOutput) {
- op := &request.Operation{
- Name: opDeleteRolePermissionsBoundary,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &DeleteRolePermissionsBoundaryInput{}
- }
-
- output = &DeleteRolePermissionsBoundaryOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// DeleteRolePermissionsBoundary API operation for AWS Identity and Access Management.
-//
-// Deletes the permissions boundary for the specified IAM role.
-//
-// Deleting the permissions boundary for a role might increase its permissions.
-// For example, it might allow anyone who assumes the role to perform all the
-// actions granted in its permissions policies.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation DeleteRolePermissionsBoundary for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeUnmodifiableEntityException "UnmodifiableEntity"
-// The request was rejected because only the service that depends on the service-linked
-// role can modify or delete the role on your behalf. The error message includes
-// the name of the service that depends on this service-linked role. You must
-// request the change through that service.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteRolePermissionsBoundary
-func (c *IAM) DeleteRolePermissionsBoundary(input *DeleteRolePermissionsBoundaryInput) (*DeleteRolePermissionsBoundaryOutput, error) {
- req, out := c.DeleteRolePermissionsBoundaryRequest(input)
- return out, req.Send()
-}
-
-// DeleteRolePermissionsBoundaryWithContext is the same as DeleteRolePermissionsBoundary with the addition of
-// the ability to pass a context and additional request options.
-//
-// See DeleteRolePermissionsBoundary for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) DeleteRolePermissionsBoundaryWithContext(ctx aws.Context, input *DeleteRolePermissionsBoundaryInput, opts ...request.Option) (*DeleteRolePermissionsBoundaryOutput, error) {
- req, out := c.DeleteRolePermissionsBoundaryRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opDeleteRolePolicy = "DeleteRolePolicy"
-
-// DeleteRolePolicyRequest generates a "aws/request.Request" representing the
-// client's request for the DeleteRolePolicy operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See DeleteRolePolicy for more information on using the DeleteRolePolicy
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the DeleteRolePolicyRequest method.
-// req, resp := client.DeleteRolePolicyRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteRolePolicy
-func (c *IAM) DeleteRolePolicyRequest(input *DeleteRolePolicyInput) (req *request.Request, output *DeleteRolePolicyOutput) {
- op := &request.Operation{
- Name: opDeleteRolePolicy,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &DeleteRolePolicyInput{}
- }
-
- output = &DeleteRolePolicyOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// DeleteRolePolicy API operation for AWS Identity and Access Management.
-//
-// Deletes the specified inline policy that is embedded in the specified IAM
-// role.
-//
-// A role can also have managed policies attached to it. To detach a managed
-// policy from a role, use DetachRolePolicy. For more information about policies,
-// refer to Managed Policies and Inline Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
-// in the IAM User Guide.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation DeleteRolePolicy for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeUnmodifiableEntityException "UnmodifiableEntity"
-// The request was rejected because only the service that depends on the service-linked
-// role can modify or delete the role on your behalf. The error message includes
-// the name of the service that depends on this service-linked role. You must
-// request the change through that service.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteRolePolicy
-func (c *IAM) DeleteRolePolicy(input *DeleteRolePolicyInput) (*DeleteRolePolicyOutput, error) {
- req, out := c.DeleteRolePolicyRequest(input)
- return out, req.Send()
-}
-
-// DeleteRolePolicyWithContext is the same as DeleteRolePolicy with the addition of
-// the ability to pass a context and additional request options.
-//
-// See DeleteRolePolicy for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) DeleteRolePolicyWithContext(ctx aws.Context, input *DeleteRolePolicyInput, opts ...request.Option) (*DeleteRolePolicyOutput, error) {
- req, out := c.DeleteRolePolicyRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opDeleteSAMLProvider = "DeleteSAMLProvider"
-
-// DeleteSAMLProviderRequest generates a "aws/request.Request" representing the
-// client's request for the DeleteSAMLProvider operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See DeleteSAMLProvider for more information on using the DeleteSAMLProvider
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the DeleteSAMLProviderRequest method.
-// req, resp := client.DeleteSAMLProviderRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteSAMLProvider
-func (c *IAM) DeleteSAMLProviderRequest(input *DeleteSAMLProviderInput) (req *request.Request, output *DeleteSAMLProviderOutput) {
- op := &request.Operation{
- Name: opDeleteSAMLProvider,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &DeleteSAMLProviderInput{}
- }
-
- output = &DeleteSAMLProviderOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// DeleteSAMLProvider API operation for AWS Identity and Access Management.
-//
-// Deletes a SAML provider resource in IAM.
-//
-// Deleting the provider resource from IAM does not update any roles that reference
-// the SAML provider resource's ARN as a principal in their trust policies.
-// Any attempt to assume a role that references a non-existent provider resource
-// ARN fails.
-//
-// This operation requires Signature Version 4 (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation DeleteSAMLProvider for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeInvalidInputException "InvalidInput"
-// The request was rejected because an invalid or out-of-range value was supplied
-// for an input parameter.
-//
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteSAMLProvider
-func (c *IAM) DeleteSAMLProvider(input *DeleteSAMLProviderInput) (*DeleteSAMLProviderOutput, error) {
- req, out := c.DeleteSAMLProviderRequest(input)
- return out, req.Send()
-}
-
-// DeleteSAMLProviderWithContext is the same as DeleteSAMLProvider with the addition of
-// the ability to pass a context and additional request options.
-//
-// See DeleteSAMLProvider for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) DeleteSAMLProviderWithContext(ctx aws.Context, input *DeleteSAMLProviderInput, opts ...request.Option) (*DeleteSAMLProviderOutput, error) {
- req, out := c.DeleteSAMLProviderRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opDeleteSSHPublicKey = "DeleteSSHPublicKey"
-
-// DeleteSSHPublicKeyRequest generates a "aws/request.Request" representing the
-// client's request for the DeleteSSHPublicKey operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See DeleteSSHPublicKey for more information on using the DeleteSSHPublicKey
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the DeleteSSHPublicKeyRequest method.
-// req, resp := client.DeleteSSHPublicKeyRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteSSHPublicKey
-func (c *IAM) DeleteSSHPublicKeyRequest(input *DeleteSSHPublicKeyInput) (req *request.Request, output *DeleteSSHPublicKeyOutput) {
- op := &request.Operation{
- Name: opDeleteSSHPublicKey,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &DeleteSSHPublicKeyInput{}
- }
-
- output = &DeleteSSHPublicKeyOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// DeleteSSHPublicKey API operation for AWS Identity and Access Management.
-//
-// Deletes the specified SSH public key.
-//
-// The SSH public key deleted by this operation is used only for authenticating
-// the associated IAM user to an AWS CodeCommit repository. For more information
-// about using SSH keys to authenticate to an AWS CodeCommit repository, see
-// Set up AWS CodeCommit for SSH Connections (https://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-credentials-ssh.html)
-// in the AWS CodeCommit User Guide.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation DeleteSSHPublicKey for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteSSHPublicKey
-func (c *IAM) DeleteSSHPublicKey(input *DeleteSSHPublicKeyInput) (*DeleteSSHPublicKeyOutput, error) {
- req, out := c.DeleteSSHPublicKeyRequest(input)
- return out, req.Send()
-}
-
-// DeleteSSHPublicKeyWithContext is the same as DeleteSSHPublicKey with the addition of
-// the ability to pass a context and additional request options.
-//
-// See DeleteSSHPublicKey for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) DeleteSSHPublicKeyWithContext(ctx aws.Context, input *DeleteSSHPublicKeyInput, opts ...request.Option) (*DeleteSSHPublicKeyOutput, error) {
- req, out := c.DeleteSSHPublicKeyRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opDeleteServerCertificate = "DeleteServerCertificate"
-
-// DeleteServerCertificateRequest generates a "aws/request.Request" representing the
-// client's request for the DeleteServerCertificate operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See DeleteServerCertificate for more information on using the DeleteServerCertificate
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the DeleteServerCertificateRequest method.
-// req, resp := client.DeleteServerCertificateRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteServerCertificate
-func (c *IAM) DeleteServerCertificateRequest(input *DeleteServerCertificateInput) (req *request.Request, output *DeleteServerCertificateOutput) {
- op := &request.Operation{
- Name: opDeleteServerCertificate,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &DeleteServerCertificateInput{}
- }
-
- output = &DeleteServerCertificateOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// DeleteServerCertificate API operation for AWS Identity and Access Management.
-//
-// Deletes the specified server certificate.
-//
-// For more information about working with server certificates, see Working
-// with Server Certificates (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_server-certs.html)
-// in the IAM User Guide. This topic also includes a list of AWS services that
-// can use the server certificates that you manage with IAM.
-//
-// If you are using a server certificate with Elastic Load Balancing, deleting
-// the certificate could have implications for your application. If Elastic
-// Load Balancing doesn't detect the deletion of bound certificates, it may
-// continue to use the certificates. This could cause Elastic Load Balancing
-// to stop accepting traffic. We recommend that you remove the reference to
-// the certificate from Elastic Load Balancing before using this command to
-// delete the certificate. For more information, go to DeleteLoadBalancerListeners
-// (https://docs.aws.amazon.com/ElasticLoadBalancing/latest/APIReference/API_DeleteLoadBalancerListeners.html)
-// in the Elastic Load Balancing API Reference.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation DeleteServerCertificate for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeDeleteConflictException "DeleteConflict"
-// The request was rejected because it attempted to delete a resource that has
-// attached subordinate entities. The error message describes these entities.
-//
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteServerCertificate
-func (c *IAM) DeleteServerCertificate(input *DeleteServerCertificateInput) (*DeleteServerCertificateOutput, error) {
- req, out := c.DeleteServerCertificateRequest(input)
- return out, req.Send()
-}
-
-// DeleteServerCertificateWithContext is the same as DeleteServerCertificate with the addition of
-// the ability to pass a context and additional request options.
-//
-// See DeleteServerCertificate for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) DeleteServerCertificateWithContext(ctx aws.Context, input *DeleteServerCertificateInput, opts ...request.Option) (*DeleteServerCertificateOutput, error) {
- req, out := c.DeleteServerCertificateRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opDeleteServiceLinkedRole = "DeleteServiceLinkedRole"
-
-// DeleteServiceLinkedRoleRequest generates a "aws/request.Request" representing the
-// client's request for the DeleteServiceLinkedRole operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See DeleteServiceLinkedRole for more information on using the DeleteServiceLinkedRole
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the DeleteServiceLinkedRoleRequest method.
-// req, resp := client.DeleteServiceLinkedRoleRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteServiceLinkedRole
-func (c *IAM) DeleteServiceLinkedRoleRequest(input *DeleteServiceLinkedRoleInput) (req *request.Request, output *DeleteServiceLinkedRoleOutput) {
- op := &request.Operation{
- Name: opDeleteServiceLinkedRole,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &DeleteServiceLinkedRoleInput{}
- }
-
- output = &DeleteServiceLinkedRoleOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// DeleteServiceLinkedRole API operation for AWS Identity and Access Management.
-//
-// Submits a service-linked role deletion request and returns a DeletionTaskId,
-// which you can use to check the status of the deletion. Before you call this
-// operation, confirm that the role has no active sessions and that any resources
-// used by the role in the linked service are deleted. If you call this operation
-// more than once for the same service-linked role and an earlier deletion task
-// is not complete, then the DeletionTaskId of the earlier request is returned.
-//
-// If you submit a deletion request for a service-linked role whose linked service
-// is still accessing a resource, then the deletion task fails. If it fails,
-// the GetServiceLinkedRoleDeletionStatus API operation returns the reason for
-// the failure, usually including the resources that must be deleted. To delete
-// the service-linked role, you must first remove those resources from the linked
-// service and then submit the deletion request again. Resources are specific
-// to the service that is linked to the role. For more information about removing
-// resources from a service, see the AWS documentation (http://docs.aws.amazon.com/)
-// for your service.
-//
-// For more information about service-linked roles, see Roles Terms and Concepts:
-// AWS Service-Linked Role (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role)
-// in the IAM User Guide.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation DeleteServiceLinkedRole for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteServiceLinkedRole
-func (c *IAM) DeleteServiceLinkedRole(input *DeleteServiceLinkedRoleInput) (*DeleteServiceLinkedRoleOutput, error) {
- req, out := c.DeleteServiceLinkedRoleRequest(input)
- return out, req.Send()
-}
-
-// DeleteServiceLinkedRoleWithContext is the same as DeleteServiceLinkedRole with the addition of
-// the ability to pass a context and additional request options.
-//
-// See DeleteServiceLinkedRole for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) DeleteServiceLinkedRoleWithContext(ctx aws.Context, input *DeleteServiceLinkedRoleInput, opts ...request.Option) (*DeleteServiceLinkedRoleOutput, error) {
- req, out := c.DeleteServiceLinkedRoleRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opDeleteServiceSpecificCredential = "DeleteServiceSpecificCredential"
-
-// DeleteServiceSpecificCredentialRequest generates a "aws/request.Request" representing the
-// client's request for the DeleteServiceSpecificCredential operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See DeleteServiceSpecificCredential for more information on using the DeleteServiceSpecificCredential
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the DeleteServiceSpecificCredentialRequest method.
-// req, resp := client.DeleteServiceSpecificCredentialRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteServiceSpecificCredential
-func (c *IAM) DeleteServiceSpecificCredentialRequest(input *DeleteServiceSpecificCredentialInput) (req *request.Request, output *DeleteServiceSpecificCredentialOutput) {
- op := &request.Operation{
- Name: opDeleteServiceSpecificCredential,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &DeleteServiceSpecificCredentialInput{}
- }
-
- output = &DeleteServiceSpecificCredentialOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// DeleteServiceSpecificCredential API operation for AWS Identity and Access Management.
-//
-// Deletes the specified service-specific credential.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation DeleteServiceSpecificCredential for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteServiceSpecificCredential
-func (c *IAM) DeleteServiceSpecificCredential(input *DeleteServiceSpecificCredentialInput) (*DeleteServiceSpecificCredentialOutput, error) {
- req, out := c.DeleteServiceSpecificCredentialRequest(input)
- return out, req.Send()
-}
-
-// DeleteServiceSpecificCredentialWithContext is the same as DeleteServiceSpecificCredential with the addition of
-// the ability to pass a context and additional request options.
-//
-// See DeleteServiceSpecificCredential for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) DeleteServiceSpecificCredentialWithContext(ctx aws.Context, input *DeleteServiceSpecificCredentialInput, opts ...request.Option) (*DeleteServiceSpecificCredentialOutput, error) {
- req, out := c.DeleteServiceSpecificCredentialRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opDeleteSigningCertificate = "DeleteSigningCertificate"
-
-// DeleteSigningCertificateRequest generates a "aws/request.Request" representing the
-// client's request for the DeleteSigningCertificate operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See DeleteSigningCertificate for more information on using the DeleteSigningCertificate
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the DeleteSigningCertificateRequest method.
-// req, resp := client.DeleteSigningCertificateRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteSigningCertificate
-func (c *IAM) DeleteSigningCertificateRequest(input *DeleteSigningCertificateInput) (req *request.Request, output *DeleteSigningCertificateOutput) {
- op := &request.Operation{
- Name: opDeleteSigningCertificate,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &DeleteSigningCertificateInput{}
- }
-
- output = &DeleteSigningCertificateOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// DeleteSigningCertificate API operation for AWS Identity and Access Management.
-//
-// Deletes a signing certificate associated with the specified IAM user.
-//
-// If you do not specify a user name, IAM determines the user name implicitly
-// based on the AWS access key ID signing the request. This operation works
-// for access keys under the AWS account. Consequently, you can use this operation
-// to manage AWS account root user credentials even if the AWS account has no
-// associated IAM users.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation DeleteSigningCertificate for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteSigningCertificate
-func (c *IAM) DeleteSigningCertificate(input *DeleteSigningCertificateInput) (*DeleteSigningCertificateOutput, error) {
- req, out := c.DeleteSigningCertificateRequest(input)
- return out, req.Send()
-}
-
-// DeleteSigningCertificateWithContext is the same as DeleteSigningCertificate with the addition of
-// the ability to pass a context and additional request options.
-//
-// See DeleteSigningCertificate for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) DeleteSigningCertificateWithContext(ctx aws.Context, input *DeleteSigningCertificateInput, opts ...request.Option) (*DeleteSigningCertificateOutput, error) {
- req, out := c.DeleteSigningCertificateRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opDeleteUser = "DeleteUser"
-
-// DeleteUserRequest generates a "aws/request.Request" representing the
-// client's request for the DeleteUser operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See DeleteUser for more information on using the DeleteUser
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the DeleteUserRequest method.
-// req, resp := client.DeleteUserRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteUser
-func (c *IAM) DeleteUserRequest(input *DeleteUserInput) (req *request.Request, output *DeleteUserOutput) {
- op := &request.Operation{
- Name: opDeleteUser,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &DeleteUserInput{}
- }
-
- output = &DeleteUserOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// DeleteUser API operation for AWS Identity and Access Management.
-//
-// Deletes the specified IAM user. Unlike the AWS Management Console, when you
-// delete a user programmatically, you must delete the items attached to the
-// user manually, or the deletion fails. For more information, see Deleting
-// an IAM User (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_manage.html#id_users_deleting_cli).
-// Before attempting to delete a user, remove the following items:
-//
-// * Password (DeleteLoginProfile)
-//
-// * Access keys (DeleteAccessKey)
-//
-// * Signing certificate (DeleteSigningCertificate)
-//
-// * SSH public key (DeleteSSHPublicKey)
-//
-// * Git credentials (DeleteServiceSpecificCredential)
-//
-// * Multi-factor authentication (MFA) device (DeactivateMFADevice, DeleteVirtualMFADevice)
-//
-// * Inline policies (DeleteUserPolicy)
-//
-// * Attached managed policies (DetachUserPolicy)
-//
-// * Group memberships (RemoveUserFromGroup)
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation DeleteUser for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeDeleteConflictException "DeleteConflict"
-// The request was rejected because it attempted to delete a resource that has
-// attached subordinate entities. The error message describes these entities.
-//
-// * ErrCodeConcurrentModificationException "ConcurrentModification"
-// The request was rejected because multiple requests to change this object
-// were submitted simultaneously. Wait a few minutes and submit your request
-// again.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteUser
-func (c *IAM) DeleteUser(input *DeleteUserInput) (*DeleteUserOutput, error) {
- req, out := c.DeleteUserRequest(input)
- return out, req.Send()
-}
-
-// DeleteUserWithContext is the same as DeleteUser with the addition of
-// the ability to pass a context and additional request options.
-//
-// See DeleteUser for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) DeleteUserWithContext(ctx aws.Context, input *DeleteUserInput, opts ...request.Option) (*DeleteUserOutput, error) {
- req, out := c.DeleteUserRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opDeleteUserPermissionsBoundary = "DeleteUserPermissionsBoundary"
-
-// DeleteUserPermissionsBoundaryRequest generates a "aws/request.Request" representing the
-// client's request for the DeleteUserPermissionsBoundary operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See DeleteUserPermissionsBoundary for more information on using the DeleteUserPermissionsBoundary
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the DeleteUserPermissionsBoundaryRequest method.
-// req, resp := client.DeleteUserPermissionsBoundaryRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteUserPermissionsBoundary
-func (c *IAM) DeleteUserPermissionsBoundaryRequest(input *DeleteUserPermissionsBoundaryInput) (req *request.Request, output *DeleteUserPermissionsBoundaryOutput) {
- op := &request.Operation{
- Name: opDeleteUserPermissionsBoundary,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &DeleteUserPermissionsBoundaryInput{}
- }
-
- output = &DeleteUserPermissionsBoundaryOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// DeleteUserPermissionsBoundary API operation for AWS Identity and Access Management.
-//
-// Deletes the permissions boundary for the specified IAM user.
-//
-// Deleting the permissions boundary for a user might increase its permissions
-// by allowing the user to perform all the actions granted in its permissions
-// policies.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation DeleteUserPermissionsBoundary for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteUserPermissionsBoundary
-func (c *IAM) DeleteUserPermissionsBoundary(input *DeleteUserPermissionsBoundaryInput) (*DeleteUserPermissionsBoundaryOutput, error) {
- req, out := c.DeleteUserPermissionsBoundaryRequest(input)
- return out, req.Send()
-}
-
-// DeleteUserPermissionsBoundaryWithContext is the same as DeleteUserPermissionsBoundary with the addition of
-// the ability to pass a context and additional request options.
-//
-// See DeleteUserPermissionsBoundary for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) DeleteUserPermissionsBoundaryWithContext(ctx aws.Context, input *DeleteUserPermissionsBoundaryInput, opts ...request.Option) (*DeleteUserPermissionsBoundaryOutput, error) {
- req, out := c.DeleteUserPermissionsBoundaryRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opDeleteUserPolicy = "DeleteUserPolicy"
-
-// DeleteUserPolicyRequest generates a "aws/request.Request" representing the
-// client's request for the DeleteUserPolicy operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See DeleteUserPolicy for more information on using the DeleteUserPolicy
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the DeleteUserPolicyRequest method.
-// req, resp := client.DeleteUserPolicyRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteUserPolicy
-func (c *IAM) DeleteUserPolicyRequest(input *DeleteUserPolicyInput) (req *request.Request, output *DeleteUserPolicyOutput) {
- op := &request.Operation{
- Name: opDeleteUserPolicy,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &DeleteUserPolicyInput{}
- }
-
- output = &DeleteUserPolicyOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// DeleteUserPolicy API operation for AWS Identity and Access Management.
-//
-// Deletes the specified inline policy that is embedded in the specified IAM
-// user.
-//
-// A user can also have managed policies attached to it. To detach a managed
-// policy from a user, use DetachUserPolicy. For more information about policies,
-// refer to Managed Policies and Inline Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
-// in the IAM User Guide.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation DeleteUserPolicy for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteUserPolicy
-func (c *IAM) DeleteUserPolicy(input *DeleteUserPolicyInput) (*DeleteUserPolicyOutput, error) {
- req, out := c.DeleteUserPolicyRequest(input)
- return out, req.Send()
-}
-
-// DeleteUserPolicyWithContext is the same as DeleteUserPolicy with the addition of
-// the ability to pass a context and additional request options.
-//
-// See DeleteUserPolicy for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) DeleteUserPolicyWithContext(ctx aws.Context, input *DeleteUserPolicyInput, opts ...request.Option) (*DeleteUserPolicyOutput, error) {
- req, out := c.DeleteUserPolicyRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opDeleteVirtualMFADevice = "DeleteVirtualMFADevice"
-
-// DeleteVirtualMFADeviceRequest generates a "aws/request.Request" representing the
-// client's request for the DeleteVirtualMFADevice operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See DeleteVirtualMFADevice for more information on using the DeleteVirtualMFADevice
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the DeleteVirtualMFADeviceRequest method.
-// req, resp := client.DeleteVirtualMFADeviceRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteVirtualMFADevice
-func (c *IAM) DeleteVirtualMFADeviceRequest(input *DeleteVirtualMFADeviceInput) (req *request.Request, output *DeleteVirtualMFADeviceOutput) {
- op := &request.Operation{
- Name: opDeleteVirtualMFADevice,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &DeleteVirtualMFADeviceInput{}
- }
-
- output = &DeleteVirtualMFADeviceOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// DeleteVirtualMFADevice API operation for AWS Identity and Access Management.
-//
-// Deletes a virtual MFA device.
-//
-// You must deactivate a user's virtual MFA device before you can delete it.
-// For information about deactivating MFA devices, see DeactivateMFADevice.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation DeleteVirtualMFADevice for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeDeleteConflictException "DeleteConflict"
-// The request was rejected because it attempted to delete a resource that has
-// attached subordinate entities. The error message describes these entities.
-//
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteVirtualMFADevice
-func (c *IAM) DeleteVirtualMFADevice(input *DeleteVirtualMFADeviceInput) (*DeleteVirtualMFADeviceOutput, error) {
- req, out := c.DeleteVirtualMFADeviceRequest(input)
- return out, req.Send()
-}
-
-// DeleteVirtualMFADeviceWithContext is the same as DeleteVirtualMFADevice with the addition of
-// the ability to pass a context and additional request options.
-//
-// See DeleteVirtualMFADevice for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) DeleteVirtualMFADeviceWithContext(ctx aws.Context, input *DeleteVirtualMFADeviceInput, opts ...request.Option) (*DeleteVirtualMFADeviceOutput, error) {
- req, out := c.DeleteVirtualMFADeviceRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opDetachGroupPolicy = "DetachGroupPolicy"
-
-// DetachGroupPolicyRequest generates a "aws/request.Request" representing the
-// client's request for the DetachGroupPolicy operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See DetachGroupPolicy for more information on using the DetachGroupPolicy
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the DetachGroupPolicyRequest method.
-// req, resp := client.DetachGroupPolicyRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DetachGroupPolicy
-func (c *IAM) DetachGroupPolicyRequest(input *DetachGroupPolicyInput) (req *request.Request, output *DetachGroupPolicyOutput) {
- op := &request.Operation{
- Name: opDetachGroupPolicy,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &DetachGroupPolicyInput{}
- }
-
- output = &DetachGroupPolicyOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// DetachGroupPolicy API operation for AWS Identity and Access Management.
-//
-// Removes the specified managed policy from the specified IAM group.
-//
-// A group can also have inline policies embedded with it. To delete an inline
-// policy, use the DeleteGroupPolicy API. For 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.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation DetachGroupPolicy for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeInvalidInputException "InvalidInput"
-// The request was rejected because an invalid or out-of-range value was supplied
-// for an input parameter.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DetachGroupPolicy
-func (c *IAM) DetachGroupPolicy(input *DetachGroupPolicyInput) (*DetachGroupPolicyOutput, error) {
- req, out := c.DetachGroupPolicyRequest(input)
- return out, req.Send()
-}
-
-// DetachGroupPolicyWithContext is the same as DetachGroupPolicy with the addition of
-// the ability to pass a context and additional request options.
-//
-// See DetachGroupPolicy for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) DetachGroupPolicyWithContext(ctx aws.Context, input *DetachGroupPolicyInput, opts ...request.Option) (*DetachGroupPolicyOutput, error) {
- req, out := c.DetachGroupPolicyRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opDetachRolePolicy = "DetachRolePolicy"
-
-// DetachRolePolicyRequest generates a "aws/request.Request" representing the
-// client's request for the DetachRolePolicy operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See DetachRolePolicy for more information on using the DetachRolePolicy
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the DetachRolePolicyRequest method.
-// req, resp := client.DetachRolePolicyRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DetachRolePolicy
-func (c *IAM) DetachRolePolicyRequest(input *DetachRolePolicyInput) (req *request.Request, output *DetachRolePolicyOutput) {
- op := &request.Operation{
- Name: opDetachRolePolicy,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &DetachRolePolicyInput{}
- }
-
- output = &DetachRolePolicyOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// DetachRolePolicy API operation for AWS Identity and Access Management.
-//
-// Removes the specified managed policy from the specified role.
-//
-// A role can also have inline policies embedded with it. To delete an inline
-// policy, use the DeleteRolePolicy API. For 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.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation DetachRolePolicy for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeInvalidInputException "InvalidInput"
-// The request was rejected because an invalid or out-of-range value was supplied
-// for an input parameter.
-//
-// * ErrCodeUnmodifiableEntityException "UnmodifiableEntity"
-// The request was rejected because only the service that depends on the service-linked
-// role can modify or delete the role on your behalf. The error message includes
-// the name of the service that depends on this service-linked role. You must
-// request the change through that service.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DetachRolePolicy
-func (c *IAM) DetachRolePolicy(input *DetachRolePolicyInput) (*DetachRolePolicyOutput, error) {
- req, out := c.DetachRolePolicyRequest(input)
- return out, req.Send()
-}
-
-// DetachRolePolicyWithContext is the same as DetachRolePolicy with the addition of
-// the ability to pass a context and additional request options.
-//
-// See DetachRolePolicy for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) DetachRolePolicyWithContext(ctx aws.Context, input *DetachRolePolicyInput, opts ...request.Option) (*DetachRolePolicyOutput, error) {
- req, out := c.DetachRolePolicyRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opDetachUserPolicy = "DetachUserPolicy"
-
-// DetachUserPolicyRequest generates a "aws/request.Request" representing the
-// client's request for the DetachUserPolicy operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See DetachUserPolicy for more information on using the DetachUserPolicy
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the DetachUserPolicyRequest method.
-// req, resp := client.DetachUserPolicyRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DetachUserPolicy
-func (c *IAM) DetachUserPolicyRequest(input *DetachUserPolicyInput) (req *request.Request, output *DetachUserPolicyOutput) {
- op := &request.Operation{
- Name: opDetachUserPolicy,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &DetachUserPolicyInput{}
- }
-
- output = &DetachUserPolicyOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// DetachUserPolicy API operation for AWS Identity and Access Management.
-//
-// Removes the specified managed policy from the specified user.
-//
-// A user can also have inline policies embedded with it. To delete an inline
-// policy, use the DeleteUserPolicy API. For 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.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation DetachUserPolicy for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeInvalidInputException "InvalidInput"
-// The request was rejected because an invalid or out-of-range value was supplied
-// for an input parameter.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DetachUserPolicy
-func (c *IAM) DetachUserPolicy(input *DetachUserPolicyInput) (*DetachUserPolicyOutput, error) {
- req, out := c.DetachUserPolicyRequest(input)
- return out, req.Send()
-}
-
-// DetachUserPolicyWithContext is the same as DetachUserPolicy with the addition of
-// the ability to pass a context and additional request options.
-//
-// See DetachUserPolicy for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) DetachUserPolicyWithContext(ctx aws.Context, input *DetachUserPolicyInput, opts ...request.Option) (*DetachUserPolicyOutput, error) {
- req, out := c.DetachUserPolicyRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opEnableMFADevice = "EnableMFADevice"
-
-// EnableMFADeviceRequest generates a "aws/request.Request" representing the
-// client's request for the EnableMFADevice operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See EnableMFADevice for more information on using the EnableMFADevice
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the EnableMFADeviceRequest method.
-// req, resp := client.EnableMFADeviceRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/EnableMFADevice
-func (c *IAM) EnableMFADeviceRequest(input *EnableMFADeviceInput) (req *request.Request, output *EnableMFADeviceOutput) {
- op := &request.Operation{
- Name: opEnableMFADevice,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &EnableMFADeviceInput{}
- }
-
- output = &EnableMFADeviceOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// EnableMFADevice API operation for AWS Identity and Access Management.
-//
-// Enables the specified MFA device and associates it with the specified IAM
-// user. When enabled, the MFA device is required for every subsequent login
-// by the IAM user associated with the device.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation EnableMFADevice for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeEntityAlreadyExistsException "EntityAlreadyExists"
-// The request was rejected because it attempted to create a resource that already
-// exists.
-//
-// * ErrCodeEntityTemporarilyUnmodifiableException "EntityTemporarilyUnmodifiable"
-// The request was rejected because it referenced an entity that is temporarily
-// unmodifiable, such as a user name that was deleted and then recreated. The
-// error indicates that the request is likely to succeed if you try again after
-// waiting several minutes. The error message describes the entity.
-//
-// * ErrCodeInvalidAuthenticationCodeException "InvalidAuthenticationCode"
-// The request was rejected because the authentication code was not recognized.
-// The error message describes the specific error.
-//
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/EnableMFADevice
-func (c *IAM) EnableMFADevice(input *EnableMFADeviceInput) (*EnableMFADeviceOutput, error) {
- req, out := c.EnableMFADeviceRequest(input)
- return out, req.Send()
-}
-
-// EnableMFADeviceWithContext is the same as EnableMFADevice with the addition of
-// the ability to pass a context and additional request options.
-//
-// See EnableMFADevice for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) EnableMFADeviceWithContext(ctx aws.Context, input *EnableMFADeviceInput, opts ...request.Option) (*EnableMFADeviceOutput, error) {
- req, out := c.EnableMFADeviceRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opGenerateCredentialReport = "GenerateCredentialReport"
-
-// GenerateCredentialReportRequest generates a "aws/request.Request" representing the
-// client's request for the GenerateCredentialReport operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See GenerateCredentialReport for more information on using the GenerateCredentialReport
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the GenerateCredentialReportRequest method.
-// req, resp := client.GenerateCredentialReportRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GenerateCredentialReport
-func (c *IAM) GenerateCredentialReportRequest(input *GenerateCredentialReportInput) (req *request.Request, output *GenerateCredentialReportOutput) {
- op := &request.Operation{
- Name: opGenerateCredentialReport,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &GenerateCredentialReportInput{}
- }
-
- output = &GenerateCredentialReportOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// GenerateCredentialReport API operation for AWS Identity and Access Management.
-//
-// Generates a credential report for the AWS account. For more information about
-// the credential report, see Getting Credential Reports (https://docs.aws.amazon.com/IAM/latest/UserGuide/credential-reports.html)
-// in the IAM User Guide.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation GenerateCredentialReport for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GenerateCredentialReport
-func (c *IAM) GenerateCredentialReport(input *GenerateCredentialReportInput) (*GenerateCredentialReportOutput, error) {
- req, out := c.GenerateCredentialReportRequest(input)
- return out, req.Send()
-}
-
-// GenerateCredentialReportWithContext is the same as GenerateCredentialReport with the addition of
-// the ability to pass a context and additional request options.
-//
-// See GenerateCredentialReport for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) GenerateCredentialReportWithContext(ctx aws.Context, input *GenerateCredentialReportInput, opts ...request.Option) (*GenerateCredentialReportOutput, error) {
- req, out := c.GenerateCredentialReportRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opGenerateOrganizationsAccessReport = "GenerateOrganizationsAccessReport"
-
-// GenerateOrganizationsAccessReportRequest generates a "aws/request.Request" representing the
-// client's request for the GenerateOrganizationsAccessReport operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See GenerateOrganizationsAccessReport for more information on using the GenerateOrganizationsAccessReport
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the GenerateOrganizationsAccessReportRequest method.
-// req, resp := client.GenerateOrganizationsAccessReportRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GenerateOrganizationsAccessReport
-func (c *IAM) GenerateOrganizationsAccessReportRequest(input *GenerateOrganizationsAccessReportInput) (req *request.Request, output *GenerateOrganizationsAccessReportOutput) {
- op := &request.Operation{
- Name: opGenerateOrganizationsAccessReport,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &GenerateOrganizationsAccessReportInput{}
- }
-
- output = &GenerateOrganizationsAccessReportOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// GenerateOrganizationsAccessReport API operation for AWS Identity and Access Management.
-//
-// Generates a report for service last accessed data for AWS Organizations.
-// You can generate a report for any entities (organization root, organizational
-// unit, or account) or policies in your organization.
-//
-// To call this operation, you must be signed in using your AWS Organizations
-// master account credentials. You can use your long-term IAM user or root user
-// credentials, or temporary credentials from assuming an IAM role. SCPs must
-// be enabled for your organization root. You must have the required IAM and
-// AWS Organizations permissions. For more information, see Refining Permissions
-// Using Service Last Accessed Data (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_access-advisor.html)
-// in the IAM User Guide.
-//
-// You can generate a service last accessed data report for entities by specifying
-// only the entity's path. This data includes a list of services that are allowed
-// by any service control policies (SCPs) that apply to the entity.
-//
-// You can generate a service last accessed data report for a policy by specifying
-// an entity's path and an optional AWS Organizations policy ID. This data includes
-// a list of services that are allowed by the specified SCP.
-//
-// For each service in both report types, the data includes the most recent
-// account activity that the policy allows to account principals in the entity
-// or the entity's children. For important information about the data, reporting
-// period, permissions required, troubleshooting, and supported Regions see
-// Reducing Permissions Using Service Last Accessed Data (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_access-advisor.html)
-// in the IAM User Guide.
-//
-// The data includes all attempts to access AWS, not just the successful ones.
-// This includes all attempts that were made using the AWS Management Console,
-// the AWS API through any of the SDKs, or any of the command line tools. An
-// unexpected entry in the service last accessed data does not mean that an
-// account has been compromised, because the request might have been denied.
-// Refer to your CloudTrail logs as the authoritative source for information
-// about all API calls and whether they were successful or denied access. For
-// more information, see Logging IAM Events with CloudTrail (https://docs.aws.amazon.com/IAM/latest/UserGuide/cloudtrail-integration.html)
-// in the IAM User Guide.
-//
-// This operation returns a JobId. Use this parameter in the GetOrganizationsAccessReport
-// operation to check the status of the report generation. To check the status
-// of this request, use the JobId parameter in the GetOrganizationsAccessReport
-// operation and test the JobStatus response parameter. When the job is complete,
-// you can retrieve the report.
-//
-// To generate a service last accessed data report for entities, specify an
-// entity path without specifying the optional AWS Organizations policy ID.
-// The type of entity that you specify determines the data returned in the report.
-//
-// * Root – When you specify the organizations root as the entity, the
-// resulting report lists all of the services allowed by SCPs that are attached
-// to your root. For each service, the report includes data for all accounts
-// in your organization except the master account, because the master account
-// is not limited by SCPs.
-//
-// * OU – When you specify an organizational unit (OU) as the entity, the
-// resulting report lists all of the services allowed by SCPs that are attached
-// to the OU and its parents. For each service, the report includes data
-// for all accounts in the OU or its children. This data excludes the master
-// account, because the master account is not limited by SCPs.
-//
-// * Master account – When you specify the master account, the resulting
-// report lists all AWS services, because the master account is not limited
-// by SCPs. For each service, the report includes data for only the master
-// account.
-//
-// * Account – When you specify another account as the entity, the resulting
-// report lists all of the services allowed by SCPs that are attached to
-// the account and its parents. For each service, the report includes data
-// for only the specified account.
-//
-// To generate a service last accessed data report for policies, specify an
-// entity path and the optional AWS Organizations policy ID. The type of entity
-// that you specify determines the data returned for each service.
-//
-// * Root – When you specify the root entity and a policy ID, the resulting
-// report lists all of the services that are allowed by the specified SCP.
-// For each service, the report includes data for all accounts in your organization
-// to which the SCP applies. This data excludes the master account, because
-// the master account is not limited by SCPs. If the SCP is not attached
-// to any entities in the organization, then the report will return a list
-// of services with no data.
-//
-// * OU – When you specify an OU entity and a policy ID, the resulting
-// report lists all of the services that are allowed by the specified SCP.
-// For each service, the report includes data for all accounts in the OU
-// or its children to which the SCP applies. This means that other accounts
-// outside the OU that are affected by the SCP might not be included in the
-// data. This data excludes the master account, because the master account
-// is not limited by SCPs. If the SCP is not attached to the OU or one of
-// its children, the report will return a list of services with no data.
-//
-// * Master account – When you specify the master account, the resulting
-// report lists all AWS services, because the master account is not limited
-// by SCPs. If you specify a policy ID in the CLI or API, the policy is ignored.
-// For each service, the report includes data for only the master account.
-//
-// * Account – When you specify another account entity and a policy ID,
-// the resulting report lists all of the services that are allowed by the
-// specified SCP. For each service, the report includes data for only the
-// specified account. This means that other accounts in the organization
-// that are affected by the SCP might not be included in the data. If the
-// SCP is not attached to the account, the report will return a list of services
-// with no data.
-//
-// Service last accessed data does not use other policy types when determining
-// whether a principal could access a service. These other policy types include
-// identity-based policies, resource-based policies, access control lists, IAM
-// permissions boundaries, and STS assume role policies. It only applies SCP
-// logic. For more about the evaluation of policy types, see Evaluating Policies
-// (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html#policy-eval-basics)
-// in the IAM User Guide.
-//
-// For more information about service last accessed data, see Reducing Policy
-// Scope by Viewing User Activity (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_access-advisor.html)
-// in the IAM User Guide.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation GenerateOrganizationsAccessReport for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeReportGenerationLimitExceededException "ReportGenerationLimitExceeded"
-// The request failed because the maximum number of concurrent requests for
-// this account are already running.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GenerateOrganizationsAccessReport
-func (c *IAM) GenerateOrganizationsAccessReport(input *GenerateOrganizationsAccessReportInput) (*GenerateOrganizationsAccessReportOutput, error) {
- req, out := c.GenerateOrganizationsAccessReportRequest(input)
- return out, req.Send()
-}
-
-// GenerateOrganizationsAccessReportWithContext is the same as GenerateOrganizationsAccessReport with the addition of
-// the ability to pass a context and additional request options.
-//
-// See GenerateOrganizationsAccessReport for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) GenerateOrganizationsAccessReportWithContext(ctx aws.Context, input *GenerateOrganizationsAccessReportInput, opts ...request.Option) (*GenerateOrganizationsAccessReportOutput, error) {
- req, out := c.GenerateOrganizationsAccessReportRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opGenerateServiceLastAccessedDetails = "GenerateServiceLastAccessedDetails"
-
-// GenerateServiceLastAccessedDetailsRequest generates a "aws/request.Request" representing the
-// client's request for the GenerateServiceLastAccessedDetails operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See GenerateServiceLastAccessedDetails for more information on using the GenerateServiceLastAccessedDetails
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the GenerateServiceLastAccessedDetailsRequest method.
-// req, resp := client.GenerateServiceLastAccessedDetailsRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GenerateServiceLastAccessedDetails
-func (c *IAM) GenerateServiceLastAccessedDetailsRequest(input *GenerateServiceLastAccessedDetailsInput) (req *request.Request, output *GenerateServiceLastAccessedDetailsOutput) {
- op := &request.Operation{
- Name: opGenerateServiceLastAccessedDetails,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &GenerateServiceLastAccessedDetailsInput{}
- }
-
- output = &GenerateServiceLastAccessedDetailsOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// GenerateServiceLastAccessedDetails API operation for AWS Identity and Access Management.
-//
-// Generates a report that includes details about when an IAM resource (user,
-// group, role, or policy) was last used in an attempt to access AWS services.
-// Recent activity usually appears within four hours. IAM reports activity for
-// the last 365 days, or less if your Region began supporting this feature within
-// the last year. For more information, see Regions Where Data Is Tracked (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_access-advisor.html#access-advisor_tracking-period).
-//
-// The service last accessed data includes all attempts to access an AWS API,
-// not just the successful ones. This includes all attempts that were made using
-// the AWS Management Console, the AWS API through any of the SDKs, or any of
-// the command line tools. An unexpected entry in the service last accessed
-// data does not mean that your account has been compromised, because the request
-// might have been denied. Refer to your CloudTrail logs as the authoritative
-// source for information about all API calls and whether they were successful
-// or denied access. For more information, see Logging IAM Events with CloudTrail
-// (https://docs.aws.amazon.com/IAM/latest/UserGuide/cloudtrail-integration.html)
-// in the IAM User Guide.
-//
-// The GenerateServiceLastAccessedDetails operation returns a JobId. Use this
-// parameter in the following operations to retrieve the following details from
-// your report:
-//
-// * GetServiceLastAccessedDetails – Use this operation for users, groups,
-// roles, or policies to list every AWS service that the resource could access
-// using permissions policies. For each service, the response includes information
-// about the most recent access attempt.
-//
-// * GetServiceLastAccessedDetailsWithEntities – Use this operation for
-// groups and policies to list information about the associated entities
-// (users or roles) that attempted to access a specific AWS service.
-//
-// To check the status of the GenerateServiceLastAccessedDetails request, use
-// the JobId parameter in the same operations and test the JobStatus response
-// parameter.
-//
-// For additional information about the permissions policies that allow an identity
-// (user, group, or role) to access specific services, use the ListPoliciesGrantingServiceAccess
-// operation.
-//
-// Service last accessed data does not use other policy types when determining
-// whether a resource could access a service. These other policy types include
-// resource-based policies, access control lists, AWS Organizations policies,
-// IAM permissions boundaries, and AWS STS assume role policies. It only applies
-// permissions policy logic. For more about the evaluation of policy types,
-// see Evaluating Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html#policy-eval-basics)
-// in the IAM User Guide.
-//
-// For more information about service last accessed data, see Reducing Policy
-// Scope by Viewing User Activity (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_access-advisor.html)
-// in the IAM User Guide.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation GenerateServiceLastAccessedDetails for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeInvalidInputException "InvalidInput"
-// The request was rejected because an invalid or out-of-range value was supplied
-// for an input parameter.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GenerateServiceLastAccessedDetails
-func (c *IAM) GenerateServiceLastAccessedDetails(input *GenerateServiceLastAccessedDetailsInput) (*GenerateServiceLastAccessedDetailsOutput, error) {
- req, out := c.GenerateServiceLastAccessedDetailsRequest(input)
- return out, req.Send()
-}
-
-// GenerateServiceLastAccessedDetailsWithContext is the same as GenerateServiceLastAccessedDetails with the addition of
-// the ability to pass a context and additional request options.
-//
-// See GenerateServiceLastAccessedDetails for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) GenerateServiceLastAccessedDetailsWithContext(ctx aws.Context, input *GenerateServiceLastAccessedDetailsInput, opts ...request.Option) (*GenerateServiceLastAccessedDetailsOutput, error) {
- req, out := c.GenerateServiceLastAccessedDetailsRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opGetAccessKeyLastUsed = "GetAccessKeyLastUsed"
-
-// GetAccessKeyLastUsedRequest generates a "aws/request.Request" representing the
-// client's request for the GetAccessKeyLastUsed operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See GetAccessKeyLastUsed for more information on using the GetAccessKeyLastUsed
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the GetAccessKeyLastUsedRequest method.
-// req, resp := client.GetAccessKeyLastUsedRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetAccessKeyLastUsed
-func (c *IAM) GetAccessKeyLastUsedRequest(input *GetAccessKeyLastUsedInput) (req *request.Request, output *GetAccessKeyLastUsedOutput) {
- op := &request.Operation{
- Name: opGetAccessKeyLastUsed,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &GetAccessKeyLastUsedInput{}
- }
-
- output = &GetAccessKeyLastUsedOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// GetAccessKeyLastUsed API operation for AWS Identity and Access Management.
-//
-// Retrieves information about when the specified access key was last used.
-// The information includes the date and time of last use, along with the AWS
-// service and Region that were specified in the last request made with that
-// key.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation GetAccessKeyLastUsed for usage and error information.
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetAccessKeyLastUsed
-func (c *IAM) GetAccessKeyLastUsed(input *GetAccessKeyLastUsedInput) (*GetAccessKeyLastUsedOutput, error) {
- req, out := c.GetAccessKeyLastUsedRequest(input)
- return out, req.Send()
-}
-
-// GetAccessKeyLastUsedWithContext is the same as GetAccessKeyLastUsed with the addition of
-// the ability to pass a context and additional request options.
-//
-// See GetAccessKeyLastUsed for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) GetAccessKeyLastUsedWithContext(ctx aws.Context, input *GetAccessKeyLastUsedInput, opts ...request.Option) (*GetAccessKeyLastUsedOutput, error) {
- req, out := c.GetAccessKeyLastUsedRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opGetAccountAuthorizationDetails = "GetAccountAuthorizationDetails"
-
-// GetAccountAuthorizationDetailsRequest generates a "aws/request.Request" representing the
-// client's request for the GetAccountAuthorizationDetails operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See GetAccountAuthorizationDetails for more information on using the GetAccountAuthorizationDetails
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the GetAccountAuthorizationDetailsRequest method.
-// req, resp := client.GetAccountAuthorizationDetailsRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetAccountAuthorizationDetails
-func (c *IAM) GetAccountAuthorizationDetailsRequest(input *GetAccountAuthorizationDetailsInput) (req *request.Request, output *GetAccountAuthorizationDetailsOutput) {
- op := &request.Operation{
- Name: opGetAccountAuthorizationDetails,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"Marker"},
- OutputTokens: []string{"Marker"},
- LimitToken: "MaxItems",
- TruncationToken: "IsTruncated",
- },
- }
-
- if input == nil {
- input = &GetAccountAuthorizationDetailsInput{}
- }
-
- output = &GetAccountAuthorizationDetailsOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// GetAccountAuthorizationDetails API operation for AWS Identity and Access Management.
-//
-// Retrieves information about all IAM users, groups, roles, and policies in
-// your AWS account, including their relationships to one another. Use this
-// API to obtain a snapshot of the configuration of IAM permissions (users,
-// groups, roles, and policies) in your account.
-//
-// Policies returned by this API are URL-encoded compliant with RFC 3986 (https://tools.ietf.org/html/rfc3986).
-// You can use a URL decoding method to convert the policy back to plain JSON
-// text. For example, if you use Java, you can use the decode method of the
-// java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs
-// provide similar functionality.
-//
-// You can optionally filter the results using the Filter parameter. You can
-// paginate the results using the MaxItems and Marker parameters.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation GetAccountAuthorizationDetails for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetAccountAuthorizationDetails
-func (c *IAM) GetAccountAuthorizationDetails(input *GetAccountAuthorizationDetailsInput) (*GetAccountAuthorizationDetailsOutput, error) {
- req, out := c.GetAccountAuthorizationDetailsRequest(input)
- return out, req.Send()
-}
-
-// GetAccountAuthorizationDetailsWithContext is the same as GetAccountAuthorizationDetails with the addition of
-// the ability to pass a context and additional request options.
-//
-// See GetAccountAuthorizationDetails for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) GetAccountAuthorizationDetailsWithContext(ctx aws.Context, input *GetAccountAuthorizationDetailsInput, opts ...request.Option) (*GetAccountAuthorizationDetailsOutput, error) {
- req, out := c.GetAccountAuthorizationDetailsRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-// GetAccountAuthorizationDetailsPages iterates over the pages of a GetAccountAuthorizationDetails operation,
-// calling the "fn" function with the response data for each page. To stop
-// iterating, return false from the fn function.
-//
-// See GetAccountAuthorizationDetails method for more information on how to use this operation.
-//
-// Note: This operation can generate multiple requests to a service.
-//
-// // Example iterating over at most 3 pages of a GetAccountAuthorizationDetails operation.
-// pageNum := 0
-// err := client.GetAccountAuthorizationDetailsPages(params,
-// func(page *iam.GetAccountAuthorizationDetailsOutput, lastPage bool) bool {
-// pageNum++
-// fmt.Println(page)
-// return pageNum <= 3
-// })
-//
-func (c *IAM) GetAccountAuthorizationDetailsPages(input *GetAccountAuthorizationDetailsInput, fn func(*GetAccountAuthorizationDetailsOutput, bool) bool) error {
- return c.GetAccountAuthorizationDetailsPagesWithContext(aws.BackgroundContext(), input, fn)
-}
-
-// GetAccountAuthorizationDetailsPagesWithContext same as GetAccountAuthorizationDetailsPages except
-// it takes a Context and allows setting request options on the pages.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) GetAccountAuthorizationDetailsPagesWithContext(ctx aws.Context, input *GetAccountAuthorizationDetailsInput, fn func(*GetAccountAuthorizationDetailsOutput, bool) bool, opts ...request.Option) error {
- p := request.Pagination{
- NewRequest: func() (*request.Request, error) {
- var inCpy *GetAccountAuthorizationDetailsInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.GetAccountAuthorizationDetailsRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
-
- for p.Next() {
- if !fn(p.Page().(*GetAccountAuthorizationDetailsOutput), !p.HasNextPage()) {
- break
- }
- }
-
- return p.Err()
-}
-
-const opGetAccountPasswordPolicy = "GetAccountPasswordPolicy"
-
-// GetAccountPasswordPolicyRequest generates a "aws/request.Request" representing the
-// client's request for the GetAccountPasswordPolicy operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See GetAccountPasswordPolicy for more information on using the GetAccountPasswordPolicy
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the GetAccountPasswordPolicyRequest method.
-// req, resp := client.GetAccountPasswordPolicyRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetAccountPasswordPolicy
-func (c *IAM) GetAccountPasswordPolicyRequest(input *GetAccountPasswordPolicyInput) (req *request.Request, output *GetAccountPasswordPolicyOutput) {
- op := &request.Operation{
- Name: opGetAccountPasswordPolicy,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &GetAccountPasswordPolicyInput{}
- }
-
- output = &GetAccountPasswordPolicyOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// GetAccountPasswordPolicy API operation for AWS Identity and Access Management.
-//
-// Retrieves the password policy for the AWS account. For more information about
-// using a password policy, go to Managing an IAM Password Policy (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_ManagingPasswordPolicies.html).
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation GetAccountPasswordPolicy for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetAccountPasswordPolicy
-func (c *IAM) GetAccountPasswordPolicy(input *GetAccountPasswordPolicyInput) (*GetAccountPasswordPolicyOutput, error) {
- req, out := c.GetAccountPasswordPolicyRequest(input)
- return out, req.Send()
-}
-
-// GetAccountPasswordPolicyWithContext is the same as GetAccountPasswordPolicy with the addition of
-// the ability to pass a context and additional request options.
-//
-// See GetAccountPasswordPolicy for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) GetAccountPasswordPolicyWithContext(ctx aws.Context, input *GetAccountPasswordPolicyInput, opts ...request.Option) (*GetAccountPasswordPolicyOutput, error) {
- req, out := c.GetAccountPasswordPolicyRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opGetAccountSummary = "GetAccountSummary"
-
-// GetAccountSummaryRequest generates a "aws/request.Request" representing the
-// client's request for the GetAccountSummary operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See GetAccountSummary for more information on using the GetAccountSummary
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the GetAccountSummaryRequest method.
-// req, resp := client.GetAccountSummaryRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetAccountSummary
-func (c *IAM) GetAccountSummaryRequest(input *GetAccountSummaryInput) (req *request.Request, output *GetAccountSummaryOutput) {
- op := &request.Operation{
- Name: opGetAccountSummary,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &GetAccountSummaryInput{}
- }
-
- output = &GetAccountSummaryOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// GetAccountSummary API operation for AWS Identity and Access Management.
-//
-// Retrieves information about IAM entity usage and IAM quotas in the AWS account.
-//
-// For information about limitations on IAM entities, see Limitations on IAM
-// Entities (https://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html)
-// in the IAM User Guide.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation GetAccountSummary for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetAccountSummary
-func (c *IAM) GetAccountSummary(input *GetAccountSummaryInput) (*GetAccountSummaryOutput, error) {
- req, out := c.GetAccountSummaryRequest(input)
- return out, req.Send()
-}
-
-// GetAccountSummaryWithContext is the same as GetAccountSummary with the addition of
-// the ability to pass a context and additional request options.
-//
-// See GetAccountSummary for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) GetAccountSummaryWithContext(ctx aws.Context, input *GetAccountSummaryInput, opts ...request.Option) (*GetAccountSummaryOutput, error) {
- req, out := c.GetAccountSummaryRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opGetContextKeysForCustomPolicy = "GetContextKeysForCustomPolicy"
-
-// GetContextKeysForCustomPolicyRequest generates a "aws/request.Request" representing the
-// client's request for the GetContextKeysForCustomPolicy operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See GetContextKeysForCustomPolicy for more information on using the GetContextKeysForCustomPolicy
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the GetContextKeysForCustomPolicyRequest method.
-// req, resp := client.GetContextKeysForCustomPolicyRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetContextKeysForCustomPolicy
-func (c *IAM) GetContextKeysForCustomPolicyRequest(input *GetContextKeysForCustomPolicyInput) (req *request.Request, output *GetContextKeysForPolicyResponse) {
- op := &request.Operation{
- Name: opGetContextKeysForCustomPolicy,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &GetContextKeysForCustomPolicyInput{}
- }
-
- output = &GetContextKeysForPolicyResponse{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// GetContextKeysForCustomPolicy API operation for AWS Identity and Access Management.
-//
-// Gets a list of all of the context keys referenced in the input policies.
-// The policies are supplied as a list of one or more strings. To get the context
-// keys from policies associated with an IAM user, group, or role, use GetContextKeysForPrincipalPolicy.
-//
-// Context keys are variables maintained by AWS and its services that provide
-// details about the context of an API query request. Context keys can be evaluated
-// by testing against a value specified in an IAM policy. Use GetContextKeysForCustomPolicy
-// to understand what key names and values you must supply when you call SimulateCustomPolicy.
-// Note that all parameters are shown in unencoded form here for clarity but
-// must be URL encoded to be included as a part of a real HTML request.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation GetContextKeysForCustomPolicy for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeInvalidInputException "InvalidInput"
-// The request was rejected because an invalid or out-of-range value was supplied
-// for an input parameter.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetContextKeysForCustomPolicy
-func (c *IAM) GetContextKeysForCustomPolicy(input *GetContextKeysForCustomPolicyInput) (*GetContextKeysForPolicyResponse, error) {
- req, out := c.GetContextKeysForCustomPolicyRequest(input)
- return out, req.Send()
-}
-
-// GetContextKeysForCustomPolicyWithContext is the same as GetContextKeysForCustomPolicy with the addition of
-// the ability to pass a context and additional request options.
-//
-// See GetContextKeysForCustomPolicy for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) GetContextKeysForCustomPolicyWithContext(ctx aws.Context, input *GetContextKeysForCustomPolicyInput, opts ...request.Option) (*GetContextKeysForPolicyResponse, error) {
- req, out := c.GetContextKeysForCustomPolicyRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opGetContextKeysForPrincipalPolicy = "GetContextKeysForPrincipalPolicy"
-
-// GetContextKeysForPrincipalPolicyRequest generates a "aws/request.Request" representing the
-// client's request for the GetContextKeysForPrincipalPolicy operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See GetContextKeysForPrincipalPolicy for more information on using the GetContextKeysForPrincipalPolicy
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the GetContextKeysForPrincipalPolicyRequest method.
-// req, resp := client.GetContextKeysForPrincipalPolicyRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetContextKeysForPrincipalPolicy
-func (c *IAM) GetContextKeysForPrincipalPolicyRequest(input *GetContextKeysForPrincipalPolicyInput) (req *request.Request, output *GetContextKeysForPolicyResponse) {
- op := &request.Operation{
- Name: opGetContextKeysForPrincipalPolicy,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &GetContextKeysForPrincipalPolicyInput{}
- }
-
- output = &GetContextKeysForPolicyResponse{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// GetContextKeysForPrincipalPolicy API operation for AWS Identity and Access Management.
-//
-// Gets a list of all of the context keys referenced in all the IAM policies
-// that are attached to the specified IAM entity. The entity can be an IAM user,
-// group, or role. If you specify a user, then the request also includes all
-// of the policies attached to groups that the user is a member of.
-//
-// You can optionally include a list of one or more additional policies, specified
-// as strings. If you want to include only a list of policies by string, use
-// GetContextKeysForCustomPolicy instead.
-//
-// Note: This API discloses information about the permissions granted to other
-// users. If you do not want users to see other user's permissions, then consider
-// allowing them to use GetContextKeysForCustomPolicy instead.
-//
-// Context keys are variables maintained by AWS and its services that provide
-// details about the context of an API query request. Context keys can be evaluated
-// by testing against a value in an IAM policy. Use GetContextKeysForPrincipalPolicy
-// to understand what key names and values you must supply when you call SimulatePrincipalPolicy.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation GetContextKeysForPrincipalPolicy for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeInvalidInputException "InvalidInput"
-// The request was rejected because an invalid or out-of-range value was supplied
-// for an input parameter.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetContextKeysForPrincipalPolicy
-func (c *IAM) GetContextKeysForPrincipalPolicy(input *GetContextKeysForPrincipalPolicyInput) (*GetContextKeysForPolicyResponse, error) {
- req, out := c.GetContextKeysForPrincipalPolicyRequest(input)
- return out, req.Send()
-}
-
-// GetContextKeysForPrincipalPolicyWithContext is the same as GetContextKeysForPrincipalPolicy with the addition of
-// the ability to pass a context and additional request options.
-//
-// See GetContextKeysForPrincipalPolicy for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) GetContextKeysForPrincipalPolicyWithContext(ctx aws.Context, input *GetContextKeysForPrincipalPolicyInput, opts ...request.Option) (*GetContextKeysForPolicyResponse, error) {
- req, out := c.GetContextKeysForPrincipalPolicyRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opGetCredentialReport = "GetCredentialReport"
-
-// GetCredentialReportRequest generates a "aws/request.Request" representing the
-// client's request for the GetCredentialReport operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See GetCredentialReport for more information on using the GetCredentialReport
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the GetCredentialReportRequest method.
-// req, resp := client.GetCredentialReportRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetCredentialReport
-func (c *IAM) GetCredentialReportRequest(input *GetCredentialReportInput) (req *request.Request, output *GetCredentialReportOutput) {
- op := &request.Operation{
- Name: opGetCredentialReport,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &GetCredentialReportInput{}
- }
-
- output = &GetCredentialReportOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// GetCredentialReport API operation for AWS Identity and Access Management.
-//
-// Retrieves a credential report for the AWS account. For more information about
-// the credential report, see Getting Credential Reports (https://docs.aws.amazon.com/IAM/latest/UserGuide/credential-reports.html)
-// in the IAM User Guide.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation GetCredentialReport for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeCredentialReportNotPresentException "ReportNotPresent"
-// The request was rejected because the credential report does not exist. To
-// generate a credential report, use GenerateCredentialReport.
-//
-// * ErrCodeCredentialReportExpiredException "ReportExpired"
-// The request was rejected because the most recent credential report has expired.
-// To generate a new credential report, use GenerateCredentialReport. For more
-// information about credential report expiration, see Getting Credential Reports
-// (https://docs.aws.amazon.com/IAM/latest/UserGuide/credential-reports.html)
-// in the IAM User Guide.
-//
-// * ErrCodeCredentialReportNotReadyException "ReportInProgress"
-// The request was rejected because the credential report is still being generated.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetCredentialReport
-func (c *IAM) GetCredentialReport(input *GetCredentialReportInput) (*GetCredentialReportOutput, error) {
- req, out := c.GetCredentialReportRequest(input)
- return out, req.Send()
-}
-
-// GetCredentialReportWithContext is the same as GetCredentialReport with the addition of
-// the ability to pass a context and additional request options.
-//
-// See GetCredentialReport for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) GetCredentialReportWithContext(ctx aws.Context, input *GetCredentialReportInput, opts ...request.Option) (*GetCredentialReportOutput, error) {
- req, out := c.GetCredentialReportRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opGetGroup = "GetGroup"
-
-// GetGroupRequest generates a "aws/request.Request" representing the
-// client's request for the GetGroup operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See GetGroup for more information on using the GetGroup
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the GetGroupRequest method.
-// req, resp := client.GetGroupRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetGroup
-func (c *IAM) GetGroupRequest(input *GetGroupInput) (req *request.Request, output *GetGroupOutput) {
- op := &request.Operation{
- Name: opGetGroup,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"Marker"},
- OutputTokens: []string{"Marker"},
- LimitToken: "MaxItems",
- TruncationToken: "IsTruncated",
- },
- }
-
- if input == nil {
- input = &GetGroupInput{}
- }
-
- output = &GetGroupOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// GetGroup API operation for AWS Identity and Access Management.
-//
-// Returns a list of IAM users that are in the specified IAM group. You can
-// paginate the results using the MaxItems and Marker parameters.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation GetGroup for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetGroup
-func (c *IAM) GetGroup(input *GetGroupInput) (*GetGroupOutput, error) {
- req, out := c.GetGroupRequest(input)
- return out, req.Send()
-}
-
-// GetGroupWithContext is the same as GetGroup with the addition of
-// the ability to pass a context and additional request options.
-//
-// See GetGroup for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) GetGroupWithContext(ctx aws.Context, input *GetGroupInput, opts ...request.Option) (*GetGroupOutput, error) {
- req, out := c.GetGroupRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-// GetGroupPages iterates over the pages of a GetGroup operation,
-// calling the "fn" function with the response data for each page. To stop
-// iterating, return false from the fn function.
-//
-// See GetGroup method for more information on how to use this operation.
-//
-// Note: This operation can generate multiple requests to a service.
-//
-// // Example iterating over at most 3 pages of a GetGroup operation.
-// pageNum := 0
-// err := client.GetGroupPages(params,
-// func(page *iam.GetGroupOutput, lastPage bool) bool {
-// pageNum++
-// fmt.Println(page)
-// return pageNum <= 3
-// })
-//
-func (c *IAM) GetGroupPages(input *GetGroupInput, fn func(*GetGroupOutput, bool) bool) error {
- return c.GetGroupPagesWithContext(aws.BackgroundContext(), input, fn)
-}
-
-// GetGroupPagesWithContext same as GetGroupPages except
-// it takes a Context and allows setting request options on the pages.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) GetGroupPagesWithContext(ctx aws.Context, input *GetGroupInput, fn func(*GetGroupOutput, bool) bool, opts ...request.Option) error {
- p := request.Pagination{
- NewRequest: func() (*request.Request, error) {
- var inCpy *GetGroupInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.GetGroupRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
-
- for p.Next() {
- if !fn(p.Page().(*GetGroupOutput), !p.HasNextPage()) {
- break
- }
- }
-
- return p.Err()
-}
-
-const opGetGroupPolicy = "GetGroupPolicy"
-
-// GetGroupPolicyRequest generates a "aws/request.Request" representing the
-// client's request for the GetGroupPolicy operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See GetGroupPolicy for more information on using the GetGroupPolicy
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the GetGroupPolicyRequest method.
-// req, resp := client.GetGroupPolicyRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetGroupPolicy
-func (c *IAM) GetGroupPolicyRequest(input *GetGroupPolicyInput) (req *request.Request, output *GetGroupPolicyOutput) {
- op := &request.Operation{
- Name: opGetGroupPolicy,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &GetGroupPolicyInput{}
- }
-
- output = &GetGroupPolicyOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// GetGroupPolicy API operation for AWS Identity and Access Management.
-//
-// Retrieves the specified inline policy document that is embedded in the specified
-// IAM group.
-//
-// Policies returned by this API are URL-encoded compliant with RFC 3986 (https://tools.ietf.org/html/rfc3986).
-// You can use a URL decoding method to convert the policy back to plain JSON
-// text. For example, if you use Java, you can use the decode method of the
-// java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs
-// provide similar functionality.
-//
-// An IAM group can also have managed policies attached to it. To retrieve a
-// managed policy document that is attached to a group, use GetPolicy to determine
-// the policy's default version, then use GetPolicyVersion to retrieve the policy
-// document.
-//
-// 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.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation GetGroupPolicy for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetGroupPolicy
-func (c *IAM) GetGroupPolicy(input *GetGroupPolicyInput) (*GetGroupPolicyOutput, error) {
- req, out := c.GetGroupPolicyRequest(input)
- return out, req.Send()
-}
-
-// GetGroupPolicyWithContext is the same as GetGroupPolicy with the addition of
-// the ability to pass a context and additional request options.
-//
-// See GetGroupPolicy for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) GetGroupPolicyWithContext(ctx aws.Context, input *GetGroupPolicyInput, opts ...request.Option) (*GetGroupPolicyOutput, error) {
- req, out := c.GetGroupPolicyRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opGetInstanceProfile = "GetInstanceProfile"
-
-// GetInstanceProfileRequest generates a "aws/request.Request" representing the
-// client's request for the GetInstanceProfile operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See GetInstanceProfile for more information on using the GetInstanceProfile
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the GetInstanceProfileRequest method.
-// req, resp := client.GetInstanceProfileRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetInstanceProfile
-func (c *IAM) GetInstanceProfileRequest(input *GetInstanceProfileInput) (req *request.Request, output *GetInstanceProfileOutput) {
- op := &request.Operation{
- Name: opGetInstanceProfile,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &GetInstanceProfileInput{}
- }
-
- output = &GetInstanceProfileOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// GetInstanceProfile API operation for AWS Identity and Access Management.
-//
-// Retrieves information about the specified instance profile, including the
-// instance profile's path, GUID, ARN, and role. For more information about
-// instance profiles, see About Instance Profiles (https://docs.aws.amazon.com/IAM/latest/UserGuide/AboutInstanceProfiles.html)
-// in the IAM User Guide.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation GetInstanceProfile for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetInstanceProfile
-func (c *IAM) GetInstanceProfile(input *GetInstanceProfileInput) (*GetInstanceProfileOutput, error) {
- req, out := c.GetInstanceProfileRequest(input)
- return out, req.Send()
-}
-
-// GetInstanceProfileWithContext is the same as GetInstanceProfile with the addition of
-// the ability to pass a context and additional request options.
-//
-// See GetInstanceProfile for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) GetInstanceProfileWithContext(ctx aws.Context, input *GetInstanceProfileInput, opts ...request.Option) (*GetInstanceProfileOutput, error) {
- req, out := c.GetInstanceProfileRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opGetLoginProfile = "GetLoginProfile"
-
-// GetLoginProfileRequest generates a "aws/request.Request" representing the
-// client's request for the GetLoginProfile operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See GetLoginProfile for more information on using the GetLoginProfile
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the GetLoginProfileRequest method.
-// req, resp := client.GetLoginProfileRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetLoginProfile
-func (c *IAM) GetLoginProfileRequest(input *GetLoginProfileInput) (req *request.Request, output *GetLoginProfileOutput) {
- op := &request.Operation{
- Name: opGetLoginProfile,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &GetLoginProfileInput{}
- }
-
- output = &GetLoginProfileOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// GetLoginProfile API operation for AWS Identity and Access Management.
-//
-// Retrieves the user name and password-creation date for the specified IAM
-// user. If the user has not been assigned a password, the operation returns
-// a 404 (NoSuchEntity) error.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation GetLoginProfile for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetLoginProfile
-func (c *IAM) GetLoginProfile(input *GetLoginProfileInput) (*GetLoginProfileOutput, error) {
- req, out := c.GetLoginProfileRequest(input)
- return out, req.Send()
-}
-
-// GetLoginProfileWithContext is the same as GetLoginProfile with the addition of
-// the ability to pass a context and additional request options.
-//
-// See GetLoginProfile for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) GetLoginProfileWithContext(ctx aws.Context, input *GetLoginProfileInput, opts ...request.Option) (*GetLoginProfileOutput, error) {
- req, out := c.GetLoginProfileRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opGetOpenIDConnectProvider = "GetOpenIDConnectProvider"
-
-// GetOpenIDConnectProviderRequest generates a "aws/request.Request" representing the
-// client's request for the GetOpenIDConnectProvider operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See GetOpenIDConnectProvider for more information on using the GetOpenIDConnectProvider
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the GetOpenIDConnectProviderRequest method.
-// req, resp := client.GetOpenIDConnectProviderRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetOpenIDConnectProvider
-func (c *IAM) GetOpenIDConnectProviderRequest(input *GetOpenIDConnectProviderInput) (req *request.Request, output *GetOpenIDConnectProviderOutput) {
- op := &request.Operation{
- Name: opGetOpenIDConnectProvider,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &GetOpenIDConnectProviderInput{}
- }
-
- output = &GetOpenIDConnectProviderOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// GetOpenIDConnectProvider API operation for AWS Identity and Access Management.
-//
-// Returns information about the specified OpenID Connect (OIDC) provider resource
-// object in IAM.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation GetOpenIDConnectProvider for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeInvalidInputException "InvalidInput"
-// The request was rejected because an invalid or out-of-range value was supplied
-// for an input parameter.
-//
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetOpenIDConnectProvider
-func (c *IAM) GetOpenIDConnectProvider(input *GetOpenIDConnectProviderInput) (*GetOpenIDConnectProviderOutput, error) {
- req, out := c.GetOpenIDConnectProviderRequest(input)
- return out, req.Send()
-}
-
-// GetOpenIDConnectProviderWithContext is the same as GetOpenIDConnectProvider with the addition of
-// the ability to pass a context and additional request options.
-//
-// See GetOpenIDConnectProvider for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) GetOpenIDConnectProviderWithContext(ctx aws.Context, input *GetOpenIDConnectProviderInput, opts ...request.Option) (*GetOpenIDConnectProviderOutput, error) {
- req, out := c.GetOpenIDConnectProviderRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opGetOrganizationsAccessReport = "GetOrganizationsAccessReport"
-
-// GetOrganizationsAccessReportRequest generates a "aws/request.Request" representing the
-// client's request for the GetOrganizationsAccessReport operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See GetOrganizationsAccessReport for more information on using the GetOrganizationsAccessReport
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the GetOrganizationsAccessReportRequest method.
-// req, resp := client.GetOrganizationsAccessReportRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetOrganizationsAccessReport
-func (c *IAM) GetOrganizationsAccessReportRequest(input *GetOrganizationsAccessReportInput) (req *request.Request, output *GetOrganizationsAccessReportOutput) {
- op := &request.Operation{
- Name: opGetOrganizationsAccessReport,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &GetOrganizationsAccessReportInput{}
- }
-
- output = &GetOrganizationsAccessReportOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// GetOrganizationsAccessReport API operation for AWS Identity and Access Management.
-//
-// Retrieves the service last accessed data report for AWS Organizations that
-// was previously generated using the GenerateOrganizationsAccessReport operation.
-// This operation retrieves the status of your report job and the report contents.
-//
-// Depending on the parameters that you passed when you generated the report,
-// the data returned could include different information. For details, see GenerateOrganizationsAccessReport.
-//
-// To call this operation, you must be signed in to the master account in your
-// organization. SCPs must be enabled for your organization root. You must have
-// permissions to perform this operation. For more information, see Refining
-// Permissions Using Service Last Accessed Data (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_access-advisor.html)
-// in the IAM User Guide.
-//
-// For each service that principals in an account (root users, IAM users, or
-// IAM roles) could access using SCPs, the operation returns details about the
-// most recent access attempt. If there was no attempt, the service is listed
-// without details about the most recent attempt to access the service. If the
-// operation fails, it returns the reason that it failed.
-//
-// By default, the list is sorted by service namespace.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation GetOrganizationsAccessReport for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetOrganizationsAccessReport
-func (c *IAM) GetOrganizationsAccessReport(input *GetOrganizationsAccessReportInput) (*GetOrganizationsAccessReportOutput, error) {
- req, out := c.GetOrganizationsAccessReportRequest(input)
- return out, req.Send()
-}
-
-// GetOrganizationsAccessReportWithContext is the same as GetOrganizationsAccessReport with the addition of
-// the ability to pass a context and additional request options.
-//
-// See GetOrganizationsAccessReport for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) GetOrganizationsAccessReportWithContext(ctx aws.Context, input *GetOrganizationsAccessReportInput, opts ...request.Option) (*GetOrganizationsAccessReportOutput, error) {
- req, out := c.GetOrganizationsAccessReportRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opGetPolicy = "GetPolicy"
-
-// GetPolicyRequest generates a "aws/request.Request" representing the
-// client's request for the GetPolicy operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See GetPolicy for more information on using the GetPolicy
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the GetPolicyRequest method.
-// req, resp := client.GetPolicyRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetPolicy
-func (c *IAM) GetPolicyRequest(input *GetPolicyInput) (req *request.Request, output *GetPolicyOutput) {
- op := &request.Operation{
- Name: opGetPolicy,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &GetPolicyInput{}
- }
-
- output = &GetPolicyOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// GetPolicy 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.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation GetPolicy for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeInvalidInputException "InvalidInput"
-// The request was rejected because an invalid or out-of-range value was supplied
-// for an input parameter.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetPolicy
-func (c *IAM) GetPolicy(input *GetPolicyInput) (*GetPolicyOutput, error) {
- req, out := c.GetPolicyRequest(input)
- return out, req.Send()
-}
-
-// GetPolicyWithContext is the same as GetPolicy with the addition of
-// the ability to pass a context and additional request options.
-//
-// See GetPolicy for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) GetPolicyWithContext(ctx aws.Context, input *GetPolicyInput, opts ...request.Option) (*GetPolicyOutput, error) {
- req, out := c.GetPolicyRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opGetPolicyVersion = "GetPolicyVersion"
-
-// GetPolicyVersionRequest generates a "aws/request.Request" representing the
-// client's request for the GetPolicyVersion operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See GetPolicyVersion for more information on using the GetPolicyVersion
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the GetPolicyVersionRequest method.
-// req, resp := client.GetPolicyVersionRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetPolicyVersion
-func (c *IAM) GetPolicyVersionRequest(input *GetPolicyVersionInput) (req *request.Request, output *GetPolicyVersionOutput) {
- op := &request.Operation{
- Name: opGetPolicyVersion,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &GetPolicyVersionInput{}
- }
-
- output = &GetPolicyVersionOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// GetPolicyVersion API operation for AWS Identity and Access Management.
-//
-// Retrieves information about the specified version of the specified managed
-// policy, including the policy document.
-//
-// Policies returned by this API are URL-encoded compliant with RFC 3986 (https://tools.ietf.org/html/rfc3986).
-// You can use a URL decoding method to convert the policy back to plain JSON
-// text. For example, if you use Java, you can use the decode method of the
-// java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs
-// provide similar functionality.
-//
-// To list the available versions for a policy, use ListPolicyVersions.
-//
-// This API retrieves information about managed policies. To retrieve information
-// about an inline policy that is embedded in a user, group, or role, use the
-// GetUserPolicy, GetGroupPolicy, or GetRolePolicy API.
-//
-// For more information about the types of 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.
-//
-// For more information about managed policy versions, see Versioning for Managed
-// Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html)
-// in the IAM User Guide.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation GetPolicyVersion for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeInvalidInputException "InvalidInput"
-// The request was rejected because an invalid or out-of-range value was supplied
-// for an input parameter.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetPolicyVersion
-func (c *IAM) GetPolicyVersion(input *GetPolicyVersionInput) (*GetPolicyVersionOutput, error) {
- req, out := c.GetPolicyVersionRequest(input)
- return out, req.Send()
-}
-
-// GetPolicyVersionWithContext is the same as GetPolicyVersion with the addition of
-// the ability to pass a context and additional request options.
-//
-// See GetPolicyVersion for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) GetPolicyVersionWithContext(ctx aws.Context, input *GetPolicyVersionInput, opts ...request.Option) (*GetPolicyVersionOutput, error) {
- req, out := c.GetPolicyVersionRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opGetRole = "GetRole"
-
-// GetRoleRequest generates a "aws/request.Request" representing the
-// client's request for the GetRole operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See GetRole for more information on using the GetRole
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the GetRoleRequest method.
-// req, resp := client.GetRoleRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetRole
-func (c *IAM) GetRoleRequest(input *GetRoleInput) (req *request.Request, output *GetRoleOutput) {
- op := &request.Operation{
- Name: opGetRole,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &GetRoleInput{}
- }
-
- output = &GetRoleOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// GetRole API operation for AWS Identity and Access Management.
-//
-// Retrieves information about the specified role, including the role's path,
-// GUID, ARN, and the role's trust policy that grants permission to assume the
-// role. For more information about roles, see Working with Roles (https://docs.aws.amazon.com/IAM/latest/UserGuide/WorkingWithRoles.html).
-//
-// Policies returned by this API are URL-encoded compliant with RFC 3986 (https://tools.ietf.org/html/rfc3986).
-// You can use a URL decoding method to convert the policy back to plain JSON
-// text. For example, if you use Java, you can use the decode method of the
-// java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs
-// provide similar functionality.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation GetRole for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetRole
-func (c *IAM) GetRole(input *GetRoleInput) (*GetRoleOutput, error) {
- req, out := c.GetRoleRequest(input)
- return out, req.Send()
-}
-
-// GetRoleWithContext is the same as GetRole with the addition of
-// the ability to pass a context and additional request options.
-//
-// See GetRole for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) GetRoleWithContext(ctx aws.Context, input *GetRoleInput, opts ...request.Option) (*GetRoleOutput, error) {
- req, out := c.GetRoleRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opGetRolePolicy = "GetRolePolicy"
-
-// GetRolePolicyRequest generates a "aws/request.Request" representing the
-// client's request for the GetRolePolicy operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See GetRolePolicy for more information on using the GetRolePolicy
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the GetRolePolicyRequest method.
-// req, resp := client.GetRolePolicyRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetRolePolicy
-func (c *IAM) GetRolePolicyRequest(input *GetRolePolicyInput) (req *request.Request, output *GetRolePolicyOutput) {
- op := &request.Operation{
- Name: opGetRolePolicy,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &GetRolePolicyInput{}
- }
-
- output = &GetRolePolicyOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// GetRolePolicy API operation for AWS Identity and Access Management.
-//
-// Retrieves the specified inline policy document that is embedded with the
-// specified IAM role.
-//
-// Policies returned by this API are URL-encoded compliant with RFC 3986 (https://tools.ietf.org/html/rfc3986).
-// You can use a URL decoding method to convert the policy back to plain JSON
-// text. For example, if you use Java, you can use the decode method of the
-// java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs
-// provide similar functionality.
-//
-// An IAM role can also have managed policies attached to it. To retrieve a
-// managed policy document that is attached to a role, use GetPolicy to determine
-// the policy's default version, then use GetPolicyVersion to retrieve the policy
-// document.
-//
-// 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.
-//
-// For more information about roles, see Using Roles to Delegate Permissions
-// and Federate Identities (https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-toplevel.html).
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation GetRolePolicy for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetRolePolicy
-func (c *IAM) GetRolePolicy(input *GetRolePolicyInput) (*GetRolePolicyOutput, error) {
- req, out := c.GetRolePolicyRequest(input)
- return out, req.Send()
-}
-
-// GetRolePolicyWithContext is the same as GetRolePolicy with the addition of
-// the ability to pass a context and additional request options.
-//
-// See GetRolePolicy for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) GetRolePolicyWithContext(ctx aws.Context, input *GetRolePolicyInput, opts ...request.Option) (*GetRolePolicyOutput, error) {
- req, out := c.GetRolePolicyRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opGetSAMLProvider = "GetSAMLProvider"
-
-// GetSAMLProviderRequest generates a "aws/request.Request" representing the
-// client's request for the GetSAMLProvider operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See GetSAMLProvider for more information on using the GetSAMLProvider
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the GetSAMLProviderRequest method.
-// req, resp := client.GetSAMLProviderRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetSAMLProvider
-func (c *IAM) GetSAMLProviderRequest(input *GetSAMLProviderInput) (req *request.Request, output *GetSAMLProviderOutput) {
- op := &request.Operation{
- Name: opGetSAMLProvider,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &GetSAMLProviderInput{}
- }
-
- output = &GetSAMLProviderOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// GetSAMLProvider API operation for AWS Identity and Access Management.
-//
-// Returns the SAML provider metadocument that was uploaded when the IAM SAML
-// provider resource object was created or updated.
-//
-// This operation requires Signature Version 4 (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation GetSAMLProvider for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeInvalidInputException "InvalidInput"
-// The request was rejected because an invalid or out-of-range value was supplied
-// for an input parameter.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetSAMLProvider
-func (c *IAM) GetSAMLProvider(input *GetSAMLProviderInput) (*GetSAMLProviderOutput, error) {
- req, out := c.GetSAMLProviderRequest(input)
- return out, req.Send()
-}
-
-// GetSAMLProviderWithContext is the same as GetSAMLProvider with the addition of
-// the ability to pass a context and additional request options.
-//
-// See GetSAMLProvider for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) GetSAMLProviderWithContext(ctx aws.Context, input *GetSAMLProviderInput, opts ...request.Option) (*GetSAMLProviderOutput, error) {
- req, out := c.GetSAMLProviderRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opGetSSHPublicKey = "GetSSHPublicKey"
-
-// GetSSHPublicKeyRequest generates a "aws/request.Request" representing the
-// client's request for the GetSSHPublicKey operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See GetSSHPublicKey for more information on using the GetSSHPublicKey
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the GetSSHPublicKeyRequest method.
-// req, resp := client.GetSSHPublicKeyRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetSSHPublicKey
-func (c *IAM) GetSSHPublicKeyRequest(input *GetSSHPublicKeyInput) (req *request.Request, output *GetSSHPublicKeyOutput) {
- op := &request.Operation{
- Name: opGetSSHPublicKey,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &GetSSHPublicKeyInput{}
- }
-
- output = &GetSSHPublicKeyOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// GetSSHPublicKey API operation for AWS Identity and Access Management.
-//
-// Retrieves the specified SSH public key, including metadata about the key.
-//
-// The SSH public key retrieved by this operation is used only for authenticating
-// the associated IAM user to an AWS CodeCommit repository. For more information
-// about using SSH keys to authenticate to an AWS CodeCommit repository, see
-// Set up AWS CodeCommit for SSH Connections (https://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-credentials-ssh.html)
-// in the AWS CodeCommit User Guide.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation GetSSHPublicKey for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeUnrecognizedPublicKeyEncodingException "UnrecognizedPublicKeyEncoding"
-// The request was rejected because the public key encoding format is unsupported
-// or unrecognized.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetSSHPublicKey
-func (c *IAM) GetSSHPublicKey(input *GetSSHPublicKeyInput) (*GetSSHPublicKeyOutput, error) {
- req, out := c.GetSSHPublicKeyRequest(input)
- return out, req.Send()
-}
-
-// GetSSHPublicKeyWithContext is the same as GetSSHPublicKey with the addition of
-// the ability to pass a context and additional request options.
-//
-// See GetSSHPublicKey for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) GetSSHPublicKeyWithContext(ctx aws.Context, input *GetSSHPublicKeyInput, opts ...request.Option) (*GetSSHPublicKeyOutput, error) {
- req, out := c.GetSSHPublicKeyRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opGetServerCertificate = "GetServerCertificate"
-
-// GetServerCertificateRequest generates a "aws/request.Request" representing the
-// client's request for the GetServerCertificate operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See GetServerCertificate for more information on using the GetServerCertificate
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the GetServerCertificateRequest method.
-// req, resp := client.GetServerCertificateRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetServerCertificate
-func (c *IAM) GetServerCertificateRequest(input *GetServerCertificateInput) (req *request.Request, output *GetServerCertificateOutput) {
- op := &request.Operation{
- Name: opGetServerCertificate,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &GetServerCertificateInput{}
- }
-
- output = &GetServerCertificateOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// GetServerCertificate API operation for AWS Identity and Access Management.
-//
-// Retrieves information about the specified server certificate stored in IAM.
-//
-// For more information about working with server certificates, see Working
-// with Server Certificates (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_server-certs.html)
-// in the IAM User Guide. This topic includes a list of AWS services that can
-// use the server certificates that you manage with IAM.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation GetServerCertificate for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetServerCertificate
-func (c *IAM) GetServerCertificate(input *GetServerCertificateInput) (*GetServerCertificateOutput, error) {
- req, out := c.GetServerCertificateRequest(input)
- return out, req.Send()
-}
-
-// GetServerCertificateWithContext is the same as GetServerCertificate with the addition of
-// the ability to pass a context and additional request options.
-//
-// See GetServerCertificate for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) GetServerCertificateWithContext(ctx aws.Context, input *GetServerCertificateInput, opts ...request.Option) (*GetServerCertificateOutput, error) {
- req, out := c.GetServerCertificateRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opGetServiceLastAccessedDetails = "GetServiceLastAccessedDetails"
-
-// GetServiceLastAccessedDetailsRequest generates a "aws/request.Request" representing the
-// client's request for the GetServiceLastAccessedDetails operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See GetServiceLastAccessedDetails for more information on using the GetServiceLastAccessedDetails
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the GetServiceLastAccessedDetailsRequest method.
-// req, resp := client.GetServiceLastAccessedDetailsRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetServiceLastAccessedDetails
-func (c *IAM) GetServiceLastAccessedDetailsRequest(input *GetServiceLastAccessedDetailsInput) (req *request.Request, output *GetServiceLastAccessedDetailsOutput) {
- op := &request.Operation{
- Name: opGetServiceLastAccessedDetails,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &GetServiceLastAccessedDetailsInput{}
- }
-
- output = &GetServiceLastAccessedDetailsOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// GetServiceLastAccessedDetails API operation for AWS Identity and Access Management.
-//
-// Retrieves a service last accessed report that was created using the GenerateServiceLastAccessedDetails
-// operation. You can use the JobId parameter in GetServiceLastAccessedDetails
-// to retrieve the status of your report job. When the report is complete, you
-// can retrieve the generated report. The report includes a list of AWS services
-// that the resource (user, group, role, or managed policy) can access.
-//
-// Service last accessed data does not use other policy types when determining
-// whether a resource could access a service. These other policy types include
-// resource-based policies, access control lists, AWS Organizations policies,
-// IAM permissions boundaries, and AWS STS assume role policies. It only applies
-// permissions policy logic. For more about the evaluation of policy types,
-// see Evaluating Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html#policy-eval-basics)
-// in the IAM User Guide.
-//
-// For each service that the resource could access using permissions policies,
-// the operation returns details about the most recent access attempt. If there
-// was no attempt, the service is listed without details about the most recent
-// attempt to access the service. If the operation fails, the GetServiceLastAccessedDetails
-// operation returns the reason that it failed.
-//
-// The GetServiceLastAccessedDetails operation returns a list of services. This
-// list includes the number of entities that have attempted to access the service
-// and the date and time of the last attempt. It also returns the ARN of the
-// following entity, depending on the resource ARN that you used to generate
-// the report:
-//
-// * User – Returns the user ARN that you used to generate the report
-//
-// * Group – Returns the ARN of the group member (user) that last attempted
-// to access the service
-//
-// * Role – Returns the role ARN that you used to generate the report
-//
-// * Policy – Returns the ARN of the user or role that last used the policy
-// to attempt to access the service
-//
-// By default, the list is sorted by service namespace.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation GetServiceLastAccessedDetails for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeInvalidInputException "InvalidInput"
-// The request was rejected because an invalid or out-of-range value was supplied
-// for an input parameter.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetServiceLastAccessedDetails
-func (c *IAM) GetServiceLastAccessedDetails(input *GetServiceLastAccessedDetailsInput) (*GetServiceLastAccessedDetailsOutput, error) {
- req, out := c.GetServiceLastAccessedDetailsRequest(input)
- return out, req.Send()
-}
-
-// GetServiceLastAccessedDetailsWithContext is the same as GetServiceLastAccessedDetails with the addition of
-// the ability to pass a context and additional request options.
-//
-// See GetServiceLastAccessedDetails for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) GetServiceLastAccessedDetailsWithContext(ctx aws.Context, input *GetServiceLastAccessedDetailsInput, opts ...request.Option) (*GetServiceLastAccessedDetailsOutput, error) {
- req, out := c.GetServiceLastAccessedDetailsRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opGetServiceLastAccessedDetailsWithEntities = "GetServiceLastAccessedDetailsWithEntities"
-
-// GetServiceLastAccessedDetailsWithEntitiesRequest generates a "aws/request.Request" representing the
-// client's request for the GetServiceLastAccessedDetailsWithEntities operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See GetServiceLastAccessedDetailsWithEntities for more information on using the GetServiceLastAccessedDetailsWithEntities
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the GetServiceLastAccessedDetailsWithEntitiesRequest method.
-// req, resp := client.GetServiceLastAccessedDetailsWithEntitiesRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetServiceLastAccessedDetailsWithEntities
-func (c *IAM) GetServiceLastAccessedDetailsWithEntitiesRequest(input *GetServiceLastAccessedDetailsWithEntitiesInput) (req *request.Request, output *GetServiceLastAccessedDetailsWithEntitiesOutput) {
- op := &request.Operation{
- Name: opGetServiceLastAccessedDetailsWithEntities,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &GetServiceLastAccessedDetailsWithEntitiesInput{}
- }
-
- output = &GetServiceLastAccessedDetailsWithEntitiesOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// GetServiceLastAccessedDetailsWithEntities API operation for AWS Identity and Access Management.
-//
-// After you generate a group or policy report using the GenerateServiceLastAccessedDetails
-// operation, you can use the JobId parameter in GetServiceLastAccessedDetailsWithEntities.
-// This operation retrieves the status of your report job and a list of entities
-// that could have used group or policy permissions to access the specified
-// service.
-//
-// * Group – For a group report, this operation returns a list of users
-// in the group that could have used the group’s policies in an attempt
-// to access the service.
-//
-// * Policy – For a policy report, this operation returns a list of entities
-// (users or roles) that could have used the policy in an attempt to access
-// the service.
-//
-// You can also use this operation for user or role reports to retrieve details
-// about those entities.
-//
-// If the operation fails, the GetServiceLastAccessedDetailsWithEntities operation
-// returns the reason that it failed.
-//
-// By default, the list of associated entities is sorted by date, with the most
-// recent access listed first.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation GetServiceLastAccessedDetailsWithEntities for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeInvalidInputException "InvalidInput"
-// The request was rejected because an invalid or out-of-range value was supplied
-// for an input parameter.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetServiceLastAccessedDetailsWithEntities
-func (c *IAM) GetServiceLastAccessedDetailsWithEntities(input *GetServiceLastAccessedDetailsWithEntitiesInput) (*GetServiceLastAccessedDetailsWithEntitiesOutput, error) {
- req, out := c.GetServiceLastAccessedDetailsWithEntitiesRequest(input)
- return out, req.Send()
-}
-
-// GetServiceLastAccessedDetailsWithEntitiesWithContext is the same as GetServiceLastAccessedDetailsWithEntities with the addition of
-// the ability to pass a context and additional request options.
-//
-// See GetServiceLastAccessedDetailsWithEntities for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) GetServiceLastAccessedDetailsWithEntitiesWithContext(ctx aws.Context, input *GetServiceLastAccessedDetailsWithEntitiesInput, opts ...request.Option) (*GetServiceLastAccessedDetailsWithEntitiesOutput, error) {
- req, out := c.GetServiceLastAccessedDetailsWithEntitiesRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opGetServiceLinkedRoleDeletionStatus = "GetServiceLinkedRoleDeletionStatus"
-
-// GetServiceLinkedRoleDeletionStatusRequest generates a "aws/request.Request" representing the
-// client's request for the GetServiceLinkedRoleDeletionStatus operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See GetServiceLinkedRoleDeletionStatus for more information on using the GetServiceLinkedRoleDeletionStatus
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the GetServiceLinkedRoleDeletionStatusRequest method.
-// req, resp := client.GetServiceLinkedRoleDeletionStatusRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetServiceLinkedRoleDeletionStatus
-func (c *IAM) GetServiceLinkedRoleDeletionStatusRequest(input *GetServiceLinkedRoleDeletionStatusInput) (req *request.Request, output *GetServiceLinkedRoleDeletionStatusOutput) {
- op := &request.Operation{
- Name: opGetServiceLinkedRoleDeletionStatus,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &GetServiceLinkedRoleDeletionStatusInput{}
- }
-
- output = &GetServiceLinkedRoleDeletionStatusOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// GetServiceLinkedRoleDeletionStatus API operation for AWS Identity and Access Management.
-//
-// Retrieves the status of your service-linked role deletion. After you use
-// the DeleteServiceLinkedRole API operation to submit a service-linked role
-// for deletion, you can use the DeletionTaskId parameter in GetServiceLinkedRoleDeletionStatus
-// to check the status of the deletion. If the deletion fails, this operation
-// returns the reason that it failed, if that information is returned by the
-// service.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation GetServiceLinkedRoleDeletionStatus for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeInvalidInputException "InvalidInput"
-// The request was rejected because an invalid or out-of-range value was supplied
-// for an input parameter.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetServiceLinkedRoleDeletionStatus
-func (c *IAM) GetServiceLinkedRoleDeletionStatus(input *GetServiceLinkedRoleDeletionStatusInput) (*GetServiceLinkedRoleDeletionStatusOutput, error) {
- req, out := c.GetServiceLinkedRoleDeletionStatusRequest(input)
- return out, req.Send()
-}
-
-// GetServiceLinkedRoleDeletionStatusWithContext is the same as GetServiceLinkedRoleDeletionStatus with the addition of
-// the ability to pass a context and additional request options.
-//
-// See GetServiceLinkedRoleDeletionStatus for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) GetServiceLinkedRoleDeletionStatusWithContext(ctx aws.Context, input *GetServiceLinkedRoleDeletionStatusInput, opts ...request.Option) (*GetServiceLinkedRoleDeletionStatusOutput, error) {
- req, out := c.GetServiceLinkedRoleDeletionStatusRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opGetUser = "GetUser"
-
-// GetUserRequest generates a "aws/request.Request" representing the
-// client's request for the GetUser operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See GetUser for more information on using the GetUser
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the GetUserRequest method.
-// req, resp := client.GetUserRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetUser
-func (c *IAM) GetUserRequest(input *GetUserInput) (req *request.Request, output *GetUserOutput) {
- op := &request.Operation{
- Name: opGetUser,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &GetUserInput{}
- }
-
- output = &GetUserOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// GetUser API operation for AWS Identity and Access Management.
-//
-// Retrieves information about the specified IAM user, including the user's
-// creation date, path, unique ID, and ARN.
-//
-// If you do not specify a user name, IAM determines the user name implicitly
-// based on the AWS access key ID used to sign the request to this API.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation GetUser for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetUser
-func (c *IAM) GetUser(input *GetUserInput) (*GetUserOutput, error) {
- req, out := c.GetUserRequest(input)
- return out, req.Send()
-}
-
-// GetUserWithContext is the same as GetUser with the addition of
-// the ability to pass a context and additional request options.
-//
-// See GetUser for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) GetUserWithContext(ctx aws.Context, input *GetUserInput, opts ...request.Option) (*GetUserOutput, error) {
- req, out := c.GetUserRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opGetUserPolicy = "GetUserPolicy"
-
-// GetUserPolicyRequest generates a "aws/request.Request" representing the
-// client's request for the GetUserPolicy operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See GetUserPolicy for more information on using the GetUserPolicy
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the GetUserPolicyRequest method.
-// req, resp := client.GetUserPolicyRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetUserPolicy
-func (c *IAM) GetUserPolicyRequest(input *GetUserPolicyInput) (req *request.Request, output *GetUserPolicyOutput) {
- op := &request.Operation{
- Name: opGetUserPolicy,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &GetUserPolicyInput{}
- }
-
- output = &GetUserPolicyOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// GetUserPolicy API operation for AWS Identity and Access Management.
-//
-// Retrieves the specified inline policy document that is embedded in the specified
-// IAM user.
-//
-// Policies returned by this API are URL-encoded compliant with RFC 3986 (https://tools.ietf.org/html/rfc3986).
-// You can use a URL decoding method to convert the policy back to plain JSON
-// text. For example, if you use Java, you can use the decode method of the
-// java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs
-// provide similar functionality.
-//
-// An IAM user can also have managed policies attached to it. To retrieve a
-// managed policy document that is attached to a user, use GetPolicy to determine
-// the policy's default version. Then use GetPolicyVersion to retrieve the policy
-// document.
-//
-// 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.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation GetUserPolicy for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetUserPolicy
-func (c *IAM) GetUserPolicy(input *GetUserPolicyInput) (*GetUserPolicyOutput, error) {
- req, out := c.GetUserPolicyRequest(input)
- return out, req.Send()
-}
-
-// GetUserPolicyWithContext is the same as GetUserPolicy with the addition of
-// the ability to pass a context and additional request options.
-//
-// See GetUserPolicy for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) GetUserPolicyWithContext(ctx aws.Context, input *GetUserPolicyInput, opts ...request.Option) (*GetUserPolicyOutput, error) {
- req, out := c.GetUserPolicyRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opListAccessKeys = "ListAccessKeys"
-
-// ListAccessKeysRequest generates a "aws/request.Request" representing the
-// client's request for the ListAccessKeys operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See ListAccessKeys for more information on using the ListAccessKeys
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the ListAccessKeysRequest method.
-// req, resp := client.ListAccessKeysRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListAccessKeys
-func (c *IAM) ListAccessKeysRequest(input *ListAccessKeysInput) (req *request.Request, output *ListAccessKeysOutput) {
- op := &request.Operation{
- Name: opListAccessKeys,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"Marker"},
- OutputTokens: []string{"Marker"},
- LimitToken: "MaxItems",
- TruncationToken: "IsTruncated",
- },
- }
-
- if input == nil {
- input = &ListAccessKeysInput{}
- }
-
- output = &ListAccessKeysOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// ListAccessKeys API operation for AWS Identity and Access Management.
-//
-// Returns information about the access key IDs associated with the specified
-// IAM user. If there is none, the operation returns an empty list.
-//
-// Although each user is limited to a small number of keys, you can still paginate
-// the results using the MaxItems and Marker parameters.
-//
-// If the UserName field is not specified, the user name is determined implicitly
-// based on the AWS access key ID used to sign the request. This operation works
-// for access keys under the AWS account. Consequently, you can use this operation
-// to manage AWS account root user credentials even if the AWS account has no
-// associated users.
-//
-// To ensure the security of your AWS account, the secret access key is accessible
-// only during key and user creation.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation ListAccessKeys for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListAccessKeys
-func (c *IAM) ListAccessKeys(input *ListAccessKeysInput) (*ListAccessKeysOutput, error) {
- req, out := c.ListAccessKeysRequest(input)
- return out, req.Send()
-}
-
-// ListAccessKeysWithContext is the same as ListAccessKeys with the addition of
-// the ability to pass a context and additional request options.
-//
-// See ListAccessKeys for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) ListAccessKeysWithContext(ctx aws.Context, input *ListAccessKeysInput, opts ...request.Option) (*ListAccessKeysOutput, error) {
- req, out := c.ListAccessKeysRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-// ListAccessKeysPages iterates over the pages of a ListAccessKeys operation,
-// calling the "fn" function with the response data for each page. To stop
-// iterating, return false from the fn function.
-//
-// See ListAccessKeys method for more information on how to use this operation.
-//
-// Note: This operation can generate multiple requests to a service.
-//
-// // Example iterating over at most 3 pages of a ListAccessKeys operation.
-// pageNum := 0
-// err := client.ListAccessKeysPages(params,
-// func(page *iam.ListAccessKeysOutput, lastPage bool) bool {
-// pageNum++
-// fmt.Println(page)
-// return pageNum <= 3
-// })
-//
-func (c *IAM) ListAccessKeysPages(input *ListAccessKeysInput, fn func(*ListAccessKeysOutput, bool) bool) error {
- return c.ListAccessKeysPagesWithContext(aws.BackgroundContext(), input, fn)
-}
-
-// ListAccessKeysPagesWithContext same as ListAccessKeysPages except
-// it takes a Context and allows setting request options on the pages.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) ListAccessKeysPagesWithContext(ctx aws.Context, input *ListAccessKeysInput, fn func(*ListAccessKeysOutput, bool) bool, opts ...request.Option) error {
- p := request.Pagination{
- NewRequest: func() (*request.Request, error) {
- var inCpy *ListAccessKeysInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.ListAccessKeysRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
-
- for p.Next() {
- if !fn(p.Page().(*ListAccessKeysOutput), !p.HasNextPage()) {
- break
- }
- }
-
- return p.Err()
-}
-
-const opListAccountAliases = "ListAccountAliases"
-
-// ListAccountAliasesRequest generates a "aws/request.Request" representing the
-// client's request for the ListAccountAliases operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See ListAccountAliases for more information on using the ListAccountAliases
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the ListAccountAliasesRequest method.
-// req, resp := client.ListAccountAliasesRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListAccountAliases
-func (c *IAM) ListAccountAliasesRequest(input *ListAccountAliasesInput) (req *request.Request, output *ListAccountAliasesOutput) {
- op := &request.Operation{
- Name: opListAccountAliases,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"Marker"},
- OutputTokens: []string{"Marker"},
- LimitToken: "MaxItems",
- TruncationToken: "IsTruncated",
- },
- }
-
- if input == nil {
- input = &ListAccountAliasesInput{}
- }
-
- output = &ListAccountAliasesOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// ListAccountAliases API operation for AWS Identity and Access Management.
-//
-// Lists the account alias associated with the AWS account (Note: you can have
-// only one). For information about using an AWS account alias, see Using an
-// Alias for Your AWS Account ID (https://docs.aws.amazon.com/IAM/latest/UserGuide/AccountAlias.html)
-// in the IAM User Guide.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation ListAccountAliases for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListAccountAliases
-func (c *IAM) ListAccountAliases(input *ListAccountAliasesInput) (*ListAccountAliasesOutput, error) {
- req, out := c.ListAccountAliasesRequest(input)
- return out, req.Send()
-}
-
-// ListAccountAliasesWithContext is the same as ListAccountAliases with the addition of
-// the ability to pass a context and additional request options.
-//
-// See ListAccountAliases for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) ListAccountAliasesWithContext(ctx aws.Context, input *ListAccountAliasesInput, opts ...request.Option) (*ListAccountAliasesOutput, error) {
- req, out := c.ListAccountAliasesRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-// ListAccountAliasesPages iterates over the pages of a ListAccountAliases operation,
-// calling the "fn" function with the response data for each page. To stop
-// iterating, return false from the fn function.
-//
-// See ListAccountAliases method for more information on how to use this operation.
-//
-// Note: This operation can generate multiple requests to a service.
-//
-// // Example iterating over at most 3 pages of a ListAccountAliases operation.
-// pageNum := 0
-// err := client.ListAccountAliasesPages(params,
-// func(page *iam.ListAccountAliasesOutput, lastPage bool) bool {
-// pageNum++
-// fmt.Println(page)
-// return pageNum <= 3
-// })
-//
-func (c *IAM) ListAccountAliasesPages(input *ListAccountAliasesInput, fn func(*ListAccountAliasesOutput, bool) bool) error {
- return c.ListAccountAliasesPagesWithContext(aws.BackgroundContext(), input, fn)
-}
-
-// ListAccountAliasesPagesWithContext same as ListAccountAliasesPages except
-// it takes a Context and allows setting request options on the pages.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) ListAccountAliasesPagesWithContext(ctx aws.Context, input *ListAccountAliasesInput, fn func(*ListAccountAliasesOutput, bool) bool, opts ...request.Option) error {
- p := request.Pagination{
- NewRequest: func() (*request.Request, error) {
- var inCpy *ListAccountAliasesInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.ListAccountAliasesRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
-
- for p.Next() {
- if !fn(p.Page().(*ListAccountAliasesOutput), !p.HasNextPage()) {
- break
- }
- }
-
- return p.Err()
-}
-
-const opListAttachedGroupPolicies = "ListAttachedGroupPolicies"
-
-// ListAttachedGroupPoliciesRequest generates a "aws/request.Request" representing the
-// client's request for the ListAttachedGroupPolicies operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See ListAttachedGroupPolicies for more information on using the ListAttachedGroupPolicies
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the ListAttachedGroupPoliciesRequest method.
-// req, resp := client.ListAttachedGroupPoliciesRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListAttachedGroupPolicies
-func (c *IAM) ListAttachedGroupPoliciesRequest(input *ListAttachedGroupPoliciesInput) (req *request.Request, output *ListAttachedGroupPoliciesOutput) {
- op := &request.Operation{
- Name: opListAttachedGroupPolicies,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"Marker"},
- OutputTokens: []string{"Marker"},
- LimitToken: "MaxItems",
- TruncationToken: "IsTruncated",
- },
- }
-
- if input == nil {
- input = &ListAttachedGroupPoliciesInput{}
- }
-
- output = &ListAttachedGroupPoliciesOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// ListAttachedGroupPolicies API operation for AWS Identity and Access Management.
-//
-// Lists all managed policies that are attached to the specified IAM group.
-//
-// An IAM group can also have inline policies embedded with it. To list the
-// inline policies for a group, use the ListGroupPolicies API. For 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.
-//
-// You can paginate the results using the MaxItems and Marker parameters. You
-// can use the PathPrefix parameter to limit the list of policies to only those
-// matching the specified path prefix. If there are no policies attached to
-// the specified group (or none that match the specified path prefix), the operation
-// returns an empty list.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation ListAttachedGroupPolicies for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeInvalidInputException "InvalidInput"
-// The request was rejected because an invalid or out-of-range value was supplied
-// for an input parameter.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListAttachedGroupPolicies
-func (c *IAM) ListAttachedGroupPolicies(input *ListAttachedGroupPoliciesInput) (*ListAttachedGroupPoliciesOutput, error) {
- req, out := c.ListAttachedGroupPoliciesRequest(input)
- return out, req.Send()
-}
-
-// ListAttachedGroupPoliciesWithContext is the same as ListAttachedGroupPolicies with the addition of
-// the ability to pass a context and additional request options.
-//
-// See ListAttachedGroupPolicies for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) ListAttachedGroupPoliciesWithContext(ctx aws.Context, input *ListAttachedGroupPoliciesInput, opts ...request.Option) (*ListAttachedGroupPoliciesOutput, error) {
- req, out := c.ListAttachedGroupPoliciesRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-// ListAttachedGroupPoliciesPages iterates over the pages of a ListAttachedGroupPolicies operation,
-// calling the "fn" function with the response data for each page. To stop
-// iterating, return false from the fn function.
-//
-// See ListAttachedGroupPolicies method for more information on how to use this operation.
-//
-// Note: This operation can generate multiple requests to a service.
-//
-// // Example iterating over at most 3 pages of a ListAttachedGroupPolicies operation.
-// pageNum := 0
-// err := client.ListAttachedGroupPoliciesPages(params,
-// func(page *iam.ListAttachedGroupPoliciesOutput, lastPage bool) bool {
-// pageNum++
-// fmt.Println(page)
-// return pageNum <= 3
-// })
-//
-func (c *IAM) ListAttachedGroupPoliciesPages(input *ListAttachedGroupPoliciesInput, fn func(*ListAttachedGroupPoliciesOutput, bool) bool) error {
- return c.ListAttachedGroupPoliciesPagesWithContext(aws.BackgroundContext(), input, fn)
-}
-
-// ListAttachedGroupPoliciesPagesWithContext same as ListAttachedGroupPoliciesPages except
-// it takes a Context and allows setting request options on the pages.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) ListAttachedGroupPoliciesPagesWithContext(ctx aws.Context, input *ListAttachedGroupPoliciesInput, fn func(*ListAttachedGroupPoliciesOutput, bool) bool, opts ...request.Option) error {
- p := request.Pagination{
- NewRequest: func() (*request.Request, error) {
- var inCpy *ListAttachedGroupPoliciesInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.ListAttachedGroupPoliciesRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
-
- for p.Next() {
- if !fn(p.Page().(*ListAttachedGroupPoliciesOutput), !p.HasNextPage()) {
- break
- }
- }
-
- return p.Err()
-}
-
-const opListAttachedRolePolicies = "ListAttachedRolePolicies"
-
-// ListAttachedRolePoliciesRequest generates a "aws/request.Request" representing the
-// client's request for the ListAttachedRolePolicies operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See ListAttachedRolePolicies for more information on using the ListAttachedRolePolicies
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the ListAttachedRolePoliciesRequest method.
-// req, resp := client.ListAttachedRolePoliciesRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListAttachedRolePolicies
-func (c *IAM) ListAttachedRolePoliciesRequest(input *ListAttachedRolePoliciesInput) (req *request.Request, output *ListAttachedRolePoliciesOutput) {
- op := &request.Operation{
- Name: opListAttachedRolePolicies,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"Marker"},
- OutputTokens: []string{"Marker"},
- LimitToken: "MaxItems",
- TruncationToken: "IsTruncated",
- },
- }
-
- if input == nil {
- input = &ListAttachedRolePoliciesInput{}
- }
-
- output = &ListAttachedRolePoliciesOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// ListAttachedRolePolicies API operation for AWS Identity and Access Management.
-//
-// Lists all managed policies that are attached to the specified IAM role.
-//
-// An IAM role can also have inline policies embedded with it. To list the inline
-// policies for a role, use the ListRolePolicies API. For 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.
-//
-// You can paginate the results using the MaxItems and Marker parameters. You
-// can use the PathPrefix parameter to limit the list of policies to only those
-// matching the specified path prefix. If there are no policies attached to
-// the specified role (or none that match the specified path prefix), the operation
-// returns an empty list.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation ListAttachedRolePolicies for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeInvalidInputException "InvalidInput"
-// The request was rejected because an invalid or out-of-range value was supplied
-// for an input parameter.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListAttachedRolePolicies
-func (c *IAM) ListAttachedRolePolicies(input *ListAttachedRolePoliciesInput) (*ListAttachedRolePoliciesOutput, error) {
- req, out := c.ListAttachedRolePoliciesRequest(input)
- return out, req.Send()
-}
-
-// ListAttachedRolePoliciesWithContext is the same as ListAttachedRolePolicies with the addition of
-// the ability to pass a context and additional request options.
-//
-// See ListAttachedRolePolicies for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) ListAttachedRolePoliciesWithContext(ctx aws.Context, input *ListAttachedRolePoliciesInput, opts ...request.Option) (*ListAttachedRolePoliciesOutput, error) {
- req, out := c.ListAttachedRolePoliciesRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-// ListAttachedRolePoliciesPages iterates over the pages of a ListAttachedRolePolicies operation,
-// calling the "fn" function with the response data for each page. To stop
-// iterating, return false from the fn function.
-//
-// See ListAttachedRolePolicies method for more information on how to use this operation.
-//
-// Note: This operation can generate multiple requests to a service.
-//
-// // Example iterating over at most 3 pages of a ListAttachedRolePolicies operation.
-// pageNum := 0
-// err := client.ListAttachedRolePoliciesPages(params,
-// func(page *iam.ListAttachedRolePoliciesOutput, lastPage bool) bool {
-// pageNum++
-// fmt.Println(page)
-// return pageNum <= 3
-// })
-//
-func (c *IAM) ListAttachedRolePoliciesPages(input *ListAttachedRolePoliciesInput, fn func(*ListAttachedRolePoliciesOutput, bool) bool) error {
- return c.ListAttachedRolePoliciesPagesWithContext(aws.BackgroundContext(), input, fn)
-}
-
-// ListAttachedRolePoliciesPagesWithContext same as ListAttachedRolePoliciesPages except
-// it takes a Context and allows setting request options on the pages.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) ListAttachedRolePoliciesPagesWithContext(ctx aws.Context, input *ListAttachedRolePoliciesInput, fn func(*ListAttachedRolePoliciesOutput, bool) bool, opts ...request.Option) error {
- p := request.Pagination{
- NewRequest: func() (*request.Request, error) {
- var inCpy *ListAttachedRolePoliciesInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.ListAttachedRolePoliciesRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
-
- for p.Next() {
- if !fn(p.Page().(*ListAttachedRolePoliciesOutput), !p.HasNextPage()) {
- break
- }
- }
-
- return p.Err()
-}
-
-const opListAttachedUserPolicies = "ListAttachedUserPolicies"
-
-// ListAttachedUserPoliciesRequest generates a "aws/request.Request" representing the
-// client's request for the ListAttachedUserPolicies operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See ListAttachedUserPolicies for more information on using the ListAttachedUserPolicies
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the ListAttachedUserPoliciesRequest method.
-// req, resp := client.ListAttachedUserPoliciesRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListAttachedUserPolicies
-func (c *IAM) ListAttachedUserPoliciesRequest(input *ListAttachedUserPoliciesInput) (req *request.Request, output *ListAttachedUserPoliciesOutput) {
- op := &request.Operation{
- Name: opListAttachedUserPolicies,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"Marker"},
- OutputTokens: []string{"Marker"},
- LimitToken: "MaxItems",
- TruncationToken: "IsTruncated",
- },
- }
-
- if input == nil {
- input = &ListAttachedUserPoliciesInput{}
- }
-
- output = &ListAttachedUserPoliciesOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// ListAttachedUserPolicies API operation for AWS Identity and Access Management.
-//
-// Lists all managed policies that are attached to the specified IAM user.
-//
-// An IAM user can also have inline policies embedded with it. To list the inline
-// policies for a user, use the ListUserPolicies API. For 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.
-//
-// You can paginate the results using the MaxItems and Marker parameters. You
-// can use the PathPrefix parameter to limit the list of policies to only those
-// matching the specified path prefix. If there are no policies attached to
-// the specified group (or none that match the specified path prefix), the operation
-// returns an empty list.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation ListAttachedUserPolicies for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeInvalidInputException "InvalidInput"
-// The request was rejected because an invalid or out-of-range value was supplied
-// for an input parameter.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListAttachedUserPolicies
-func (c *IAM) ListAttachedUserPolicies(input *ListAttachedUserPoliciesInput) (*ListAttachedUserPoliciesOutput, error) {
- req, out := c.ListAttachedUserPoliciesRequest(input)
- return out, req.Send()
-}
-
-// ListAttachedUserPoliciesWithContext is the same as ListAttachedUserPolicies with the addition of
-// the ability to pass a context and additional request options.
-//
-// See ListAttachedUserPolicies for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) ListAttachedUserPoliciesWithContext(ctx aws.Context, input *ListAttachedUserPoliciesInput, opts ...request.Option) (*ListAttachedUserPoliciesOutput, error) {
- req, out := c.ListAttachedUserPoliciesRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-// ListAttachedUserPoliciesPages iterates over the pages of a ListAttachedUserPolicies operation,
-// calling the "fn" function with the response data for each page. To stop
-// iterating, return false from the fn function.
-//
-// See ListAttachedUserPolicies method for more information on how to use this operation.
-//
-// Note: This operation can generate multiple requests to a service.
-//
-// // Example iterating over at most 3 pages of a ListAttachedUserPolicies operation.
-// pageNum := 0
-// err := client.ListAttachedUserPoliciesPages(params,
-// func(page *iam.ListAttachedUserPoliciesOutput, lastPage bool) bool {
-// pageNum++
-// fmt.Println(page)
-// return pageNum <= 3
-// })
-//
-func (c *IAM) ListAttachedUserPoliciesPages(input *ListAttachedUserPoliciesInput, fn func(*ListAttachedUserPoliciesOutput, bool) bool) error {
- return c.ListAttachedUserPoliciesPagesWithContext(aws.BackgroundContext(), input, fn)
-}
-
-// ListAttachedUserPoliciesPagesWithContext same as ListAttachedUserPoliciesPages except
-// it takes a Context and allows setting request options on the pages.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) ListAttachedUserPoliciesPagesWithContext(ctx aws.Context, input *ListAttachedUserPoliciesInput, fn func(*ListAttachedUserPoliciesOutput, bool) bool, opts ...request.Option) error {
- p := request.Pagination{
- NewRequest: func() (*request.Request, error) {
- var inCpy *ListAttachedUserPoliciesInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.ListAttachedUserPoliciesRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
-
- for p.Next() {
- if !fn(p.Page().(*ListAttachedUserPoliciesOutput), !p.HasNextPage()) {
- break
- }
- }
-
- return p.Err()
-}
-
-const opListEntitiesForPolicy = "ListEntitiesForPolicy"
-
-// ListEntitiesForPolicyRequest generates a "aws/request.Request" representing the
-// client's request for the ListEntitiesForPolicy operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See ListEntitiesForPolicy for more information on using the ListEntitiesForPolicy
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the ListEntitiesForPolicyRequest method.
-// req, resp := client.ListEntitiesForPolicyRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListEntitiesForPolicy
-func (c *IAM) ListEntitiesForPolicyRequest(input *ListEntitiesForPolicyInput) (req *request.Request, output *ListEntitiesForPolicyOutput) {
- op := &request.Operation{
- Name: opListEntitiesForPolicy,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"Marker"},
- OutputTokens: []string{"Marker"},
- LimitToken: "MaxItems",
- TruncationToken: "IsTruncated",
- },
- }
-
- if input == nil {
- input = &ListEntitiesForPolicyInput{}
- }
-
- output = &ListEntitiesForPolicyOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// ListEntitiesForPolicy API operation for AWS Identity and Access Management.
-//
-// Lists all IAM users, groups, and roles that the specified managed policy
-// is attached to.
-//
-// You can use the optional EntityFilter parameter to limit the results to a
-// particular type of entity (users, groups, or roles). For example, to list
-// only the roles that are attached to the specified policy, set EntityFilter
-// to Role.
-//
-// You can paginate the results using the MaxItems and Marker parameters.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation ListEntitiesForPolicy for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeInvalidInputException "InvalidInput"
-// The request was rejected because an invalid or out-of-range value was supplied
-// for an input parameter.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListEntitiesForPolicy
-func (c *IAM) ListEntitiesForPolicy(input *ListEntitiesForPolicyInput) (*ListEntitiesForPolicyOutput, error) {
- req, out := c.ListEntitiesForPolicyRequest(input)
- return out, req.Send()
-}
-
-// ListEntitiesForPolicyWithContext is the same as ListEntitiesForPolicy with the addition of
-// the ability to pass a context and additional request options.
-//
-// See ListEntitiesForPolicy for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) ListEntitiesForPolicyWithContext(ctx aws.Context, input *ListEntitiesForPolicyInput, opts ...request.Option) (*ListEntitiesForPolicyOutput, error) {
- req, out := c.ListEntitiesForPolicyRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-// ListEntitiesForPolicyPages iterates over the pages of a ListEntitiesForPolicy operation,
-// calling the "fn" function with the response data for each page. To stop
-// iterating, return false from the fn function.
-//
-// See ListEntitiesForPolicy method for more information on how to use this operation.
-//
-// Note: This operation can generate multiple requests to a service.
-//
-// // Example iterating over at most 3 pages of a ListEntitiesForPolicy operation.
-// pageNum := 0
-// err := client.ListEntitiesForPolicyPages(params,
-// func(page *iam.ListEntitiesForPolicyOutput, lastPage bool) bool {
-// pageNum++
-// fmt.Println(page)
-// return pageNum <= 3
-// })
-//
-func (c *IAM) ListEntitiesForPolicyPages(input *ListEntitiesForPolicyInput, fn func(*ListEntitiesForPolicyOutput, bool) bool) error {
- return c.ListEntitiesForPolicyPagesWithContext(aws.BackgroundContext(), input, fn)
-}
-
-// ListEntitiesForPolicyPagesWithContext same as ListEntitiesForPolicyPages except
-// it takes a Context and allows setting request options on the pages.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) ListEntitiesForPolicyPagesWithContext(ctx aws.Context, input *ListEntitiesForPolicyInput, fn func(*ListEntitiesForPolicyOutput, bool) bool, opts ...request.Option) error {
- p := request.Pagination{
- NewRequest: func() (*request.Request, error) {
- var inCpy *ListEntitiesForPolicyInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.ListEntitiesForPolicyRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
-
- for p.Next() {
- if !fn(p.Page().(*ListEntitiesForPolicyOutput), !p.HasNextPage()) {
- break
- }
- }
-
- return p.Err()
-}
-
-const opListGroupPolicies = "ListGroupPolicies"
-
-// ListGroupPoliciesRequest generates a "aws/request.Request" representing the
-// client's request for the ListGroupPolicies operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See ListGroupPolicies for more information on using the ListGroupPolicies
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the ListGroupPoliciesRequest method.
-// req, resp := client.ListGroupPoliciesRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListGroupPolicies
-func (c *IAM) ListGroupPoliciesRequest(input *ListGroupPoliciesInput) (req *request.Request, output *ListGroupPoliciesOutput) {
- op := &request.Operation{
- Name: opListGroupPolicies,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"Marker"},
- OutputTokens: []string{"Marker"},
- LimitToken: "MaxItems",
- TruncationToken: "IsTruncated",
- },
- }
-
- if input == nil {
- input = &ListGroupPoliciesInput{}
- }
-
- output = &ListGroupPoliciesOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// ListGroupPolicies API operation for AWS Identity and Access Management.
-//
-// Lists the names of the inline policies that are embedded in the specified
-// IAM group.
-//
-// An IAM group can also have managed policies attached to it. To list the managed
-// policies that are attached to a group, use ListAttachedGroupPolicies. 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.
-//
-// You can paginate the results using the MaxItems and Marker parameters. If
-// there are no inline policies embedded with the specified group, the operation
-// returns an empty list.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation ListGroupPolicies for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListGroupPolicies
-func (c *IAM) ListGroupPolicies(input *ListGroupPoliciesInput) (*ListGroupPoliciesOutput, error) {
- req, out := c.ListGroupPoliciesRequest(input)
- return out, req.Send()
-}
-
-// ListGroupPoliciesWithContext is the same as ListGroupPolicies with the addition of
-// the ability to pass a context and additional request options.
-//
-// See ListGroupPolicies for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) ListGroupPoliciesWithContext(ctx aws.Context, input *ListGroupPoliciesInput, opts ...request.Option) (*ListGroupPoliciesOutput, error) {
- req, out := c.ListGroupPoliciesRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-// ListGroupPoliciesPages iterates over the pages of a ListGroupPolicies operation,
-// calling the "fn" function with the response data for each page. To stop
-// iterating, return false from the fn function.
-//
-// See ListGroupPolicies method for more information on how to use this operation.
-//
-// Note: This operation can generate multiple requests to a service.
-//
-// // Example iterating over at most 3 pages of a ListGroupPolicies operation.
-// pageNum := 0
-// err := client.ListGroupPoliciesPages(params,
-// func(page *iam.ListGroupPoliciesOutput, lastPage bool) bool {
-// pageNum++
-// fmt.Println(page)
-// return pageNum <= 3
-// })
-//
-func (c *IAM) ListGroupPoliciesPages(input *ListGroupPoliciesInput, fn func(*ListGroupPoliciesOutput, bool) bool) error {
- return c.ListGroupPoliciesPagesWithContext(aws.BackgroundContext(), input, fn)
-}
-
-// ListGroupPoliciesPagesWithContext same as ListGroupPoliciesPages except
-// it takes a Context and allows setting request options on the pages.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) ListGroupPoliciesPagesWithContext(ctx aws.Context, input *ListGroupPoliciesInput, fn func(*ListGroupPoliciesOutput, bool) bool, opts ...request.Option) error {
- p := request.Pagination{
- NewRequest: func() (*request.Request, error) {
- var inCpy *ListGroupPoliciesInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.ListGroupPoliciesRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
-
- for p.Next() {
- if !fn(p.Page().(*ListGroupPoliciesOutput), !p.HasNextPage()) {
- break
- }
- }
-
- return p.Err()
-}
-
-const opListGroups = "ListGroups"
-
-// ListGroupsRequest generates a "aws/request.Request" representing the
-// client's request for the ListGroups operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See ListGroups for more information on using the ListGroups
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the ListGroupsRequest method.
-// req, resp := client.ListGroupsRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListGroups
-func (c *IAM) ListGroupsRequest(input *ListGroupsInput) (req *request.Request, output *ListGroupsOutput) {
- op := &request.Operation{
- Name: opListGroups,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"Marker"},
- OutputTokens: []string{"Marker"},
- LimitToken: "MaxItems",
- TruncationToken: "IsTruncated",
- },
- }
-
- if input == nil {
- input = &ListGroupsInput{}
- }
-
- output = &ListGroupsOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// ListGroups API operation for AWS Identity and Access Management.
-//
-// Lists the IAM groups that have the specified path prefix.
-//
-// You can paginate the results using the MaxItems and Marker parameters.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation ListGroups for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListGroups
-func (c *IAM) ListGroups(input *ListGroupsInput) (*ListGroupsOutput, error) {
- req, out := c.ListGroupsRequest(input)
- return out, req.Send()
-}
-
-// ListGroupsWithContext is the same as ListGroups with the addition of
-// the ability to pass a context and additional request options.
-//
-// See ListGroups for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) ListGroupsWithContext(ctx aws.Context, input *ListGroupsInput, opts ...request.Option) (*ListGroupsOutput, error) {
- req, out := c.ListGroupsRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-// ListGroupsPages iterates over the pages of a ListGroups operation,
-// calling the "fn" function with the response data for each page. To stop
-// iterating, return false from the fn function.
-//
-// See ListGroups method for more information on how to use this operation.
-//
-// Note: This operation can generate multiple requests to a service.
-//
-// // Example iterating over at most 3 pages of a ListGroups operation.
-// pageNum := 0
-// err := client.ListGroupsPages(params,
-// func(page *iam.ListGroupsOutput, lastPage bool) bool {
-// pageNum++
-// fmt.Println(page)
-// return pageNum <= 3
-// })
-//
-func (c *IAM) ListGroupsPages(input *ListGroupsInput, fn func(*ListGroupsOutput, bool) bool) error {
- return c.ListGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
-}
-
-// ListGroupsPagesWithContext same as ListGroupsPages except
-// it takes a Context and allows setting request options on the pages.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) ListGroupsPagesWithContext(ctx aws.Context, input *ListGroupsInput, fn func(*ListGroupsOutput, bool) bool, opts ...request.Option) error {
- p := request.Pagination{
- NewRequest: func() (*request.Request, error) {
- var inCpy *ListGroupsInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.ListGroupsRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
-
- for p.Next() {
- if !fn(p.Page().(*ListGroupsOutput), !p.HasNextPage()) {
- break
- }
- }
-
- return p.Err()
-}
-
-const opListGroupsForUser = "ListGroupsForUser"
-
-// ListGroupsForUserRequest generates a "aws/request.Request" representing the
-// client's request for the ListGroupsForUser operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See ListGroupsForUser for more information on using the ListGroupsForUser
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the ListGroupsForUserRequest method.
-// req, resp := client.ListGroupsForUserRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListGroupsForUser
-func (c *IAM) ListGroupsForUserRequest(input *ListGroupsForUserInput) (req *request.Request, output *ListGroupsForUserOutput) {
- op := &request.Operation{
- Name: opListGroupsForUser,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"Marker"},
- OutputTokens: []string{"Marker"},
- LimitToken: "MaxItems",
- TruncationToken: "IsTruncated",
- },
- }
-
- if input == nil {
- input = &ListGroupsForUserInput{}
- }
-
- output = &ListGroupsForUserOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// ListGroupsForUser API operation for AWS Identity and Access Management.
-//
-// Lists the IAM groups that the specified IAM user belongs to.
-//
-// You can paginate the results using the MaxItems and Marker parameters.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation ListGroupsForUser for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListGroupsForUser
-func (c *IAM) ListGroupsForUser(input *ListGroupsForUserInput) (*ListGroupsForUserOutput, error) {
- req, out := c.ListGroupsForUserRequest(input)
- return out, req.Send()
-}
-
-// ListGroupsForUserWithContext is the same as ListGroupsForUser with the addition of
-// the ability to pass a context and additional request options.
-//
-// See ListGroupsForUser for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) ListGroupsForUserWithContext(ctx aws.Context, input *ListGroupsForUserInput, opts ...request.Option) (*ListGroupsForUserOutput, error) {
- req, out := c.ListGroupsForUserRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-// ListGroupsForUserPages iterates over the pages of a ListGroupsForUser operation,
-// calling the "fn" function with the response data for each page. To stop
-// iterating, return false from the fn function.
-//
-// See ListGroupsForUser method for more information on how to use this operation.
-//
-// Note: This operation can generate multiple requests to a service.
-//
-// // Example iterating over at most 3 pages of a ListGroupsForUser operation.
-// pageNum := 0
-// err := client.ListGroupsForUserPages(params,
-// func(page *iam.ListGroupsForUserOutput, lastPage bool) bool {
-// pageNum++
-// fmt.Println(page)
-// return pageNum <= 3
-// })
-//
-func (c *IAM) ListGroupsForUserPages(input *ListGroupsForUserInput, fn func(*ListGroupsForUserOutput, bool) bool) error {
- return c.ListGroupsForUserPagesWithContext(aws.BackgroundContext(), input, fn)
-}
-
-// ListGroupsForUserPagesWithContext same as ListGroupsForUserPages except
-// it takes a Context and allows setting request options on the pages.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) ListGroupsForUserPagesWithContext(ctx aws.Context, input *ListGroupsForUserInput, fn func(*ListGroupsForUserOutput, bool) bool, opts ...request.Option) error {
- p := request.Pagination{
- NewRequest: func() (*request.Request, error) {
- var inCpy *ListGroupsForUserInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.ListGroupsForUserRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
-
- for p.Next() {
- if !fn(p.Page().(*ListGroupsForUserOutput), !p.HasNextPage()) {
- break
- }
- }
-
- return p.Err()
-}
-
-const opListInstanceProfiles = "ListInstanceProfiles"
-
-// ListInstanceProfilesRequest generates a "aws/request.Request" representing the
-// client's request for the ListInstanceProfiles operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See ListInstanceProfiles for more information on using the ListInstanceProfiles
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the ListInstanceProfilesRequest method.
-// req, resp := client.ListInstanceProfilesRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListInstanceProfiles
-func (c *IAM) ListInstanceProfilesRequest(input *ListInstanceProfilesInput) (req *request.Request, output *ListInstanceProfilesOutput) {
- op := &request.Operation{
- Name: opListInstanceProfiles,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"Marker"},
- OutputTokens: []string{"Marker"},
- LimitToken: "MaxItems",
- TruncationToken: "IsTruncated",
- },
- }
-
- if input == nil {
- input = &ListInstanceProfilesInput{}
- }
-
- output = &ListInstanceProfilesOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// ListInstanceProfiles API operation for AWS Identity and Access Management.
-//
-// Lists the instance profiles that have the specified path prefix. If there
-// are none, the operation returns an empty list. For more information about
-// instance profiles, go to About Instance Profiles (https://docs.aws.amazon.com/IAM/latest/UserGuide/AboutInstanceProfiles.html).
-//
-// You can paginate the results using the MaxItems and Marker parameters.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation ListInstanceProfiles for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListInstanceProfiles
-func (c *IAM) ListInstanceProfiles(input *ListInstanceProfilesInput) (*ListInstanceProfilesOutput, error) {
- req, out := c.ListInstanceProfilesRequest(input)
- return out, req.Send()
-}
-
-// ListInstanceProfilesWithContext is the same as ListInstanceProfiles with the addition of
-// the ability to pass a context and additional request options.
-//
-// See ListInstanceProfiles for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) ListInstanceProfilesWithContext(ctx aws.Context, input *ListInstanceProfilesInput, opts ...request.Option) (*ListInstanceProfilesOutput, error) {
- req, out := c.ListInstanceProfilesRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-// ListInstanceProfilesPages iterates over the pages of a ListInstanceProfiles operation,
-// calling the "fn" function with the response data for each page. To stop
-// iterating, return false from the fn function.
-//
-// See ListInstanceProfiles method for more information on how to use this operation.
-//
-// Note: This operation can generate multiple requests to a service.
-//
-// // Example iterating over at most 3 pages of a ListInstanceProfiles operation.
-// pageNum := 0
-// err := client.ListInstanceProfilesPages(params,
-// func(page *iam.ListInstanceProfilesOutput, lastPage bool) bool {
-// pageNum++
-// fmt.Println(page)
-// return pageNum <= 3
-// })
-//
-func (c *IAM) ListInstanceProfilesPages(input *ListInstanceProfilesInput, fn func(*ListInstanceProfilesOutput, bool) bool) error {
- return c.ListInstanceProfilesPagesWithContext(aws.BackgroundContext(), input, fn)
-}
-
-// ListInstanceProfilesPagesWithContext same as ListInstanceProfilesPages except
-// it takes a Context and allows setting request options on the pages.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) ListInstanceProfilesPagesWithContext(ctx aws.Context, input *ListInstanceProfilesInput, fn func(*ListInstanceProfilesOutput, bool) bool, opts ...request.Option) error {
- p := request.Pagination{
- NewRequest: func() (*request.Request, error) {
- var inCpy *ListInstanceProfilesInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.ListInstanceProfilesRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
-
- for p.Next() {
- if !fn(p.Page().(*ListInstanceProfilesOutput), !p.HasNextPage()) {
- break
- }
- }
-
- return p.Err()
-}
-
-const opListInstanceProfilesForRole = "ListInstanceProfilesForRole"
-
-// ListInstanceProfilesForRoleRequest generates a "aws/request.Request" representing the
-// client's request for the ListInstanceProfilesForRole operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See ListInstanceProfilesForRole for more information on using the ListInstanceProfilesForRole
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the ListInstanceProfilesForRoleRequest method.
-// req, resp := client.ListInstanceProfilesForRoleRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListInstanceProfilesForRole
-func (c *IAM) ListInstanceProfilesForRoleRequest(input *ListInstanceProfilesForRoleInput) (req *request.Request, output *ListInstanceProfilesForRoleOutput) {
- op := &request.Operation{
- Name: opListInstanceProfilesForRole,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"Marker"},
- OutputTokens: []string{"Marker"},
- LimitToken: "MaxItems",
- TruncationToken: "IsTruncated",
- },
- }
-
- if input == nil {
- input = &ListInstanceProfilesForRoleInput{}
- }
-
- output = &ListInstanceProfilesForRoleOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// ListInstanceProfilesForRole API operation for AWS Identity and Access Management.
-//
-// Lists the instance profiles that have the specified associated IAM role.
-// If there are none, the operation returns an empty list. For more information
-// about instance profiles, go to About Instance Profiles (https://docs.aws.amazon.com/IAM/latest/UserGuide/AboutInstanceProfiles.html).
-//
-// You can paginate the results using the MaxItems and Marker parameters.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation ListInstanceProfilesForRole for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListInstanceProfilesForRole
-func (c *IAM) ListInstanceProfilesForRole(input *ListInstanceProfilesForRoleInput) (*ListInstanceProfilesForRoleOutput, error) {
- req, out := c.ListInstanceProfilesForRoleRequest(input)
- return out, req.Send()
-}
-
-// ListInstanceProfilesForRoleWithContext is the same as ListInstanceProfilesForRole with the addition of
-// the ability to pass a context and additional request options.
-//
-// See ListInstanceProfilesForRole for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) ListInstanceProfilesForRoleWithContext(ctx aws.Context, input *ListInstanceProfilesForRoleInput, opts ...request.Option) (*ListInstanceProfilesForRoleOutput, error) {
- req, out := c.ListInstanceProfilesForRoleRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-// ListInstanceProfilesForRolePages iterates over the pages of a ListInstanceProfilesForRole operation,
-// calling the "fn" function with the response data for each page. To stop
-// iterating, return false from the fn function.
-//
-// See ListInstanceProfilesForRole method for more information on how to use this operation.
-//
-// Note: This operation can generate multiple requests to a service.
-//
-// // Example iterating over at most 3 pages of a ListInstanceProfilesForRole operation.
-// pageNum := 0
-// err := client.ListInstanceProfilesForRolePages(params,
-// func(page *iam.ListInstanceProfilesForRoleOutput, lastPage bool) bool {
-// pageNum++
-// fmt.Println(page)
-// return pageNum <= 3
-// })
-//
-func (c *IAM) ListInstanceProfilesForRolePages(input *ListInstanceProfilesForRoleInput, fn func(*ListInstanceProfilesForRoleOutput, bool) bool) error {
- return c.ListInstanceProfilesForRolePagesWithContext(aws.BackgroundContext(), input, fn)
-}
-
-// ListInstanceProfilesForRolePagesWithContext same as ListInstanceProfilesForRolePages except
-// it takes a Context and allows setting request options on the pages.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) ListInstanceProfilesForRolePagesWithContext(ctx aws.Context, input *ListInstanceProfilesForRoleInput, fn func(*ListInstanceProfilesForRoleOutput, bool) bool, opts ...request.Option) error {
- p := request.Pagination{
- NewRequest: func() (*request.Request, error) {
- var inCpy *ListInstanceProfilesForRoleInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.ListInstanceProfilesForRoleRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
-
- for p.Next() {
- if !fn(p.Page().(*ListInstanceProfilesForRoleOutput), !p.HasNextPage()) {
- break
- }
- }
-
- return p.Err()
-}
-
-const opListMFADevices = "ListMFADevices"
-
-// ListMFADevicesRequest generates a "aws/request.Request" representing the
-// client's request for the ListMFADevices operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See ListMFADevices for more information on using the ListMFADevices
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the ListMFADevicesRequest method.
-// req, resp := client.ListMFADevicesRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListMFADevices
-func (c *IAM) ListMFADevicesRequest(input *ListMFADevicesInput) (req *request.Request, output *ListMFADevicesOutput) {
- op := &request.Operation{
- Name: opListMFADevices,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"Marker"},
- OutputTokens: []string{"Marker"},
- LimitToken: "MaxItems",
- TruncationToken: "IsTruncated",
- },
- }
-
- if input == nil {
- input = &ListMFADevicesInput{}
- }
-
- output = &ListMFADevicesOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// ListMFADevices API operation for AWS Identity and Access Management.
-//
-// Lists the MFA devices for an IAM user. If the request includes a IAM user
-// name, then this operation lists all the MFA devices associated with the specified
-// user. If you do not specify a user name, IAM determines the user name implicitly
-// based on the AWS access key ID signing the request for this API.
-//
-// You can paginate the results using the MaxItems and Marker parameters.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation ListMFADevices for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListMFADevices
-func (c *IAM) ListMFADevices(input *ListMFADevicesInput) (*ListMFADevicesOutput, error) {
- req, out := c.ListMFADevicesRequest(input)
- return out, req.Send()
-}
-
-// ListMFADevicesWithContext is the same as ListMFADevices with the addition of
-// the ability to pass a context and additional request options.
-//
-// See ListMFADevices for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) ListMFADevicesWithContext(ctx aws.Context, input *ListMFADevicesInput, opts ...request.Option) (*ListMFADevicesOutput, error) {
- req, out := c.ListMFADevicesRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-// ListMFADevicesPages iterates over the pages of a ListMFADevices operation,
-// calling the "fn" function with the response data for each page. To stop
-// iterating, return false from the fn function.
-//
-// See ListMFADevices method for more information on how to use this operation.
-//
-// Note: This operation can generate multiple requests to a service.
-//
-// // Example iterating over at most 3 pages of a ListMFADevices operation.
-// pageNum := 0
-// err := client.ListMFADevicesPages(params,
-// func(page *iam.ListMFADevicesOutput, lastPage bool) bool {
-// pageNum++
-// fmt.Println(page)
-// return pageNum <= 3
-// })
-//
-func (c *IAM) ListMFADevicesPages(input *ListMFADevicesInput, fn func(*ListMFADevicesOutput, bool) bool) error {
- return c.ListMFADevicesPagesWithContext(aws.BackgroundContext(), input, fn)
-}
-
-// ListMFADevicesPagesWithContext same as ListMFADevicesPages except
-// it takes a Context and allows setting request options on the pages.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) ListMFADevicesPagesWithContext(ctx aws.Context, input *ListMFADevicesInput, fn func(*ListMFADevicesOutput, bool) bool, opts ...request.Option) error {
- p := request.Pagination{
- NewRequest: func() (*request.Request, error) {
- var inCpy *ListMFADevicesInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.ListMFADevicesRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
-
- for p.Next() {
- if !fn(p.Page().(*ListMFADevicesOutput), !p.HasNextPage()) {
- break
- }
- }
-
- return p.Err()
-}
-
-const opListOpenIDConnectProviders = "ListOpenIDConnectProviders"
-
-// ListOpenIDConnectProvidersRequest generates a "aws/request.Request" representing the
-// client's request for the ListOpenIDConnectProviders operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See ListOpenIDConnectProviders for more information on using the ListOpenIDConnectProviders
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the ListOpenIDConnectProvidersRequest method.
-// req, resp := client.ListOpenIDConnectProvidersRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListOpenIDConnectProviders
-func (c *IAM) ListOpenIDConnectProvidersRequest(input *ListOpenIDConnectProvidersInput) (req *request.Request, output *ListOpenIDConnectProvidersOutput) {
- op := &request.Operation{
- Name: opListOpenIDConnectProviders,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &ListOpenIDConnectProvidersInput{}
- }
-
- output = &ListOpenIDConnectProvidersOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// ListOpenIDConnectProviders API operation for AWS Identity and Access Management.
-//
-// Lists information about the IAM OpenID Connect (OIDC) provider resource objects
-// defined in the AWS account.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation ListOpenIDConnectProviders for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListOpenIDConnectProviders
-func (c *IAM) ListOpenIDConnectProviders(input *ListOpenIDConnectProvidersInput) (*ListOpenIDConnectProvidersOutput, error) {
- req, out := c.ListOpenIDConnectProvidersRequest(input)
- return out, req.Send()
-}
-
-// ListOpenIDConnectProvidersWithContext is the same as ListOpenIDConnectProviders with the addition of
-// the ability to pass a context and additional request options.
-//
-// See ListOpenIDConnectProviders for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) ListOpenIDConnectProvidersWithContext(ctx aws.Context, input *ListOpenIDConnectProvidersInput, opts ...request.Option) (*ListOpenIDConnectProvidersOutput, error) {
- req, out := c.ListOpenIDConnectProvidersRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opListPolicies = "ListPolicies"
-
-// ListPoliciesRequest generates a "aws/request.Request" representing the
-// client's request for the ListPolicies operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See ListPolicies for more information on using the ListPolicies
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the ListPoliciesRequest method.
-// req, resp := client.ListPoliciesRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListPolicies
-func (c *IAM) ListPoliciesRequest(input *ListPoliciesInput) (req *request.Request, output *ListPoliciesOutput) {
- op := &request.Operation{
- Name: opListPolicies,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"Marker"},
- OutputTokens: []string{"Marker"},
- LimitToken: "MaxItems",
- TruncationToken: "IsTruncated",
- },
- }
-
- if input == nil {
- input = &ListPoliciesInput{}
- }
-
- output = &ListPoliciesOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// ListPolicies API operation for AWS Identity and Access Management.
-//
-// Lists all the managed policies that are available in your AWS account, including
-// your own customer-defined managed policies and all AWS managed policies.
-//
-// You can filter the list of policies that is returned using the optional OnlyAttached,
-// Scope, and PathPrefix parameters. For example, to list only the customer
-// managed policies in your AWS account, set Scope to Local. To list only AWS
-// managed policies, set Scope to AWS.
-//
-// You can paginate the results using the MaxItems and Marker parameters.
-//
-// For more information about managed 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.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation ListPolicies for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListPolicies
-func (c *IAM) ListPolicies(input *ListPoliciesInput) (*ListPoliciesOutput, error) {
- req, out := c.ListPoliciesRequest(input)
- return out, req.Send()
-}
-
-// ListPoliciesWithContext is the same as ListPolicies with the addition of
-// the ability to pass a context and additional request options.
-//
-// See ListPolicies for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) ListPoliciesWithContext(ctx aws.Context, input *ListPoliciesInput, opts ...request.Option) (*ListPoliciesOutput, error) {
- req, out := c.ListPoliciesRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-// ListPoliciesPages iterates over the pages of a ListPolicies operation,
-// calling the "fn" function with the response data for each page. To stop
-// iterating, return false from the fn function.
-//
-// See ListPolicies method for more information on how to use this operation.
-//
-// Note: This operation can generate multiple requests to a service.
-//
-// // Example iterating over at most 3 pages of a ListPolicies operation.
-// pageNum := 0
-// err := client.ListPoliciesPages(params,
-// func(page *iam.ListPoliciesOutput, lastPage bool) bool {
-// pageNum++
-// fmt.Println(page)
-// return pageNum <= 3
-// })
-//
-func (c *IAM) ListPoliciesPages(input *ListPoliciesInput, fn func(*ListPoliciesOutput, bool) bool) error {
- return c.ListPoliciesPagesWithContext(aws.BackgroundContext(), input, fn)
-}
-
-// ListPoliciesPagesWithContext same as ListPoliciesPages except
-// it takes a Context and allows setting request options on the pages.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) ListPoliciesPagesWithContext(ctx aws.Context, input *ListPoliciesInput, fn func(*ListPoliciesOutput, bool) bool, opts ...request.Option) error {
- p := request.Pagination{
- NewRequest: func() (*request.Request, error) {
- var inCpy *ListPoliciesInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.ListPoliciesRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
-
- for p.Next() {
- if !fn(p.Page().(*ListPoliciesOutput), !p.HasNextPage()) {
- break
- }
- }
-
- return p.Err()
-}
-
-const opListPoliciesGrantingServiceAccess = "ListPoliciesGrantingServiceAccess"
-
-// ListPoliciesGrantingServiceAccessRequest generates a "aws/request.Request" representing the
-// client's request for the ListPoliciesGrantingServiceAccess operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See ListPoliciesGrantingServiceAccess for more information on using the ListPoliciesGrantingServiceAccess
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the ListPoliciesGrantingServiceAccessRequest method.
-// req, resp := client.ListPoliciesGrantingServiceAccessRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListPoliciesGrantingServiceAccess
-func (c *IAM) ListPoliciesGrantingServiceAccessRequest(input *ListPoliciesGrantingServiceAccessInput) (req *request.Request, output *ListPoliciesGrantingServiceAccessOutput) {
- op := &request.Operation{
- Name: opListPoliciesGrantingServiceAccess,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &ListPoliciesGrantingServiceAccessInput{}
- }
-
- output = &ListPoliciesGrantingServiceAccessOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// ListPoliciesGrantingServiceAccess API operation for AWS Identity and Access Management.
-//
-// Retrieves a list of policies that the IAM identity (user, group, or role)
-// can use to access each specified service.
-//
-// This operation does not use other policy types when determining whether a
-// resource could access a service. These other policy types include resource-based
-// policies, access control lists, AWS Organizations policies, IAM permissions
-// boundaries, and AWS STS assume role policies. It only applies permissions
-// policy logic. For more about the evaluation of policy types, see Evaluating
-// Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html#policy-eval-basics)
-// in the IAM User Guide.
-//
-// The list of policies returned by the operation depends on the ARN of the
-// identity that you provide.
-//
-// * User – The list of policies includes the managed and inline policies
-// that are attached to the user directly. The list also includes any additional
-// managed and inline policies that are attached to the group to which the
-// user belongs.
-//
-// * Group – The list of policies includes only the managed and inline
-// policies that are attached to the group directly. Policies that are attached
-// to the group’s user are not included.
-//
-// * Role – The list of policies includes only the managed and inline policies
-// that are attached to the role.
-//
-// For each managed policy, this operation returns the ARN and policy name.
-// For each inline policy, it returns the policy name and the entity to which
-// it is attached. Inline policies do not have an ARN. For more information
-// about these policy types, see Managed Policies and Inline Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html)
-// in the IAM User Guide.
-//
-// Policies that are attached to users and roles as permissions boundaries are
-// not returned. To view which managed policy is currently used to set the permissions
-// boundary for a user or role, use the GetUser or GetRole operations.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation ListPoliciesGrantingServiceAccess for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeInvalidInputException "InvalidInput"
-// The request was rejected because an invalid or out-of-range value was supplied
-// for an input parameter.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListPoliciesGrantingServiceAccess
-func (c *IAM) ListPoliciesGrantingServiceAccess(input *ListPoliciesGrantingServiceAccessInput) (*ListPoliciesGrantingServiceAccessOutput, error) {
- req, out := c.ListPoliciesGrantingServiceAccessRequest(input)
- return out, req.Send()
-}
-
-// ListPoliciesGrantingServiceAccessWithContext is the same as ListPoliciesGrantingServiceAccess with the addition of
-// the ability to pass a context and additional request options.
-//
-// See ListPoliciesGrantingServiceAccess for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) ListPoliciesGrantingServiceAccessWithContext(ctx aws.Context, input *ListPoliciesGrantingServiceAccessInput, opts ...request.Option) (*ListPoliciesGrantingServiceAccessOutput, error) {
- req, out := c.ListPoliciesGrantingServiceAccessRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opListPolicyVersions = "ListPolicyVersions"
-
-// ListPolicyVersionsRequest generates a "aws/request.Request" representing the
-// client's request for the ListPolicyVersions operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See ListPolicyVersions for more information on using the ListPolicyVersions
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the ListPolicyVersionsRequest method.
-// req, resp := client.ListPolicyVersionsRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListPolicyVersions
-func (c *IAM) ListPolicyVersionsRequest(input *ListPolicyVersionsInput) (req *request.Request, output *ListPolicyVersionsOutput) {
- op := &request.Operation{
- Name: opListPolicyVersions,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"Marker"},
- OutputTokens: []string{"Marker"},
- LimitToken: "MaxItems",
- TruncationToken: "IsTruncated",
- },
- }
-
- if input == nil {
- input = &ListPolicyVersionsInput{}
- }
-
- output = &ListPolicyVersionsOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// ListPolicyVersions API operation for AWS Identity and Access Management.
-//
-// Lists information about the versions of the specified managed policy, including
-// the version that is currently set as the policy's default version.
-//
-// For more information about managed 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.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation ListPolicyVersions for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeInvalidInputException "InvalidInput"
-// The request was rejected because an invalid or out-of-range value was supplied
-// for an input parameter.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListPolicyVersions
-func (c *IAM) ListPolicyVersions(input *ListPolicyVersionsInput) (*ListPolicyVersionsOutput, error) {
- req, out := c.ListPolicyVersionsRequest(input)
- return out, req.Send()
-}
-
-// ListPolicyVersionsWithContext is the same as ListPolicyVersions with the addition of
-// the ability to pass a context and additional request options.
-//
-// See ListPolicyVersions for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) ListPolicyVersionsWithContext(ctx aws.Context, input *ListPolicyVersionsInput, opts ...request.Option) (*ListPolicyVersionsOutput, error) {
- req, out := c.ListPolicyVersionsRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-// ListPolicyVersionsPages iterates over the pages of a ListPolicyVersions operation,
-// calling the "fn" function with the response data for each page. To stop
-// iterating, return false from the fn function.
-//
-// See ListPolicyVersions method for more information on how to use this operation.
-//
-// Note: This operation can generate multiple requests to a service.
-//
-// // Example iterating over at most 3 pages of a ListPolicyVersions operation.
-// pageNum := 0
-// err := client.ListPolicyVersionsPages(params,
-// func(page *iam.ListPolicyVersionsOutput, lastPage bool) bool {
-// pageNum++
-// fmt.Println(page)
-// return pageNum <= 3
-// })
-//
-func (c *IAM) ListPolicyVersionsPages(input *ListPolicyVersionsInput, fn func(*ListPolicyVersionsOutput, bool) bool) error {
- return c.ListPolicyVersionsPagesWithContext(aws.BackgroundContext(), input, fn)
-}
-
-// ListPolicyVersionsPagesWithContext same as ListPolicyVersionsPages except
-// it takes a Context and allows setting request options on the pages.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) ListPolicyVersionsPagesWithContext(ctx aws.Context, input *ListPolicyVersionsInput, fn func(*ListPolicyVersionsOutput, bool) bool, opts ...request.Option) error {
- p := request.Pagination{
- NewRequest: func() (*request.Request, error) {
- var inCpy *ListPolicyVersionsInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.ListPolicyVersionsRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
-
- for p.Next() {
- if !fn(p.Page().(*ListPolicyVersionsOutput), !p.HasNextPage()) {
- break
- }
- }
-
- return p.Err()
-}
-
-const opListRolePolicies = "ListRolePolicies"
-
-// ListRolePoliciesRequest generates a "aws/request.Request" representing the
-// client's request for the ListRolePolicies operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See ListRolePolicies for more information on using the ListRolePolicies
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the ListRolePoliciesRequest method.
-// req, resp := client.ListRolePoliciesRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListRolePolicies
-func (c *IAM) ListRolePoliciesRequest(input *ListRolePoliciesInput) (req *request.Request, output *ListRolePoliciesOutput) {
- op := &request.Operation{
- Name: opListRolePolicies,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"Marker"},
- OutputTokens: []string{"Marker"},
- LimitToken: "MaxItems",
- TruncationToken: "IsTruncated",
- },
- }
-
- if input == nil {
- input = &ListRolePoliciesInput{}
- }
-
- output = &ListRolePoliciesOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// ListRolePolicies API operation for AWS Identity and Access Management.
-//
-// Lists the names of the inline policies that are embedded in the specified
-// IAM role.
-//
-// An IAM role can also have managed policies attached to it. To list the managed
-// policies that are attached to a role, use ListAttachedRolePolicies. 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.
-//
-// You can paginate the results using the MaxItems and Marker parameters. If
-// there are no inline policies embedded with the specified role, the operation
-// returns an empty list.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation ListRolePolicies for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListRolePolicies
-func (c *IAM) ListRolePolicies(input *ListRolePoliciesInput) (*ListRolePoliciesOutput, error) {
- req, out := c.ListRolePoliciesRequest(input)
- return out, req.Send()
-}
-
-// ListRolePoliciesWithContext is the same as ListRolePolicies with the addition of
-// the ability to pass a context and additional request options.
-//
-// See ListRolePolicies for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) ListRolePoliciesWithContext(ctx aws.Context, input *ListRolePoliciesInput, opts ...request.Option) (*ListRolePoliciesOutput, error) {
- req, out := c.ListRolePoliciesRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-// ListRolePoliciesPages iterates over the pages of a ListRolePolicies operation,
-// calling the "fn" function with the response data for each page. To stop
-// iterating, return false from the fn function.
-//
-// See ListRolePolicies method for more information on how to use this operation.
-//
-// Note: This operation can generate multiple requests to a service.
-//
-// // Example iterating over at most 3 pages of a ListRolePolicies operation.
-// pageNum := 0
-// err := client.ListRolePoliciesPages(params,
-// func(page *iam.ListRolePoliciesOutput, lastPage bool) bool {
-// pageNum++
-// fmt.Println(page)
-// return pageNum <= 3
-// })
-//
-func (c *IAM) ListRolePoliciesPages(input *ListRolePoliciesInput, fn func(*ListRolePoliciesOutput, bool) bool) error {
- return c.ListRolePoliciesPagesWithContext(aws.BackgroundContext(), input, fn)
-}
-
-// ListRolePoliciesPagesWithContext same as ListRolePoliciesPages except
-// it takes a Context and allows setting request options on the pages.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) ListRolePoliciesPagesWithContext(ctx aws.Context, input *ListRolePoliciesInput, fn func(*ListRolePoliciesOutput, bool) bool, opts ...request.Option) error {
- p := request.Pagination{
- NewRequest: func() (*request.Request, error) {
- var inCpy *ListRolePoliciesInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.ListRolePoliciesRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
-
- for p.Next() {
- if !fn(p.Page().(*ListRolePoliciesOutput), !p.HasNextPage()) {
- break
- }
- }
-
- return p.Err()
-}
-
-const opListRoleTags = "ListRoleTags"
-
-// ListRoleTagsRequest generates a "aws/request.Request" representing the
-// client's request for the ListRoleTags operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See ListRoleTags for more information on using the ListRoleTags
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the ListRoleTagsRequest method.
-// req, resp := client.ListRoleTagsRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListRoleTags
-func (c *IAM) ListRoleTagsRequest(input *ListRoleTagsInput) (req *request.Request, output *ListRoleTagsOutput) {
- op := &request.Operation{
- Name: opListRoleTags,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &ListRoleTagsInput{}
- }
-
- output = &ListRoleTagsOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// ListRoleTags API operation for AWS Identity and Access Management.
-//
-// Lists the tags that are attached to the specified role. The returned list
-// of tags is sorted by tag key. For more information about tagging, see Tagging
-// IAM Identities (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)
-// in the IAM User Guide.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation ListRoleTags for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListRoleTags
-func (c *IAM) ListRoleTags(input *ListRoleTagsInput) (*ListRoleTagsOutput, error) {
- req, out := c.ListRoleTagsRequest(input)
- return out, req.Send()
-}
-
-// ListRoleTagsWithContext is the same as ListRoleTags with the addition of
-// the ability to pass a context and additional request options.
-//
-// See ListRoleTags for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) ListRoleTagsWithContext(ctx aws.Context, input *ListRoleTagsInput, opts ...request.Option) (*ListRoleTagsOutput, error) {
- req, out := c.ListRoleTagsRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opListRoles = "ListRoles"
-
-// ListRolesRequest generates a "aws/request.Request" representing the
-// client's request for the ListRoles operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See ListRoles for more information on using the ListRoles
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the ListRolesRequest method.
-// req, resp := client.ListRolesRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListRoles
-func (c *IAM) ListRolesRequest(input *ListRolesInput) (req *request.Request, output *ListRolesOutput) {
- op := &request.Operation{
- Name: opListRoles,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"Marker"},
- OutputTokens: []string{"Marker"},
- LimitToken: "MaxItems",
- TruncationToken: "IsTruncated",
- },
- }
-
- if input == nil {
- input = &ListRolesInput{}
- }
-
- output = &ListRolesOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// ListRoles API operation for AWS Identity and Access Management.
-//
-// Lists the IAM roles that have the specified path prefix. If there are none,
-// the operation returns an empty list. For more information about roles, go
-// to Working with Roles (https://docs.aws.amazon.com/IAM/latest/UserGuide/WorkingWithRoles.html).
-//
-// You can paginate the results using the MaxItems and Marker parameters.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation ListRoles for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListRoles
-func (c *IAM) ListRoles(input *ListRolesInput) (*ListRolesOutput, error) {
- req, out := c.ListRolesRequest(input)
- return out, req.Send()
-}
-
-// ListRolesWithContext is the same as ListRoles with the addition of
-// the ability to pass a context and additional request options.
-//
-// See ListRoles for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) ListRolesWithContext(ctx aws.Context, input *ListRolesInput, opts ...request.Option) (*ListRolesOutput, error) {
- req, out := c.ListRolesRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-// ListRolesPages iterates over the pages of a ListRoles operation,
-// calling the "fn" function with the response data for each page. To stop
-// iterating, return false from the fn function.
-//
-// See ListRoles method for more information on how to use this operation.
-//
-// Note: This operation can generate multiple requests to a service.
-//
-// // Example iterating over at most 3 pages of a ListRoles operation.
-// pageNum := 0
-// err := client.ListRolesPages(params,
-// func(page *iam.ListRolesOutput, lastPage bool) bool {
-// pageNum++
-// fmt.Println(page)
-// return pageNum <= 3
-// })
-//
-func (c *IAM) ListRolesPages(input *ListRolesInput, fn func(*ListRolesOutput, bool) bool) error {
- return c.ListRolesPagesWithContext(aws.BackgroundContext(), input, fn)
-}
-
-// ListRolesPagesWithContext same as ListRolesPages except
-// it takes a Context and allows setting request options on the pages.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) ListRolesPagesWithContext(ctx aws.Context, input *ListRolesInput, fn func(*ListRolesOutput, bool) bool, opts ...request.Option) error {
- p := request.Pagination{
- NewRequest: func() (*request.Request, error) {
- var inCpy *ListRolesInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.ListRolesRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
-
- for p.Next() {
- if !fn(p.Page().(*ListRolesOutput), !p.HasNextPage()) {
- break
- }
- }
-
- return p.Err()
-}
-
-const opListSAMLProviders = "ListSAMLProviders"
-
-// ListSAMLProvidersRequest generates a "aws/request.Request" representing the
-// client's request for the ListSAMLProviders operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See ListSAMLProviders for more information on using the ListSAMLProviders
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the ListSAMLProvidersRequest method.
-// req, resp := client.ListSAMLProvidersRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListSAMLProviders
-func (c *IAM) ListSAMLProvidersRequest(input *ListSAMLProvidersInput) (req *request.Request, output *ListSAMLProvidersOutput) {
- op := &request.Operation{
- Name: opListSAMLProviders,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &ListSAMLProvidersInput{}
- }
-
- output = &ListSAMLProvidersOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// ListSAMLProviders API operation for AWS Identity and Access Management.
-//
-// Lists the SAML provider resource objects defined in IAM in the account.
-//
-// This operation requires Signature Version 4 (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation ListSAMLProviders for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListSAMLProviders
-func (c *IAM) ListSAMLProviders(input *ListSAMLProvidersInput) (*ListSAMLProvidersOutput, error) {
- req, out := c.ListSAMLProvidersRequest(input)
- return out, req.Send()
-}
-
-// ListSAMLProvidersWithContext is the same as ListSAMLProviders with the addition of
-// the ability to pass a context and additional request options.
-//
-// See ListSAMLProviders for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) ListSAMLProvidersWithContext(ctx aws.Context, input *ListSAMLProvidersInput, opts ...request.Option) (*ListSAMLProvidersOutput, error) {
- req, out := c.ListSAMLProvidersRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opListSSHPublicKeys = "ListSSHPublicKeys"
-
-// ListSSHPublicKeysRequest generates a "aws/request.Request" representing the
-// client's request for the ListSSHPublicKeys operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See ListSSHPublicKeys for more information on using the ListSSHPublicKeys
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the ListSSHPublicKeysRequest method.
-// req, resp := client.ListSSHPublicKeysRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListSSHPublicKeys
-func (c *IAM) ListSSHPublicKeysRequest(input *ListSSHPublicKeysInput) (req *request.Request, output *ListSSHPublicKeysOutput) {
- op := &request.Operation{
- Name: opListSSHPublicKeys,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"Marker"},
- OutputTokens: []string{"Marker"},
- LimitToken: "MaxItems",
- TruncationToken: "IsTruncated",
- },
- }
-
- if input == nil {
- input = &ListSSHPublicKeysInput{}
- }
-
- output = &ListSSHPublicKeysOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// ListSSHPublicKeys API operation for AWS Identity and Access Management.
-//
-// Returns information about the SSH public keys associated with the specified
-// IAM user. If none exists, the operation returns an empty list.
-//
-// The SSH public keys returned by this operation are used only for authenticating
-// the IAM user to an AWS CodeCommit repository. For more information about
-// using SSH keys to authenticate to an AWS CodeCommit repository, see Set up
-// AWS CodeCommit for SSH Connections (https://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-credentials-ssh.html)
-// in the AWS CodeCommit User Guide.
-//
-// Although each user is limited to a small number of keys, you can still paginate
-// the results using the MaxItems and Marker parameters.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation ListSSHPublicKeys for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListSSHPublicKeys
-func (c *IAM) ListSSHPublicKeys(input *ListSSHPublicKeysInput) (*ListSSHPublicKeysOutput, error) {
- req, out := c.ListSSHPublicKeysRequest(input)
- return out, req.Send()
-}
-
-// ListSSHPublicKeysWithContext is the same as ListSSHPublicKeys with the addition of
-// the ability to pass a context and additional request options.
-//
-// See ListSSHPublicKeys for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) ListSSHPublicKeysWithContext(ctx aws.Context, input *ListSSHPublicKeysInput, opts ...request.Option) (*ListSSHPublicKeysOutput, error) {
- req, out := c.ListSSHPublicKeysRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-// ListSSHPublicKeysPages iterates over the pages of a ListSSHPublicKeys operation,
-// calling the "fn" function with the response data for each page. To stop
-// iterating, return false from the fn function.
-//
-// See ListSSHPublicKeys method for more information on how to use this operation.
-//
-// Note: This operation can generate multiple requests to a service.
-//
-// // Example iterating over at most 3 pages of a ListSSHPublicKeys operation.
-// pageNum := 0
-// err := client.ListSSHPublicKeysPages(params,
-// func(page *iam.ListSSHPublicKeysOutput, lastPage bool) bool {
-// pageNum++
-// fmt.Println(page)
-// return pageNum <= 3
-// })
-//
-func (c *IAM) ListSSHPublicKeysPages(input *ListSSHPublicKeysInput, fn func(*ListSSHPublicKeysOutput, bool) bool) error {
- return c.ListSSHPublicKeysPagesWithContext(aws.BackgroundContext(), input, fn)
-}
-
-// ListSSHPublicKeysPagesWithContext same as ListSSHPublicKeysPages except
-// it takes a Context and allows setting request options on the pages.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) ListSSHPublicKeysPagesWithContext(ctx aws.Context, input *ListSSHPublicKeysInput, fn func(*ListSSHPublicKeysOutput, bool) bool, opts ...request.Option) error {
- p := request.Pagination{
- NewRequest: func() (*request.Request, error) {
- var inCpy *ListSSHPublicKeysInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.ListSSHPublicKeysRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
-
- for p.Next() {
- if !fn(p.Page().(*ListSSHPublicKeysOutput), !p.HasNextPage()) {
- break
- }
- }
-
- return p.Err()
-}
-
-const opListServerCertificates = "ListServerCertificates"
-
-// ListServerCertificatesRequest generates a "aws/request.Request" representing the
-// client's request for the ListServerCertificates operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See ListServerCertificates for more information on using the ListServerCertificates
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the ListServerCertificatesRequest method.
-// req, resp := client.ListServerCertificatesRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListServerCertificates
-func (c *IAM) ListServerCertificatesRequest(input *ListServerCertificatesInput) (req *request.Request, output *ListServerCertificatesOutput) {
- op := &request.Operation{
- Name: opListServerCertificates,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"Marker"},
- OutputTokens: []string{"Marker"},
- LimitToken: "MaxItems",
- TruncationToken: "IsTruncated",
- },
- }
-
- if input == nil {
- input = &ListServerCertificatesInput{}
- }
-
- output = &ListServerCertificatesOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// ListServerCertificates API operation for AWS Identity and Access Management.
-//
-// Lists the server certificates stored in IAM that have the specified path
-// prefix. If none exist, the operation returns an empty list.
-//
-// You can paginate the results using the MaxItems and Marker parameters.
-//
-// For more information about working with server certificates, see Working
-// with Server Certificates (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_server-certs.html)
-// in the IAM User Guide. This topic also includes a list of AWS services that
-// can use the server certificates that you manage with IAM.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation ListServerCertificates for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListServerCertificates
-func (c *IAM) ListServerCertificates(input *ListServerCertificatesInput) (*ListServerCertificatesOutput, error) {
- req, out := c.ListServerCertificatesRequest(input)
- return out, req.Send()
-}
-
-// ListServerCertificatesWithContext is the same as ListServerCertificates with the addition of
-// the ability to pass a context and additional request options.
-//
-// See ListServerCertificates for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) ListServerCertificatesWithContext(ctx aws.Context, input *ListServerCertificatesInput, opts ...request.Option) (*ListServerCertificatesOutput, error) {
- req, out := c.ListServerCertificatesRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-// ListServerCertificatesPages iterates over the pages of a ListServerCertificates operation,
-// calling the "fn" function with the response data for each page. To stop
-// iterating, return false from the fn function.
-//
-// See ListServerCertificates method for more information on how to use this operation.
-//
-// Note: This operation can generate multiple requests to a service.
-//
-// // Example iterating over at most 3 pages of a ListServerCertificates operation.
-// pageNum := 0
-// err := client.ListServerCertificatesPages(params,
-// func(page *iam.ListServerCertificatesOutput, lastPage bool) bool {
-// pageNum++
-// fmt.Println(page)
-// return pageNum <= 3
-// })
-//
-func (c *IAM) ListServerCertificatesPages(input *ListServerCertificatesInput, fn func(*ListServerCertificatesOutput, bool) bool) error {
- return c.ListServerCertificatesPagesWithContext(aws.BackgroundContext(), input, fn)
-}
-
-// ListServerCertificatesPagesWithContext same as ListServerCertificatesPages except
-// it takes a Context and allows setting request options on the pages.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) ListServerCertificatesPagesWithContext(ctx aws.Context, input *ListServerCertificatesInput, fn func(*ListServerCertificatesOutput, bool) bool, opts ...request.Option) error {
- p := request.Pagination{
- NewRequest: func() (*request.Request, error) {
- var inCpy *ListServerCertificatesInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.ListServerCertificatesRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
-
- for p.Next() {
- if !fn(p.Page().(*ListServerCertificatesOutput), !p.HasNextPage()) {
- break
- }
- }
-
- return p.Err()
-}
-
-const opListServiceSpecificCredentials = "ListServiceSpecificCredentials"
-
-// ListServiceSpecificCredentialsRequest generates a "aws/request.Request" representing the
-// client's request for the ListServiceSpecificCredentials operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See ListServiceSpecificCredentials for more information on using the ListServiceSpecificCredentials
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the ListServiceSpecificCredentialsRequest method.
-// req, resp := client.ListServiceSpecificCredentialsRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListServiceSpecificCredentials
-func (c *IAM) ListServiceSpecificCredentialsRequest(input *ListServiceSpecificCredentialsInput) (req *request.Request, output *ListServiceSpecificCredentialsOutput) {
- op := &request.Operation{
- Name: opListServiceSpecificCredentials,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &ListServiceSpecificCredentialsInput{}
- }
-
- output = &ListServiceSpecificCredentialsOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// ListServiceSpecificCredentials API operation for AWS Identity and Access Management.
-//
-// Returns information about the service-specific credentials associated with
-// the specified IAM user. If none exists, the operation returns an empty list.
-// The service-specific credentials returned by this operation are used only
-// for authenticating the IAM user to a specific service. For more information
-// about using service-specific credentials to authenticate to an AWS service,
-// see Set Up service-specific credentials (https://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-gc.html)
-// in the AWS CodeCommit User Guide.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation ListServiceSpecificCredentials for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeServiceNotSupportedException "NotSupportedService"
-// The specified service does not support service-specific credentials.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListServiceSpecificCredentials
-func (c *IAM) ListServiceSpecificCredentials(input *ListServiceSpecificCredentialsInput) (*ListServiceSpecificCredentialsOutput, error) {
- req, out := c.ListServiceSpecificCredentialsRequest(input)
- return out, req.Send()
-}
-
-// ListServiceSpecificCredentialsWithContext is the same as ListServiceSpecificCredentials with the addition of
-// the ability to pass a context and additional request options.
-//
-// See ListServiceSpecificCredentials for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) ListServiceSpecificCredentialsWithContext(ctx aws.Context, input *ListServiceSpecificCredentialsInput, opts ...request.Option) (*ListServiceSpecificCredentialsOutput, error) {
- req, out := c.ListServiceSpecificCredentialsRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opListSigningCertificates = "ListSigningCertificates"
-
-// ListSigningCertificatesRequest generates a "aws/request.Request" representing the
-// client's request for the ListSigningCertificates operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See ListSigningCertificates for more information on using the ListSigningCertificates
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the ListSigningCertificatesRequest method.
-// req, resp := client.ListSigningCertificatesRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListSigningCertificates
-func (c *IAM) ListSigningCertificatesRequest(input *ListSigningCertificatesInput) (req *request.Request, output *ListSigningCertificatesOutput) {
- op := &request.Operation{
- Name: opListSigningCertificates,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"Marker"},
- OutputTokens: []string{"Marker"},
- LimitToken: "MaxItems",
- TruncationToken: "IsTruncated",
- },
- }
-
- if input == nil {
- input = &ListSigningCertificatesInput{}
- }
-
- output = &ListSigningCertificatesOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// ListSigningCertificates API operation for AWS Identity and Access Management.
-//
-// Returns information about the signing certificates associated with the specified
-// IAM user. If none exists, the operation returns an empty list.
-//
-// Although each user is limited to a small number of signing certificates,
-// you can still paginate the results using the MaxItems and Marker parameters.
-//
-// If the UserName field is not specified, the user name is determined implicitly
-// based on the AWS access key ID used to sign the request for this API. This
-// operation works for access keys under the AWS account. Consequently, you
-// can use this operation to manage AWS account root user credentials even if
-// the AWS account has no associated users.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation ListSigningCertificates for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListSigningCertificates
-func (c *IAM) ListSigningCertificates(input *ListSigningCertificatesInput) (*ListSigningCertificatesOutput, error) {
- req, out := c.ListSigningCertificatesRequest(input)
- return out, req.Send()
-}
-
-// ListSigningCertificatesWithContext is the same as ListSigningCertificates with the addition of
-// the ability to pass a context and additional request options.
-//
-// See ListSigningCertificates for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) ListSigningCertificatesWithContext(ctx aws.Context, input *ListSigningCertificatesInput, opts ...request.Option) (*ListSigningCertificatesOutput, error) {
- req, out := c.ListSigningCertificatesRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-// ListSigningCertificatesPages iterates over the pages of a ListSigningCertificates operation,
-// calling the "fn" function with the response data for each page. To stop
-// iterating, return false from the fn function.
-//
-// See ListSigningCertificates method for more information on how to use this operation.
-//
-// Note: This operation can generate multiple requests to a service.
-//
-// // Example iterating over at most 3 pages of a ListSigningCertificates operation.
-// pageNum := 0
-// err := client.ListSigningCertificatesPages(params,
-// func(page *iam.ListSigningCertificatesOutput, lastPage bool) bool {
-// pageNum++
-// fmt.Println(page)
-// return pageNum <= 3
-// })
-//
-func (c *IAM) ListSigningCertificatesPages(input *ListSigningCertificatesInput, fn func(*ListSigningCertificatesOutput, bool) bool) error {
- return c.ListSigningCertificatesPagesWithContext(aws.BackgroundContext(), input, fn)
-}
-
-// ListSigningCertificatesPagesWithContext same as ListSigningCertificatesPages except
-// it takes a Context and allows setting request options on the pages.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) ListSigningCertificatesPagesWithContext(ctx aws.Context, input *ListSigningCertificatesInput, fn func(*ListSigningCertificatesOutput, bool) bool, opts ...request.Option) error {
- p := request.Pagination{
- NewRequest: func() (*request.Request, error) {
- var inCpy *ListSigningCertificatesInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.ListSigningCertificatesRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
-
- for p.Next() {
- if !fn(p.Page().(*ListSigningCertificatesOutput), !p.HasNextPage()) {
- break
- }
- }
-
- return p.Err()
-}
-
-const opListUserPolicies = "ListUserPolicies"
-
-// ListUserPoliciesRequest generates a "aws/request.Request" representing the
-// client's request for the ListUserPolicies operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See ListUserPolicies for more information on using the ListUserPolicies
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the ListUserPoliciesRequest method.
-// req, resp := client.ListUserPoliciesRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListUserPolicies
-func (c *IAM) ListUserPoliciesRequest(input *ListUserPoliciesInput) (req *request.Request, output *ListUserPoliciesOutput) {
- op := &request.Operation{
- Name: opListUserPolicies,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"Marker"},
- OutputTokens: []string{"Marker"},
- LimitToken: "MaxItems",
- TruncationToken: "IsTruncated",
- },
- }
-
- if input == nil {
- input = &ListUserPoliciesInput{}
- }
-
- output = &ListUserPoliciesOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// ListUserPolicies API operation for AWS Identity and Access Management.
-//
-// Lists the names of the inline policies embedded in the specified IAM user.
-//
-// An IAM user can also have managed policies attached to it. To list the managed
-// policies that are attached to a user, use ListAttachedUserPolicies. 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.
-//
-// You can paginate the results using the MaxItems and Marker parameters. If
-// there are no inline policies embedded with the specified user, the operation
-// returns an empty list.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation ListUserPolicies for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListUserPolicies
-func (c *IAM) ListUserPolicies(input *ListUserPoliciesInput) (*ListUserPoliciesOutput, error) {
- req, out := c.ListUserPoliciesRequest(input)
- return out, req.Send()
-}
-
-// ListUserPoliciesWithContext is the same as ListUserPolicies with the addition of
-// the ability to pass a context and additional request options.
-//
-// See ListUserPolicies for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) ListUserPoliciesWithContext(ctx aws.Context, input *ListUserPoliciesInput, opts ...request.Option) (*ListUserPoliciesOutput, error) {
- req, out := c.ListUserPoliciesRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-// ListUserPoliciesPages iterates over the pages of a ListUserPolicies operation,
-// calling the "fn" function with the response data for each page. To stop
-// iterating, return false from the fn function.
-//
-// See ListUserPolicies method for more information on how to use this operation.
-//
-// Note: This operation can generate multiple requests to a service.
-//
-// // Example iterating over at most 3 pages of a ListUserPolicies operation.
-// pageNum := 0
-// err := client.ListUserPoliciesPages(params,
-// func(page *iam.ListUserPoliciesOutput, lastPage bool) bool {
-// pageNum++
-// fmt.Println(page)
-// return pageNum <= 3
-// })
-//
-func (c *IAM) ListUserPoliciesPages(input *ListUserPoliciesInput, fn func(*ListUserPoliciesOutput, bool) bool) error {
- return c.ListUserPoliciesPagesWithContext(aws.BackgroundContext(), input, fn)
-}
-
-// ListUserPoliciesPagesWithContext same as ListUserPoliciesPages except
-// it takes a Context and allows setting request options on the pages.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) ListUserPoliciesPagesWithContext(ctx aws.Context, input *ListUserPoliciesInput, fn func(*ListUserPoliciesOutput, bool) bool, opts ...request.Option) error {
- p := request.Pagination{
- NewRequest: func() (*request.Request, error) {
- var inCpy *ListUserPoliciesInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.ListUserPoliciesRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
-
- for p.Next() {
- if !fn(p.Page().(*ListUserPoliciesOutput), !p.HasNextPage()) {
- break
- }
- }
-
- return p.Err()
-}
-
-const opListUserTags = "ListUserTags"
-
-// ListUserTagsRequest generates a "aws/request.Request" representing the
-// client's request for the ListUserTags operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See ListUserTags for more information on using the ListUserTags
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the ListUserTagsRequest method.
-// req, resp := client.ListUserTagsRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListUserTags
-func (c *IAM) ListUserTagsRequest(input *ListUserTagsInput) (req *request.Request, output *ListUserTagsOutput) {
- op := &request.Operation{
- Name: opListUserTags,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &ListUserTagsInput{}
- }
-
- output = &ListUserTagsOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// ListUserTags API operation for AWS Identity and Access Management.
-//
-// Lists the tags that are attached to the specified user. The returned list
-// of tags is sorted by tag key. For more information about tagging, see Tagging
-// IAM Identities (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)
-// in the IAM User Guide.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation ListUserTags for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListUserTags
-func (c *IAM) ListUserTags(input *ListUserTagsInput) (*ListUserTagsOutput, error) {
- req, out := c.ListUserTagsRequest(input)
- return out, req.Send()
-}
-
-// ListUserTagsWithContext is the same as ListUserTags with the addition of
-// the ability to pass a context and additional request options.
-//
-// See ListUserTags for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) ListUserTagsWithContext(ctx aws.Context, input *ListUserTagsInput, opts ...request.Option) (*ListUserTagsOutput, error) {
- req, out := c.ListUserTagsRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opListUsers = "ListUsers"
-
-// ListUsersRequest generates a "aws/request.Request" representing the
-// client's request for the ListUsers operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See ListUsers for more information on using the ListUsers
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the ListUsersRequest method.
-// req, resp := client.ListUsersRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListUsers
-func (c *IAM) ListUsersRequest(input *ListUsersInput) (req *request.Request, output *ListUsersOutput) {
- op := &request.Operation{
- Name: opListUsers,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"Marker"},
- OutputTokens: []string{"Marker"},
- LimitToken: "MaxItems",
- TruncationToken: "IsTruncated",
- },
- }
-
- if input == nil {
- input = &ListUsersInput{}
- }
-
- output = &ListUsersOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// ListUsers API operation for AWS Identity and Access Management.
-//
-// Lists the IAM users that have the specified path prefix. If no path prefix
-// is specified, the operation returns all users in the AWS account. If there
-// are none, the operation returns an empty list.
-//
-// You can paginate the results using the MaxItems and Marker parameters.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation ListUsers for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListUsers
-func (c *IAM) ListUsers(input *ListUsersInput) (*ListUsersOutput, error) {
- req, out := c.ListUsersRequest(input)
- return out, req.Send()
-}
-
-// ListUsersWithContext is the same as ListUsers with the addition of
-// the ability to pass a context and additional request options.
-//
-// See ListUsers for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) ListUsersWithContext(ctx aws.Context, input *ListUsersInput, opts ...request.Option) (*ListUsersOutput, error) {
- req, out := c.ListUsersRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-// ListUsersPages iterates over the pages of a ListUsers operation,
-// calling the "fn" function with the response data for each page. To stop
-// iterating, return false from the fn function.
-//
-// See ListUsers method for more information on how to use this operation.
-//
-// Note: This operation can generate multiple requests to a service.
-//
-// // Example iterating over at most 3 pages of a ListUsers operation.
-// pageNum := 0
-// err := client.ListUsersPages(params,
-// func(page *iam.ListUsersOutput, lastPage bool) bool {
-// pageNum++
-// fmt.Println(page)
-// return pageNum <= 3
-// })
-//
-func (c *IAM) ListUsersPages(input *ListUsersInput, fn func(*ListUsersOutput, bool) bool) error {
- return c.ListUsersPagesWithContext(aws.BackgroundContext(), input, fn)
-}
-
-// ListUsersPagesWithContext same as ListUsersPages except
-// it takes a Context and allows setting request options on the pages.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) ListUsersPagesWithContext(ctx aws.Context, input *ListUsersInput, fn func(*ListUsersOutput, bool) bool, opts ...request.Option) error {
- p := request.Pagination{
- NewRequest: func() (*request.Request, error) {
- var inCpy *ListUsersInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.ListUsersRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
-
- for p.Next() {
- if !fn(p.Page().(*ListUsersOutput), !p.HasNextPage()) {
- break
- }
- }
-
- return p.Err()
-}
-
-const opListVirtualMFADevices = "ListVirtualMFADevices"
-
-// ListVirtualMFADevicesRequest generates a "aws/request.Request" representing the
-// client's request for the ListVirtualMFADevices operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See ListVirtualMFADevices for more information on using the ListVirtualMFADevices
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the ListVirtualMFADevicesRequest method.
-// req, resp := client.ListVirtualMFADevicesRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListVirtualMFADevices
-func (c *IAM) ListVirtualMFADevicesRequest(input *ListVirtualMFADevicesInput) (req *request.Request, output *ListVirtualMFADevicesOutput) {
- op := &request.Operation{
- Name: opListVirtualMFADevices,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"Marker"},
- OutputTokens: []string{"Marker"},
- LimitToken: "MaxItems",
- TruncationToken: "IsTruncated",
- },
- }
-
- if input == nil {
- input = &ListVirtualMFADevicesInput{}
- }
-
- output = &ListVirtualMFADevicesOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// ListVirtualMFADevices API operation for AWS Identity and Access Management.
-//
-// Lists the virtual MFA devices defined in the AWS account by assignment status.
-// If you do not specify an assignment status, the operation returns a list
-// of all virtual MFA devices. Assignment status can be Assigned, Unassigned,
-// or Any.
-//
-// You can paginate the results using the MaxItems and Marker parameters.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation ListVirtualMFADevices for usage and error information.
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListVirtualMFADevices
-func (c *IAM) ListVirtualMFADevices(input *ListVirtualMFADevicesInput) (*ListVirtualMFADevicesOutput, error) {
- req, out := c.ListVirtualMFADevicesRequest(input)
- return out, req.Send()
-}
-
-// ListVirtualMFADevicesWithContext is the same as ListVirtualMFADevices with the addition of
-// the ability to pass a context and additional request options.
-//
-// See ListVirtualMFADevices for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) ListVirtualMFADevicesWithContext(ctx aws.Context, input *ListVirtualMFADevicesInput, opts ...request.Option) (*ListVirtualMFADevicesOutput, error) {
- req, out := c.ListVirtualMFADevicesRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-// ListVirtualMFADevicesPages iterates over the pages of a ListVirtualMFADevices operation,
-// calling the "fn" function with the response data for each page. To stop
-// iterating, return false from the fn function.
-//
-// See ListVirtualMFADevices method for more information on how to use this operation.
-//
-// Note: This operation can generate multiple requests to a service.
-//
-// // Example iterating over at most 3 pages of a ListVirtualMFADevices operation.
-// pageNum := 0
-// err := client.ListVirtualMFADevicesPages(params,
-// func(page *iam.ListVirtualMFADevicesOutput, lastPage bool) bool {
-// pageNum++
-// fmt.Println(page)
-// return pageNum <= 3
-// })
-//
-func (c *IAM) ListVirtualMFADevicesPages(input *ListVirtualMFADevicesInput, fn func(*ListVirtualMFADevicesOutput, bool) bool) error {
- return c.ListVirtualMFADevicesPagesWithContext(aws.BackgroundContext(), input, fn)
-}
-
-// ListVirtualMFADevicesPagesWithContext same as ListVirtualMFADevicesPages except
-// it takes a Context and allows setting request options on the pages.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) ListVirtualMFADevicesPagesWithContext(ctx aws.Context, input *ListVirtualMFADevicesInput, fn func(*ListVirtualMFADevicesOutput, bool) bool, opts ...request.Option) error {
- p := request.Pagination{
- NewRequest: func() (*request.Request, error) {
- var inCpy *ListVirtualMFADevicesInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.ListVirtualMFADevicesRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
-
- for p.Next() {
- if !fn(p.Page().(*ListVirtualMFADevicesOutput), !p.HasNextPage()) {
- break
- }
- }
-
- return p.Err()
-}
-
-const opPutGroupPolicy = "PutGroupPolicy"
-
-// PutGroupPolicyRequest generates a "aws/request.Request" representing the
-// client's request for the PutGroupPolicy operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See PutGroupPolicy for more information on using the PutGroupPolicy
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the PutGroupPolicyRequest method.
-// req, resp := client.PutGroupPolicyRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/PutGroupPolicy
-func (c *IAM) PutGroupPolicyRequest(input *PutGroupPolicyInput) (req *request.Request, output *PutGroupPolicyOutput) {
- op := &request.Operation{
- Name: opPutGroupPolicy,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &PutGroupPolicyInput{}
- }
-
- output = &PutGroupPolicyOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// PutGroupPolicy API operation for AWS Identity and Access Management.
-//
-// Adds or updates an inline policy document that is embedded in the specified
-// IAM group.
-//
-// A user can also have managed policies attached to it. To attach a managed
-// policy to a group, use AttachGroupPolicy. To create a new managed policy,
-// use CreatePolicy. For 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.
-//
-// For information about limits on the number of inline policies that you can
-// embed in a group, see Limitations on IAM Entities (https://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html)
-// in the IAM User Guide.
-//
-// Because policy documents can be large, you should use POST rather than GET
-// when calling PutGroupPolicy. For general information about using the Query
-// API with IAM, go to Making Query Requests (https://docs.aws.amazon.com/IAM/latest/UserGuide/IAM_UsingQueryAPI.html)
-// in the IAM User Guide.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation PutGroupPolicy for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeMalformedPolicyDocumentException "MalformedPolicyDocument"
-// The request was rejected because the policy document was malformed. The error
-// message describes the specific error.
-//
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/PutGroupPolicy
-func (c *IAM) PutGroupPolicy(input *PutGroupPolicyInput) (*PutGroupPolicyOutput, error) {
- req, out := c.PutGroupPolicyRequest(input)
- return out, req.Send()
-}
-
-// PutGroupPolicyWithContext is the same as PutGroupPolicy with the addition of
-// the ability to pass a context and additional request options.
-//
-// See PutGroupPolicy for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) PutGroupPolicyWithContext(ctx aws.Context, input *PutGroupPolicyInput, opts ...request.Option) (*PutGroupPolicyOutput, error) {
- req, out := c.PutGroupPolicyRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opPutRolePermissionsBoundary = "PutRolePermissionsBoundary"
-
-// PutRolePermissionsBoundaryRequest generates a "aws/request.Request" representing the
-// client's request for the PutRolePermissionsBoundary operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See PutRolePermissionsBoundary for more information on using the PutRolePermissionsBoundary
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the PutRolePermissionsBoundaryRequest method.
-// req, resp := client.PutRolePermissionsBoundaryRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/PutRolePermissionsBoundary
-func (c *IAM) PutRolePermissionsBoundaryRequest(input *PutRolePermissionsBoundaryInput) (req *request.Request, output *PutRolePermissionsBoundaryOutput) {
- op := &request.Operation{
- Name: opPutRolePermissionsBoundary,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &PutRolePermissionsBoundaryInput{}
- }
-
- output = &PutRolePermissionsBoundaryOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// PutRolePermissionsBoundary API operation for AWS Identity and Access Management.
-//
-// Adds or updates the policy that is specified as the IAM role's permissions
-// boundary. You can use an AWS managed policy or a customer managed policy
-// to set the boundary for a role. Use the boundary to control the maximum permissions
-// that the role can have. Setting a permissions boundary is an advanced feature
-// that can affect the permissions for the role.
-//
-// You cannot set the boundary for a service-linked role.
-//
-// Policies used as permissions boundaries do not provide permissions. You must
-// also attach a permissions policy to the role. To learn how the effective
-// permissions for a role are evaluated, see IAM JSON Policy Evaluation Logic
-// (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html)
-// in the IAM User Guide.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation PutRolePermissionsBoundary for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeInvalidInputException "InvalidInput"
-// The request was rejected because an invalid or out-of-range value was supplied
-// for an input parameter.
-//
-// * ErrCodeUnmodifiableEntityException "UnmodifiableEntity"
-// The request was rejected because only the service that depends on the service-linked
-// role can modify or delete the role on your behalf. The error message includes
-// the name of the service that depends on this service-linked role. You must
-// request the change through that service.
-//
-// * ErrCodePolicyNotAttachableException "PolicyNotAttachable"
-// The request failed because AWS service role policies can only be attached
-// to the service-linked role for that service.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/PutRolePermissionsBoundary
-func (c *IAM) PutRolePermissionsBoundary(input *PutRolePermissionsBoundaryInput) (*PutRolePermissionsBoundaryOutput, error) {
- req, out := c.PutRolePermissionsBoundaryRequest(input)
- return out, req.Send()
-}
-
-// PutRolePermissionsBoundaryWithContext is the same as PutRolePermissionsBoundary with the addition of
-// the ability to pass a context and additional request options.
-//
-// See PutRolePermissionsBoundary for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) PutRolePermissionsBoundaryWithContext(ctx aws.Context, input *PutRolePermissionsBoundaryInput, opts ...request.Option) (*PutRolePermissionsBoundaryOutput, error) {
- req, out := c.PutRolePermissionsBoundaryRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opPutRolePolicy = "PutRolePolicy"
-
-// PutRolePolicyRequest generates a "aws/request.Request" representing the
-// client's request for the PutRolePolicy operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See PutRolePolicy for more information on using the PutRolePolicy
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the PutRolePolicyRequest method.
-// req, resp := client.PutRolePolicyRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/PutRolePolicy
-func (c *IAM) PutRolePolicyRequest(input *PutRolePolicyInput) (req *request.Request, output *PutRolePolicyOutput) {
- op := &request.Operation{
- Name: opPutRolePolicy,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &PutRolePolicyInput{}
- }
-
- output = &PutRolePolicyOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// PutRolePolicy API operation for AWS Identity and Access Management.
-//
-// Adds or updates an inline policy document that is embedded in the specified
-// IAM role.
-//
-// When you embed an inline policy in a role, the inline policy is used as part
-// of the role's access (permissions) policy. The role's trust policy is created
-// at the same time as the role, using CreateRole. You can update a role's trust
-// policy using UpdateAssumeRolePolicy. For more information about IAM roles,
-// go to Using Roles to Delegate Permissions and Federate Identities (https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-toplevel.html).
-//
-// A role can also have a managed policy attached to it. To attach a managed
-// policy to a role, use AttachRolePolicy. To create a new managed policy, use
-// CreatePolicy. For 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.
-//
-// For information about limits on the number of inline policies that you can
-// embed with a role, see Limitations on IAM Entities (https://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html)
-// in the IAM User Guide.
-//
-// Because policy documents can be large, you should use POST rather than GET
-// when calling PutRolePolicy. For general information about using the Query
-// API with IAM, go to Making Query Requests (https://docs.aws.amazon.com/IAM/latest/UserGuide/IAM_UsingQueryAPI.html)
-// in the IAM User Guide.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation PutRolePolicy for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeMalformedPolicyDocumentException "MalformedPolicyDocument"
-// The request was rejected because the policy document was malformed. The error
-// message describes the specific error.
-//
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeUnmodifiableEntityException "UnmodifiableEntity"
-// The request was rejected because only the service that depends on the service-linked
-// role can modify or delete the role on your behalf. The error message includes
-// the name of the service that depends on this service-linked role. You must
-// request the change through that service.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/PutRolePolicy
-func (c *IAM) PutRolePolicy(input *PutRolePolicyInput) (*PutRolePolicyOutput, error) {
- req, out := c.PutRolePolicyRequest(input)
- return out, req.Send()
-}
-
-// PutRolePolicyWithContext is the same as PutRolePolicy with the addition of
-// the ability to pass a context and additional request options.
-//
-// See PutRolePolicy for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) PutRolePolicyWithContext(ctx aws.Context, input *PutRolePolicyInput, opts ...request.Option) (*PutRolePolicyOutput, error) {
- req, out := c.PutRolePolicyRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opPutUserPermissionsBoundary = "PutUserPermissionsBoundary"
-
-// PutUserPermissionsBoundaryRequest generates a "aws/request.Request" representing the
-// client's request for the PutUserPermissionsBoundary operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See PutUserPermissionsBoundary for more information on using the PutUserPermissionsBoundary
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the PutUserPermissionsBoundaryRequest method.
-// req, resp := client.PutUserPermissionsBoundaryRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/PutUserPermissionsBoundary
-func (c *IAM) PutUserPermissionsBoundaryRequest(input *PutUserPermissionsBoundaryInput) (req *request.Request, output *PutUserPermissionsBoundaryOutput) {
- op := &request.Operation{
- Name: opPutUserPermissionsBoundary,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &PutUserPermissionsBoundaryInput{}
- }
-
- output = &PutUserPermissionsBoundaryOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// PutUserPermissionsBoundary API operation for AWS Identity and Access Management.
-//
-// Adds or updates the policy that is specified as the IAM user's permissions
-// boundary. You can use an AWS managed policy or a customer managed policy
-// to set the boundary for a user. Use the boundary to control the maximum permissions
-// that the user can have. Setting a permissions boundary is an advanced feature
-// that can affect the permissions for the user.
-//
-// Policies that are used as permissions boundaries do not provide permissions.
-// You must also attach a permissions policy to the user. To learn how the effective
-// permissions for a user are evaluated, see IAM JSON Policy Evaluation Logic
-// (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html)
-// in the IAM User Guide.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation PutUserPermissionsBoundary for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeInvalidInputException "InvalidInput"
-// The request was rejected because an invalid or out-of-range value was supplied
-// for an input parameter.
-//
-// * ErrCodePolicyNotAttachableException "PolicyNotAttachable"
-// The request failed because AWS service role policies can only be attached
-// to the service-linked role for that service.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/PutUserPermissionsBoundary
-func (c *IAM) PutUserPermissionsBoundary(input *PutUserPermissionsBoundaryInput) (*PutUserPermissionsBoundaryOutput, error) {
- req, out := c.PutUserPermissionsBoundaryRequest(input)
- return out, req.Send()
-}
-
-// PutUserPermissionsBoundaryWithContext is the same as PutUserPermissionsBoundary with the addition of
-// the ability to pass a context and additional request options.
-//
-// See PutUserPermissionsBoundary for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) PutUserPermissionsBoundaryWithContext(ctx aws.Context, input *PutUserPermissionsBoundaryInput, opts ...request.Option) (*PutUserPermissionsBoundaryOutput, error) {
- req, out := c.PutUserPermissionsBoundaryRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opPutUserPolicy = "PutUserPolicy"
-
-// PutUserPolicyRequest generates a "aws/request.Request" representing the
-// client's request for the PutUserPolicy operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See PutUserPolicy for more information on using the PutUserPolicy
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the PutUserPolicyRequest method.
-// req, resp := client.PutUserPolicyRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/PutUserPolicy
-func (c *IAM) PutUserPolicyRequest(input *PutUserPolicyInput) (req *request.Request, output *PutUserPolicyOutput) {
- op := &request.Operation{
- Name: opPutUserPolicy,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &PutUserPolicyInput{}
- }
-
- output = &PutUserPolicyOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// PutUserPolicy API operation for AWS Identity and Access Management.
-//
-// Adds or updates an inline policy document that is embedded in the specified
-// IAM user.
-//
-// An IAM user can also have a managed policy attached to it. To attach a managed
-// policy to a user, use AttachUserPolicy. To create a new managed policy, use
-// CreatePolicy. For 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.
-//
-// For information about limits on the number of inline policies that you can
-// embed in a user, see Limitations on IAM Entities (https://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html)
-// in the IAM User Guide.
-//
-// Because policy documents can be large, you should use POST rather than GET
-// when calling PutUserPolicy. For general information about using the Query
-// API with IAM, go to Making Query Requests (https://docs.aws.amazon.com/IAM/latest/UserGuide/IAM_UsingQueryAPI.html)
-// in the IAM User Guide.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation PutUserPolicy for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeMalformedPolicyDocumentException "MalformedPolicyDocument"
-// The request was rejected because the policy document was malformed. The error
-// message describes the specific error.
-//
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/PutUserPolicy
-func (c *IAM) PutUserPolicy(input *PutUserPolicyInput) (*PutUserPolicyOutput, error) {
- req, out := c.PutUserPolicyRequest(input)
- return out, req.Send()
-}
-
-// PutUserPolicyWithContext is the same as PutUserPolicy with the addition of
-// the ability to pass a context and additional request options.
-//
-// See PutUserPolicy for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) PutUserPolicyWithContext(ctx aws.Context, input *PutUserPolicyInput, opts ...request.Option) (*PutUserPolicyOutput, error) {
- req, out := c.PutUserPolicyRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opRemoveClientIDFromOpenIDConnectProvider = "RemoveClientIDFromOpenIDConnectProvider"
-
-// RemoveClientIDFromOpenIDConnectProviderRequest generates a "aws/request.Request" representing the
-// client's request for the RemoveClientIDFromOpenIDConnectProvider operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See RemoveClientIDFromOpenIDConnectProvider for more information on using the RemoveClientIDFromOpenIDConnectProvider
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the RemoveClientIDFromOpenIDConnectProviderRequest method.
-// req, resp := client.RemoveClientIDFromOpenIDConnectProviderRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/RemoveClientIDFromOpenIDConnectProvider
-func (c *IAM) RemoveClientIDFromOpenIDConnectProviderRequest(input *RemoveClientIDFromOpenIDConnectProviderInput) (req *request.Request, output *RemoveClientIDFromOpenIDConnectProviderOutput) {
- op := &request.Operation{
- Name: opRemoveClientIDFromOpenIDConnectProvider,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &RemoveClientIDFromOpenIDConnectProviderInput{}
- }
-
- output = &RemoveClientIDFromOpenIDConnectProviderOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// RemoveClientIDFromOpenIDConnectProvider API operation for AWS Identity and Access Management.
-//
-// Removes the specified client ID (also known as audience) from the list of
-// client IDs registered for the specified IAM OpenID Connect (OIDC) provider
-// resource object.
-//
-// This operation is idempotent; it does not fail or return an error if you
-// try to remove a client ID that does not exist.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation RemoveClientIDFromOpenIDConnectProvider for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeInvalidInputException "InvalidInput"
-// The request was rejected because an invalid or out-of-range value was supplied
-// for an input parameter.
-//
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/RemoveClientIDFromOpenIDConnectProvider
-func (c *IAM) RemoveClientIDFromOpenIDConnectProvider(input *RemoveClientIDFromOpenIDConnectProviderInput) (*RemoveClientIDFromOpenIDConnectProviderOutput, error) {
- req, out := c.RemoveClientIDFromOpenIDConnectProviderRequest(input)
- return out, req.Send()
-}
-
-// RemoveClientIDFromOpenIDConnectProviderWithContext is the same as RemoveClientIDFromOpenIDConnectProvider with the addition of
-// the ability to pass a context and additional request options.
-//
-// See RemoveClientIDFromOpenIDConnectProvider for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) RemoveClientIDFromOpenIDConnectProviderWithContext(ctx aws.Context, input *RemoveClientIDFromOpenIDConnectProviderInput, opts ...request.Option) (*RemoveClientIDFromOpenIDConnectProviderOutput, error) {
- req, out := c.RemoveClientIDFromOpenIDConnectProviderRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opRemoveRoleFromInstanceProfile = "RemoveRoleFromInstanceProfile"
-
-// RemoveRoleFromInstanceProfileRequest generates a "aws/request.Request" representing the
-// client's request for the RemoveRoleFromInstanceProfile operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See RemoveRoleFromInstanceProfile for more information on using the RemoveRoleFromInstanceProfile
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the RemoveRoleFromInstanceProfileRequest method.
-// req, resp := client.RemoveRoleFromInstanceProfileRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/RemoveRoleFromInstanceProfile
-func (c *IAM) RemoveRoleFromInstanceProfileRequest(input *RemoveRoleFromInstanceProfileInput) (req *request.Request, output *RemoveRoleFromInstanceProfileOutput) {
- op := &request.Operation{
- Name: opRemoveRoleFromInstanceProfile,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &RemoveRoleFromInstanceProfileInput{}
- }
-
- output = &RemoveRoleFromInstanceProfileOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// RemoveRoleFromInstanceProfile API operation for AWS Identity and Access Management.
-//
-// Removes the specified IAM role from the specified EC2 instance profile.
-//
-// Make sure that you do not have any Amazon EC2 instances running with the
-// role you are about to remove from the instance profile. Removing a role from
-// an instance profile that is associated with a running instance might break
-// any applications running on the instance.
-//
-// For more information about IAM roles, go to Working with Roles (https://docs.aws.amazon.com/IAM/latest/UserGuide/WorkingWithRoles.html).
-// For more information about instance profiles, go to About Instance Profiles
-// (https://docs.aws.amazon.com/IAM/latest/UserGuide/AboutInstanceProfiles.html).
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation RemoveRoleFromInstanceProfile for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeUnmodifiableEntityException "UnmodifiableEntity"
-// The request was rejected because only the service that depends on the service-linked
-// role can modify or delete the role on your behalf. The error message includes
-// the name of the service that depends on this service-linked role. You must
-// request the change through that service.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/RemoveRoleFromInstanceProfile
-func (c *IAM) RemoveRoleFromInstanceProfile(input *RemoveRoleFromInstanceProfileInput) (*RemoveRoleFromInstanceProfileOutput, error) {
- req, out := c.RemoveRoleFromInstanceProfileRequest(input)
- return out, req.Send()
-}
-
-// RemoveRoleFromInstanceProfileWithContext is the same as RemoveRoleFromInstanceProfile with the addition of
-// the ability to pass a context and additional request options.
-//
-// See RemoveRoleFromInstanceProfile for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) RemoveRoleFromInstanceProfileWithContext(ctx aws.Context, input *RemoveRoleFromInstanceProfileInput, opts ...request.Option) (*RemoveRoleFromInstanceProfileOutput, error) {
- req, out := c.RemoveRoleFromInstanceProfileRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opRemoveUserFromGroup = "RemoveUserFromGroup"
-
-// RemoveUserFromGroupRequest generates a "aws/request.Request" representing the
-// client's request for the RemoveUserFromGroup operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See RemoveUserFromGroup for more information on using the RemoveUserFromGroup
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the RemoveUserFromGroupRequest method.
-// req, resp := client.RemoveUserFromGroupRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/RemoveUserFromGroup
-func (c *IAM) RemoveUserFromGroupRequest(input *RemoveUserFromGroupInput) (req *request.Request, output *RemoveUserFromGroupOutput) {
- op := &request.Operation{
- Name: opRemoveUserFromGroup,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &RemoveUserFromGroupInput{}
- }
-
- output = &RemoveUserFromGroupOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// RemoveUserFromGroup API operation for AWS Identity and Access Management.
-//
-// Removes the specified user from the specified group.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation RemoveUserFromGroup for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/RemoveUserFromGroup
-func (c *IAM) RemoveUserFromGroup(input *RemoveUserFromGroupInput) (*RemoveUserFromGroupOutput, error) {
- req, out := c.RemoveUserFromGroupRequest(input)
- return out, req.Send()
-}
-
-// RemoveUserFromGroupWithContext is the same as RemoveUserFromGroup with the addition of
-// the ability to pass a context and additional request options.
-//
-// See RemoveUserFromGroup for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) RemoveUserFromGroupWithContext(ctx aws.Context, input *RemoveUserFromGroupInput, opts ...request.Option) (*RemoveUserFromGroupOutput, error) {
- req, out := c.RemoveUserFromGroupRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opResetServiceSpecificCredential = "ResetServiceSpecificCredential"
-
-// ResetServiceSpecificCredentialRequest generates a "aws/request.Request" representing the
-// client's request for the ResetServiceSpecificCredential operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See ResetServiceSpecificCredential for more information on using the ResetServiceSpecificCredential
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the ResetServiceSpecificCredentialRequest method.
-// req, resp := client.ResetServiceSpecificCredentialRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ResetServiceSpecificCredential
-func (c *IAM) ResetServiceSpecificCredentialRequest(input *ResetServiceSpecificCredentialInput) (req *request.Request, output *ResetServiceSpecificCredentialOutput) {
- op := &request.Operation{
- Name: opResetServiceSpecificCredential,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &ResetServiceSpecificCredentialInput{}
- }
-
- output = &ResetServiceSpecificCredentialOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// ResetServiceSpecificCredential API operation for AWS Identity and Access Management.
-//
-// Resets the password for a service-specific credential. The new password is
-// AWS generated and cryptographically strong. It cannot be configured by the
-// user. Resetting the password immediately invalidates the previous password
-// associated with this user.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation ResetServiceSpecificCredential for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ResetServiceSpecificCredential
-func (c *IAM) ResetServiceSpecificCredential(input *ResetServiceSpecificCredentialInput) (*ResetServiceSpecificCredentialOutput, error) {
- req, out := c.ResetServiceSpecificCredentialRequest(input)
- return out, req.Send()
-}
-
-// ResetServiceSpecificCredentialWithContext is the same as ResetServiceSpecificCredential with the addition of
-// the ability to pass a context and additional request options.
-//
-// See ResetServiceSpecificCredential for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) ResetServiceSpecificCredentialWithContext(ctx aws.Context, input *ResetServiceSpecificCredentialInput, opts ...request.Option) (*ResetServiceSpecificCredentialOutput, error) {
- req, out := c.ResetServiceSpecificCredentialRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opResyncMFADevice = "ResyncMFADevice"
-
-// ResyncMFADeviceRequest generates a "aws/request.Request" representing the
-// client's request for the ResyncMFADevice operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See ResyncMFADevice for more information on using the ResyncMFADevice
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the ResyncMFADeviceRequest method.
-// req, resp := client.ResyncMFADeviceRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ResyncMFADevice
-func (c *IAM) ResyncMFADeviceRequest(input *ResyncMFADeviceInput) (req *request.Request, output *ResyncMFADeviceOutput) {
- op := &request.Operation{
- Name: opResyncMFADevice,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &ResyncMFADeviceInput{}
- }
-
- output = &ResyncMFADeviceOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// ResyncMFADevice API operation for AWS Identity and Access Management.
-//
-// Synchronizes the specified MFA device with its IAM resource object on the
-// AWS servers.
-//
-// For more information about creating and working with virtual MFA devices,
-// go to Using a Virtual MFA Device (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_VirtualMFA.html)
-// in the IAM User Guide.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation ResyncMFADevice for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeInvalidAuthenticationCodeException "InvalidAuthenticationCode"
-// The request was rejected because the authentication code was not recognized.
-// The error message describes the specific error.
-//
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ResyncMFADevice
-func (c *IAM) ResyncMFADevice(input *ResyncMFADeviceInput) (*ResyncMFADeviceOutput, error) {
- req, out := c.ResyncMFADeviceRequest(input)
- return out, req.Send()
-}
-
-// ResyncMFADeviceWithContext is the same as ResyncMFADevice with the addition of
-// the ability to pass a context and additional request options.
-//
-// See ResyncMFADevice for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) ResyncMFADeviceWithContext(ctx aws.Context, input *ResyncMFADeviceInput, opts ...request.Option) (*ResyncMFADeviceOutput, error) {
- req, out := c.ResyncMFADeviceRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opSetDefaultPolicyVersion = "SetDefaultPolicyVersion"
-
-// SetDefaultPolicyVersionRequest generates a "aws/request.Request" representing the
-// client's request for the SetDefaultPolicyVersion operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See SetDefaultPolicyVersion for more information on using the SetDefaultPolicyVersion
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the SetDefaultPolicyVersionRequest method.
-// req, resp := client.SetDefaultPolicyVersionRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/SetDefaultPolicyVersion
-func (c *IAM) SetDefaultPolicyVersionRequest(input *SetDefaultPolicyVersionInput) (req *request.Request, output *SetDefaultPolicyVersionOutput) {
- op := &request.Operation{
- Name: opSetDefaultPolicyVersion,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &SetDefaultPolicyVersionInput{}
- }
-
- output = &SetDefaultPolicyVersionOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// SetDefaultPolicyVersion API operation for AWS Identity and Access Management.
-//
-// Sets the specified version of the specified policy as the policy's default
-// (operative) version.
-//
-// This operation affects all users, groups, and roles that the policy is attached
-// to. To list the users, groups, and roles that the policy is attached to,
-// use the ListEntitiesForPolicy API.
-//
-// For information about managed 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.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation SetDefaultPolicyVersion for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeInvalidInputException "InvalidInput"
-// The request was rejected because an invalid or out-of-range value was supplied
-// for an input parameter.
-//
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/SetDefaultPolicyVersion
-func (c *IAM) SetDefaultPolicyVersion(input *SetDefaultPolicyVersionInput) (*SetDefaultPolicyVersionOutput, error) {
- req, out := c.SetDefaultPolicyVersionRequest(input)
- return out, req.Send()
-}
-
-// SetDefaultPolicyVersionWithContext is the same as SetDefaultPolicyVersion with the addition of
-// the ability to pass a context and additional request options.
-//
-// See SetDefaultPolicyVersion for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) SetDefaultPolicyVersionWithContext(ctx aws.Context, input *SetDefaultPolicyVersionInput, opts ...request.Option) (*SetDefaultPolicyVersionOutput, error) {
- req, out := c.SetDefaultPolicyVersionRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opSetSecurityTokenServicePreferences = "SetSecurityTokenServicePreferences"
-
-// SetSecurityTokenServicePreferencesRequest generates a "aws/request.Request" representing the
-// client's request for the SetSecurityTokenServicePreferences operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See SetSecurityTokenServicePreferences for more information on using the SetSecurityTokenServicePreferences
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the SetSecurityTokenServicePreferencesRequest method.
-// req, resp := client.SetSecurityTokenServicePreferencesRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/SetSecurityTokenServicePreferences
-func (c *IAM) SetSecurityTokenServicePreferencesRequest(input *SetSecurityTokenServicePreferencesInput) (req *request.Request, output *SetSecurityTokenServicePreferencesOutput) {
- op := &request.Operation{
- Name: opSetSecurityTokenServicePreferences,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &SetSecurityTokenServicePreferencesInput{}
- }
-
- output = &SetSecurityTokenServicePreferencesOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// SetSecurityTokenServicePreferences API operation for AWS Identity and Access Management.
-//
-// Sets the specified version of the global endpoint token as the token version
-// used for the AWS account.
-//
-// By default, AWS Security Token Service (STS) is available as a global service,
-// and all STS requests go to a single endpoint at https://sts.amazonaws.com.
-// AWS recommends using Regional STS endpoints to reduce latency, build in redundancy,
-// and increase session token availability. For information about Regional endpoints
-// for STS, see AWS Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html#sts_region)
-// in the AWS General Reference.
-//
-// If you make an STS call to the global endpoint, the resulting session tokens
-// might be valid in some Regions but not others. It depends on the version
-// that is set in this operation. Version 1 tokens are valid only in AWS Regions
-// that are available by default. These tokens do not work in manually enabled
-// Regions, such as Asia Pacific (Hong Kong). Version 2 tokens are valid in
-// all Regions. However, version 2 tokens are longer and might affect systems
-// where you temporarily store tokens. For information, see Activating and Deactivating
-// STS in an AWS Region (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html)
-// in the IAM User Guide.
-//
-// To view the current session token version, see the GlobalEndpointTokenVersion
-// entry in the response of the GetAccountSummary operation.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation SetSecurityTokenServicePreferences for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/SetSecurityTokenServicePreferences
-func (c *IAM) SetSecurityTokenServicePreferences(input *SetSecurityTokenServicePreferencesInput) (*SetSecurityTokenServicePreferencesOutput, error) {
- req, out := c.SetSecurityTokenServicePreferencesRequest(input)
- return out, req.Send()
-}
-
-// SetSecurityTokenServicePreferencesWithContext is the same as SetSecurityTokenServicePreferences with the addition of
-// the ability to pass a context and additional request options.
-//
-// See SetSecurityTokenServicePreferences for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) SetSecurityTokenServicePreferencesWithContext(ctx aws.Context, input *SetSecurityTokenServicePreferencesInput, opts ...request.Option) (*SetSecurityTokenServicePreferencesOutput, error) {
- req, out := c.SetSecurityTokenServicePreferencesRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opSimulateCustomPolicy = "SimulateCustomPolicy"
-
-// SimulateCustomPolicyRequest generates a "aws/request.Request" representing the
-// client's request for the SimulateCustomPolicy operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See SimulateCustomPolicy for more information on using the SimulateCustomPolicy
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the SimulateCustomPolicyRequest method.
-// req, resp := client.SimulateCustomPolicyRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/SimulateCustomPolicy
-func (c *IAM) SimulateCustomPolicyRequest(input *SimulateCustomPolicyInput) (req *request.Request, output *SimulatePolicyResponse) {
- op := &request.Operation{
- Name: opSimulateCustomPolicy,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"Marker"},
- OutputTokens: []string{"Marker"},
- LimitToken: "MaxItems",
- TruncationToken: "IsTruncated",
- },
- }
-
- if input == nil {
- input = &SimulateCustomPolicyInput{}
- }
-
- output = &SimulatePolicyResponse{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// SimulateCustomPolicy API operation for AWS Identity and Access Management.
-//
-// Simulate how a set of IAM policies and optionally a resource-based policy
-// works with a list of API operations and AWS resources to determine the policies'
-// effective permissions. The policies are provided as strings.
-//
-// The simulation does not perform the API operations; it only checks the authorization
-// to determine if the simulated policies allow or deny the operations.
-//
-// If you want to simulate existing policies attached to an IAM user, group,
-// or role, use SimulatePrincipalPolicy instead.
-//
-// Context keys are variables maintained by AWS and its services that provide
-// details about the context of an API query request. You can use the Condition
-// element of an IAM policy to evaluate context keys. To get the list of context
-// keys that the policies require for correct simulation, use GetContextKeysForCustomPolicy.
-//
-// If the output is long, you can use MaxItems and Marker parameters to paginate
-// the results.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation SimulateCustomPolicy for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeInvalidInputException "InvalidInput"
-// The request was rejected because an invalid or out-of-range value was supplied
-// for an input parameter.
-//
-// * ErrCodePolicyEvaluationException "PolicyEvaluation"
-// The request failed because a provided policy could not be successfully evaluated.
-// An additional detailed message indicates the source of the failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/SimulateCustomPolicy
-func (c *IAM) SimulateCustomPolicy(input *SimulateCustomPolicyInput) (*SimulatePolicyResponse, error) {
- req, out := c.SimulateCustomPolicyRequest(input)
- return out, req.Send()
-}
-
-// SimulateCustomPolicyWithContext is the same as SimulateCustomPolicy with the addition of
-// the ability to pass a context and additional request options.
-//
-// See SimulateCustomPolicy for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) SimulateCustomPolicyWithContext(ctx aws.Context, input *SimulateCustomPolicyInput, opts ...request.Option) (*SimulatePolicyResponse, error) {
- req, out := c.SimulateCustomPolicyRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-// SimulateCustomPolicyPages iterates over the pages of a SimulateCustomPolicy operation,
-// calling the "fn" function with the response data for each page. To stop
-// iterating, return false from the fn function.
-//
-// See SimulateCustomPolicy method for more information on how to use this operation.
-//
-// Note: This operation can generate multiple requests to a service.
-//
-// // Example iterating over at most 3 pages of a SimulateCustomPolicy operation.
-// pageNum := 0
-// err := client.SimulateCustomPolicyPages(params,
-// func(page *iam.SimulatePolicyResponse, lastPage bool) bool {
-// pageNum++
-// fmt.Println(page)
-// return pageNum <= 3
-// })
-//
-func (c *IAM) SimulateCustomPolicyPages(input *SimulateCustomPolicyInput, fn func(*SimulatePolicyResponse, bool) bool) error {
- return c.SimulateCustomPolicyPagesWithContext(aws.BackgroundContext(), input, fn)
-}
-
-// SimulateCustomPolicyPagesWithContext same as SimulateCustomPolicyPages except
-// it takes a Context and allows setting request options on the pages.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) SimulateCustomPolicyPagesWithContext(ctx aws.Context, input *SimulateCustomPolicyInput, fn func(*SimulatePolicyResponse, bool) bool, opts ...request.Option) error {
- p := request.Pagination{
- NewRequest: func() (*request.Request, error) {
- var inCpy *SimulateCustomPolicyInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.SimulateCustomPolicyRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
-
- for p.Next() {
- if !fn(p.Page().(*SimulatePolicyResponse), !p.HasNextPage()) {
- break
- }
- }
-
- return p.Err()
-}
-
-const opSimulatePrincipalPolicy = "SimulatePrincipalPolicy"
-
-// SimulatePrincipalPolicyRequest generates a "aws/request.Request" representing the
-// client's request for the SimulatePrincipalPolicy operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See SimulatePrincipalPolicy for more information on using the SimulatePrincipalPolicy
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the SimulatePrincipalPolicyRequest method.
-// req, resp := client.SimulatePrincipalPolicyRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/SimulatePrincipalPolicy
-func (c *IAM) SimulatePrincipalPolicyRequest(input *SimulatePrincipalPolicyInput) (req *request.Request, output *SimulatePolicyResponse) {
- op := &request.Operation{
- Name: opSimulatePrincipalPolicy,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"Marker"},
- OutputTokens: []string{"Marker"},
- LimitToken: "MaxItems",
- TruncationToken: "IsTruncated",
- },
- }
-
- if input == nil {
- input = &SimulatePrincipalPolicyInput{}
- }
-
- output = &SimulatePolicyResponse{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// SimulatePrincipalPolicy API operation for AWS Identity and Access Management.
-//
-// Simulate how a set of IAM policies attached to an IAM entity works with a
-// list of API operations and AWS resources to determine the policies' effective
-// permissions. The entity can be an IAM user, group, or role. If you specify
-// a user, then the simulation also includes all of the policies that are attached
-// to groups that the user belongs to.
-//
-// You can optionally include a list of one or more additional policies specified
-// as strings to include in the simulation. If you want to simulate only policies
-// specified as strings, use SimulateCustomPolicy instead.
-//
-// You can also optionally include one resource-based policy to be evaluated
-// with each of the resources included in the simulation.
-//
-// The simulation does not perform the API operations; it only checks the authorization
-// to determine if the simulated policies allow or deny the operations.
-//
-// Note: This API discloses information about the permissions granted to other
-// users. If you do not want users to see other user's permissions, then consider
-// allowing them to use SimulateCustomPolicy instead.
-//
-// Context keys are variables maintained by AWS and its services that provide
-// details about the context of an API query request. You can use the Condition
-// element of an IAM policy to evaluate context keys. To get the list of context
-// keys that the policies require for correct simulation, use GetContextKeysForPrincipalPolicy.
-//
-// If the output is long, you can use the MaxItems and Marker parameters to
-// paginate the results.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation SimulatePrincipalPolicy for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeInvalidInputException "InvalidInput"
-// The request was rejected because an invalid or out-of-range value was supplied
-// for an input parameter.
-//
-// * ErrCodePolicyEvaluationException "PolicyEvaluation"
-// The request failed because a provided policy could not be successfully evaluated.
-// An additional detailed message indicates the source of the failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/SimulatePrincipalPolicy
-func (c *IAM) SimulatePrincipalPolicy(input *SimulatePrincipalPolicyInput) (*SimulatePolicyResponse, error) {
- req, out := c.SimulatePrincipalPolicyRequest(input)
- return out, req.Send()
-}
-
-// SimulatePrincipalPolicyWithContext is the same as SimulatePrincipalPolicy with the addition of
-// the ability to pass a context and additional request options.
-//
-// See SimulatePrincipalPolicy for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) SimulatePrincipalPolicyWithContext(ctx aws.Context, input *SimulatePrincipalPolicyInput, opts ...request.Option) (*SimulatePolicyResponse, error) {
- req, out := c.SimulatePrincipalPolicyRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-// SimulatePrincipalPolicyPages iterates over the pages of a SimulatePrincipalPolicy operation,
-// calling the "fn" function with the response data for each page. To stop
-// iterating, return false from the fn function.
-//
-// See SimulatePrincipalPolicy method for more information on how to use this operation.
-//
-// Note: This operation can generate multiple requests to a service.
-//
-// // Example iterating over at most 3 pages of a SimulatePrincipalPolicy operation.
-// pageNum := 0
-// err := client.SimulatePrincipalPolicyPages(params,
-// func(page *iam.SimulatePolicyResponse, lastPage bool) bool {
-// pageNum++
-// fmt.Println(page)
-// return pageNum <= 3
-// })
-//
-func (c *IAM) SimulatePrincipalPolicyPages(input *SimulatePrincipalPolicyInput, fn func(*SimulatePolicyResponse, bool) bool) error {
- return c.SimulatePrincipalPolicyPagesWithContext(aws.BackgroundContext(), input, fn)
-}
-
-// SimulatePrincipalPolicyPagesWithContext same as SimulatePrincipalPolicyPages except
-// it takes a Context and allows setting request options on the pages.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) SimulatePrincipalPolicyPagesWithContext(ctx aws.Context, input *SimulatePrincipalPolicyInput, fn func(*SimulatePolicyResponse, bool) bool, opts ...request.Option) error {
- p := request.Pagination{
- NewRequest: func() (*request.Request, error) {
- var inCpy *SimulatePrincipalPolicyInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.SimulatePrincipalPolicyRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
-
- for p.Next() {
- if !fn(p.Page().(*SimulatePolicyResponse), !p.HasNextPage()) {
- break
- }
- }
-
- return p.Err()
-}
-
-const opTagRole = "TagRole"
-
-// TagRoleRequest generates a "aws/request.Request" representing the
-// client's request for the TagRole operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See TagRole for more information on using the TagRole
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the TagRoleRequest method.
-// req, resp := client.TagRoleRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/TagRole
-func (c *IAM) TagRoleRequest(input *TagRoleInput) (req *request.Request, output *TagRoleOutput) {
- op := &request.Operation{
- Name: opTagRole,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &TagRoleInput{}
- }
-
- output = &TagRoleOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// TagRole API operation for AWS Identity and Access Management.
-//
-// Adds one or more tags to an IAM role. The role can be a regular role or a
-// service-linked role. If a tag with the same key name already exists, then
-// that tag is overwritten with the new value.
-//
-// A tag consists of a key name and an associated value. By assigning tags to
-// your resources, you can do the following:
-//
-// * Administrative grouping and discovery - Attach tags to resources to
-// aid in organization and search. For example, you could search for all
-// resources with the key name Project and the value MyImportantProject.
-// Or search for all resources with the key name Cost Center and the value
-// 41200.
-//
-// * Access control - Reference tags in IAM user-based and resource-based
-// policies. You can use tags to restrict access to only an IAM user or role
-// that has a specified tag attached. You can also restrict access to only
-// those resources that have a certain tag attached. For examples of policies
-// that show how to use tags to control access, see Control Access Using
-// IAM Tags (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html)
-// in the IAM User Guide.
-//
-// * Cost allocation - Use tags to help track which individuals and teams
-// are using which AWS resources.
-//
-// * Make sure that you have no invalid tags and that you do not exceed the
-// allowed number of tags per role. In either case, the entire request fails
-// and no tags are added to the role.
-//
-// * AWS always interprets the tag Value as a single string. If you need
-// to store an array, you can store comma-separated values in the string.
-// However, you must interpret the value in your code.
-//
-// For more information about tagging, see Tagging IAM Identities (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)
-// in the IAM User Guide.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation TagRole for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeInvalidInputException "InvalidInput"
-// The request was rejected because an invalid or out-of-range value was supplied
-// for an input parameter.
-//
-// * ErrCodeConcurrentModificationException "ConcurrentModification"
-// The request was rejected because multiple requests to change this object
-// were submitted simultaneously. Wait a few minutes and submit your request
-// again.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/TagRole
-func (c *IAM) TagRole(input *TagRoleInput) (*TagRoleOutput, error) {
- req, out := c.TagRoleRequest(input)
- return out, req.Send()
-}
-
-// TagRoleWithContext is the same as TagRole with the addition of
-// the ability to pass a context and additional request options.
-//
-// See TagRole for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) TagRoleWithContext(ctx aws.Context, input *TagRoleInput, opts ...request.Option) (*TagRoleOutput, error) {
- req, out := c.TagRoleRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opTagUser = "TagUser"
-
-// TagUserRequest generates a "aws/request.Request" representing the
-// client's request for the TagUser operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See TagUser for more information on using the TagUser
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the TagUserRequest method.
-// req, resp := client.TagUserRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/TagUser
-func (c *IAM) TagUserRequest(input *TagUserInput) (req *request.Request, output *TagUserOutput) {
- op := &request.Operation{
- Name: opTagUser,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &TagUserInput{}
- }
-
- output = &TagUserOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// TagUser API operation for AWS Identity and Access Management.
-//
-// Adds one or more tags to an IAM user. If a tag with the same key name already
-// exists, then that tag is overwritten with the new value.
-//
-// A tag consists of a key name and an associated value. By assigning tags to
-// your resources, you can do the following:
-//
-// * Administrative grouping and discovery - Attach tags to resources to
-// aid in organization and search. For example, you could search for all
-// resources with the key name Project and the value MyImportantProject.
-// Or search for all resources with the key name Cost Center and the value
-// 41200.
-//
-// * Access control - Reference tags in IAM user-based and resource-based
-// policies. You can use tags to restrict access to only an IAM requesting
-// user or to a role that has a specified tag attached. You can also restrict
-// access to only those resources that have a certain tag attached. For examples
-// of policies that show how to use tags to control access, see Control Access
-// Using IAM Tags (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html)
-// in the IAM User Guide.
-//
-// * Cost allocation - Use tags to help track which individuals and teams
-// are using which AWS resources.
-//
-// * Make sure that you have no invalid tags and that you do not exceed the
-// allowed number of tags per role. In either case, the entire request fails
-// and no tags are added to the role.
-//
-// * AWS always interprets the tag Value as a single string. If you need
-// to store an array, you can store comma-separated values in the string.
-// However, you must interpret the value in your code.
-//
-// For more information about tagging, see Tagging IAM Identities (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)
-// in the IAM User Guide.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation TagUser for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeInvalidInputException "InvalidInput"
-// The request was rejected because an invalid or out-of-range value was supplied
-// for an input parameter.
-//
-// * ErrCodeConcurrentModificationException "ConcurrentModification"
-// The request was rejected because multiple requests to change this object
-// were submitted simultaneously. Wait a few minutes and submit your request
-// again.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/TagUser
-func (c *IAM) TagUser(input *TagUserInput) (*TagUserOutput, error) {
- req, out := c.TagUserRequest(input)
- return out, req.Send()
-}
-
-// TagUserWithContext is the same as TagUser with the addition of
-// the ability to pass a context and additional request options.
-//
-// See TagUser for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) TagUserWithContext(ctx aws.Context, input *TagUserInput, opts ...request.Option) (*TagUserOutput, error) {
- req, out := c.TagUserRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opUntagRole = "UntagRole"
-
-// UntagRoleRequest generates a "aws/request.Request" representing the
-// client's request for the UntagRole operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See UntagRole for more information on using the UntagRole
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the UntagRoleRequest method.
-// req, resp := client.UntagRoleRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UntagRole
-func (c *IAM) UntagRoleRequest(input *UntagRoleInput) (req *request.Request, output *UntagRoleOutput) {
- op := &request.Operation{
- Name: opUntagRole,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &UntagRoleInput{}
- }
-
- output = &UntagRoleOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// UntagRole API operation for AWS Identity and Access Management.
-//
-// Removes the specified tags from the role. For more information about tagging,
-// see Tagging IAM Identities (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)
-// in the IAM User Guide.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation UntagRole for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeConcurrentModificationException "ConcurrentModification"
-// The request was rejected because multiple requests to change this object
-// were submitted simultaneously. Wait a few minutes and submit your request
-// again.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UntagRole
-func (c *IAM) UntagRole(input *UntagRoleInput) (*UntagRoleOutput, error) {
- req, out := c.UntagRoleRequest(input)
- return out, req.Send()
-}
-
-// UntagRoleWithContext is the same as UntagRole with the addition of
-// the ability to pass a context and additional request options.
-//
-// See UntagRole for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) UntagRoleWithContext(ctx aws.Context, input *UntagRoleInput, opts ...request.Option) (*UntagRoleOutput, error) {
- req, out := c.UntagRoleRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opUntagUser = "UntagUser"
-
-// UntagUserRequest generates a "aws/request.Request" representing the
-// client's request for the UntagUser operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See UntagUser for more information on using the UntagUser
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the UntagUserRequest method.
-// req, resp := client.UntagUserRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UntagUser
-func (c *IAM) UntagUserRequest(input *UntagUserInput) (req *request.Request, output *UntagUserOutput) {
- op := &request.Operation{
- Name: opUntagUser,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &UntagUserInput{}
- }
-
- output = &UntagUserOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// UntagUser API operation for AWS Identity and Access Management.
-//
-// Removes the specified tags from the user. For more information about tagging,
-// see Tagging IAM Identities (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)
-// in the IAM User Guide.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation UntagUser for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeConcurrentModificationException "ConcurrentModification"
-// The request was rejected because multiple requests to change this object
-// were submitted simultaneously. Wait a few minutes and submit your request
-// again.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UntagUser
-func (c *IAM) UntagUser(input *UntagUserInput) (*UntagUserOutput, error) {
- req, out := c.UntagUserRequest(input)
- return out, req.Send()
-}
-
-// UntagUserWithContext is the same as UntagUser with the addition of
-// the ability to pass a context and additional request options.
-//
-// See UntagUser for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) UntagUserWithContext(ctx aws.Context, input *UntagUserInput, opts ...request.Option) (*UntagUserOutput, error) {
- req, out := c.UntagUserRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opUpdateAccessKey = "UpdateAccessKey"
-
-// UpdateAccessKeyRequest generates a "aws/request.Request" representing the
-// client's request for the UpdateAccessKey operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See UpdateAccessKey for more information on using the UpdateAccessKey
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the UpdateAccessKeyRequest method.
-// req, resp := client.UpdateAccessKeyRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateAccessKey
-func (c *IAM) UpdateAccessKeyRequest(input *UpdateAccessKeyInput) (req *request.Request, output *UpdateAccessKeyOutput) {
- op := &request.Operation{
- Name: opUpdateAccessKey,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &UpdateAccessKeyInput{}
- }
-
- output = &UpdateAccessKeyOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// UpdateAccessKey API operation for AWS Identity and Access Management.
-//
-// Changes the status of the specified access key from Active to Inactive, or
-// vice versa. This operation can be used to disable a user's key as part of
-// a key rotation workflow.
-//
-// If the UserName is not specified, the user name is determined implicitly
-// based on the AWS access key ID used to sign the request. This operation works
-// for access keys under the AWS account. Consequently, you can use this operation
-// to manage AWS account root user credentials even if the AWS account has no
-// associated users.
-//
-// For information about rotating keys, see Managing Keys and Certificates (https://docs.aws.amazon.com/IAM/latest/UserGuide/ManagingCredentials.html)
-// in the IAM User Guide.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation UpdateAccessKey for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateAccessKey
-func (c *IAM) UpdateAccessKey(input *UpdateAccessKeyInput) (*UpdateAccessKeyOutput, error) {
- req, out := c.UpdateAccessKeyRequest(input)
- return out, req.Send()
-}
-
-// UpdateAccessKeyWithContext is the same as UpdateAccessKey with the addition of
-// the ability to pass a context and additional request options.
-//
-// See UpdateAccessKey for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) UpdateAccessKeyWithContext(ctx aws.Context, input *UpdateAccessKeyInput, opts ...request.Option) (*UpdateAccessKeyOutput, error) {
- req, out := c.UpdateAccessKeyRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opUpdateAccountPasswordPolicy = "UpdateAccountPasswordPolicy"
-
-// UpdateAccountPasswordPolicyRequest generates a "aws/request.Request" representing the
-// client's request for the UpdateAccountPasswordPolicy operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See UpdateAccountPasswordPolicy for more information on using the UpdateAccountPasswordPolicy
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the UpdateAccountPasswordPolicyRequest method.
-// req, resp := client.UpdateAccountPasswordPolicyRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateAccountPasswordPolicy
-func (c *IAM) UpdateAccountPasswordPolicyRequest(input *UpdateAccountPasswordPolicyInput) (req *request.Request, output *UpdateAccountPasswordPolicyOutput) {
- op := &request.Operation{
- Name: opUpdateAccountPasswordPolicy,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &UpdateAccountPasswordPolicyInput{}
- }
-
- output = &UpdateAccountPasswordPolicyOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// UpdateAccountPasswordPolicy API operation for AWS Identity and Access Management.
-//
-// Updates the password policy settings for the AWS account.
-//
-// * This operation does not support partial updates. No parameters are required,
-// but if you do not specify a parameter, that parameter's value reverts
-// to its default value. See the Request Parameters section for each parameter's
-// default value. Also note that some parameters do not allow the default
-// parameter to be explicitly set. Instead, to invoke the default value,
-// do not include that parameter when you invoke the operation.
-//
-// For more information about using a password policy, see Managing an IAM Password
-// Policy (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_ManagingPasswordPolicies.html)
-// in the IAM User Guide.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation UpdateAccountPasswordPolicy for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeMalformedPolicyDocumentException "MalformedPolicyDocument"
-// The request was rejected because the policy document was malformed. The error
-// message describes the specific error.
-//
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateAccountPasswordPolicy
-func (c *IAM) UpdateAccountPasswordPolicy(input *UpdateAccountPasswordPolicyInput) (*UpdateAccountPasswordPolicyOutput, error) {
- req, out := c.UpdateAccountPasswordPolicyRequest(input)
- return out, req.Send()
-}
-
-// UpdateAccountPasswordPolicyWithContext is the same as UpdateAccountPasswordPolicy with the addition of
-// the ability to pass a context and additional request options.
-//
-// See UpdateAccountPasswordPolicy for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) UpdateAccountPasswordPolicyWithContext(ctx aws.Context, input *UpdateAccountPasswordPolicyInput, opts ...request.Option) (*UpdateAccountPasswordPolicyOutput, error) {
- req, out := c.UpdateAccountPasswordPolicyRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opUpdateAssumeRolePolicy = "UpdateAssumeRolePolicy"
-
-// UpdateAssumeRolePolicyRequest generates a "aws/request.Request" representing the
-// client's request for the UpdateAssumeRolePolicy operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See UpdateAssumeRolePolicy for more information on using the UpdateAssumeRolePolicy
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the UpdateAssumeRolePolicyRequest method.
-// req, resp := client.UpdateAssumeRolePolicyRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateAssumeRolePolicy
-func (c *IAM) UpdateAssumeRolePolicyRequest(input *UpdateAssumeRolePolicyInput) (req *request.Request, output *UpdateAssumeRolePolicyOutput) {
- op := &request.Operation{
- Name: opUpdateAssumeRolePolicy,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &UpdateAssumeRolePolicyInput{}
- }
-
- output = &UpdateAssumeRolePolicyOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// UpdateAssumeRolePolicy API operation for AWS Identity and Access Management.
-//
-// Updates the policy that grants an IAM entity permission to assume a role.
-// This is typically referred to as the "role trust policy". For more information
-// about roles, go to Using Roles to Delegate Permissions and Federate Identities
-// (https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-toplevel.html).
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation UpdateAssumeRolePolicy for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeMalformedPolicyDocumentException "MalformedPolicyDocument"
-// The request was rejected because the policy document was malformed. The error
-// message describes the specific error.
-//
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeUnmodifiableEntityException "UnmodifiableEntity"
-// The request was rejected because only the service that depends on the service-linked
-// role can modify or delete the role on your behalf. The error message includes
-// the name of the service that depends on this service-linked role. You must
-// request the change through that service.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateAssumeRolePolicy
-func (c *IAM) UpdateAssumeRolePolicy(input *UpdateAssumeRolePolicyInput) (*UpdateAssumeRolePolicyOutput, error) {
- req, out := c.UpdateAssumeRolePolicyRequest(input)
- return out, req.Send()
-}
-
-// UpdateAssumeRolePolicyWithContext is the same as UpdateAssumeRolePolicy with the addition of
-// the ability to pass a context and additional request options.
-//
-// See UpdateAssumeRolePolicy for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) UpdateAssumeRolePolicyWithContext(ctx aws.Context, input *UpdateAssumeRolePolicyInput, opts ...request.Option) (*UpdateAssumeRolePolicyOutput, error) {
- req, out := c.UpdateAssumeRolePolicyRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opUpdateGroup = "UpdateGroup"
-
-// UpdateGroupRequest generates a "aws/request.Request" representing the
-// client's request for the UpdateGroup operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See UpdateGroup for more information on using the UpdateGroup
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the UpdateGroupRequest method.
-// req, resp := client.UpdateGroupRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateGroup
-func (c *IAM) UpdateGroupRequest(input *UpdateGroupInput) (req *request.Request, output *UpdateGroupOutput) {
- op := &request.Operation{
- Name: opUpdateGroup,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &UpdateGroupInput{}
- }
-
- output = &UpdateGroupOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// UpdateGroup API operation for AWS Identity and Access Management.
-//
-// Updates the name and/or the path of the specified IAM group.
-//
-// You should understand the implications of changing a group's path or name.
-// For more information, see Renaming Users and Groups (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_WorkingWithGroupsAndUsers.html)
-// in the IAM User Guide.
-//
-// The person making the request (the principal), must have permission to change
-// the role group with the old name and the new name. For example, to change
-// the group named Managers to MGRs, the principal must have a policy that allows
-// them to update both groups. If the principal has permission to update the
-// Managers group, but not the MGRs group, then the update fails. For more information
-// about permissions, see Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html).
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation UpdateGroup for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeEntityAlreadyExistsException "EntityAlreadyExists"
-// The request was rejected because it attempted to create a resource that already
-// exists.
-//
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateGroup
-func (c *IAM) UpdateGroup(input *UpdateGroupInput) (*UpdateGroupOutput, error) {
- req, out := c.UpdateGroupRequest(input)
- return out, req.Send()
-}
-
-// UpdateGroupWithContext is the same as UpdateGroup with the addition of
-// the ability to pass a context and additional request options.
-//
-// See UpdateGroup for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) UpdateGroupWithContext(ctx aws.Context, input *UpdateGroupInput, opts ...request.Option) (*UpdateGroupOutput, error) {
- req, out := c.UpdateGroupRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opUpdateLoginProfile = "UpdateLoginProfile"
-
-// UpdateLoginProfileRequest generates a "aws/request.Request" representing the
-// client's request for the UpdateLoginProfile operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See UpdateLoginProfile for more information on using the UpdateLoginProfile
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the UpdateLoginProfileRequest method.
-// req, resp := client.UpdateLoginProfileRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateLoginProfile
-func (c *IAM) UpdateLoginProfileRequest(input *UpdateLoginProfileInput) (req *request.Request, output *UpdateLoginProfileOutput) {
- op := &request.Operation{
- Name: opUpdateLoginProfile,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &UpdateLoginProfileInput{}
- }
-
- output = &UpdateLoginProfileOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// UpdateLoginProfile API operation for AWS Identity and Access Management.
-//
-// Changes the password for the specified IAM user.
-//
-// IAM users can change their own passwords by calling ChangePassword. For more
-// information about modifying passwords, see Managing Passwords (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_ManagingLogins.html)
-// in the IAM User Guide.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation UpdateLoginProfile for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeEntityTemporarilyUnmodifiableException "EntityTemporarilyUnmodifiable"
-// The request was rejected because it referenced an entity that is temporarily
-// unmodifiable, such as a user name that was deleted and then recreated. The
-// error indicates that the request is likely to succeed if you try again after
-// waiting several minutes. The error message describes the entity.
-//
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodePasswordPolicyViolationException "PasswordPolicyViolation"
-// The request was rejected because the provided password did not meet the requirements
-// imposed by the account password policy.
-//
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateLoginProfile
-func (c *IAM) UpdateLoginProfile(input *UpdateLoginProfileInput) (*UpdateLoginProfileOutput, error) {
- req, out := c.UpdateLoginProfileRequest(input)
- return out, req.Send()
-}
-
-// UpdateLoginProfileWithContext is the same as UpdateLoginProfile with the addition of
-// the ability to pass a context and additional request options.
-//
-// See UpdateLoginProfile for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) UpdateLoginProfileWithContext(ctx aws.Context, input *UpdateLoginProfileInput, opts ...request.Option) (*UpdateLoginProfileOutput, error) {
- req, out := c.UpdateLoginProfileRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opUpdateOpenIDConnectProviderThumbprint = "UpdateOpenIDConnectProviderThumbprint"
-
-// UpdateOpenIDConnectProviderThumbprintRequest generates a "aws/request.Request" representing the
-// client's request for the UpdateOpenIDConnectProviderThumbprint operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See UpdateOpenIDConnectProviderThumbprint for more information on using the UpdateOpenIDConnectProviderThumbprint
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the UpdateOpenIDConnectProviderThumbprintRequest method.
-// req, resp := client.UpdateOpenIDConnectProviderThumbprintRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateOpenIDConnectProviderThumbprint
-func (c *IAM) UpdateOpenIDConnectProviderThumbprintRequest(input *UpdateOpenIDConnectProviderThumbprintInput) (req *request.Request, output *UpdateOpenIDConnectProviderThumbprintOutput) {
- op := &request.Operation{
- Name: opUpdateOpenIDConnectProviderThumbprint,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &UpdateOpenIDConnectProviderThumbprintInput{}
- }
-
- output = &UpdateOpenIDConnectProviderThumbprintOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// UpdateOpenIDConnectProviderThumbprint API operation for AWS Identity and Access Management.
-//
-// Replaces the existing list of server certificate thumbprints associated with
-// an OpenID Connect (OIDC) provider resource object with a new list of thumbprints.
-//
-// The list that you pass with this operation completely replaces the existing
-// list of thumbprints. (The lists are not merged.)
-//
-// Typically, you need to update a thumbprint only when the identity provider's
-// certificate changes, which occurs rarely. However, if the provider's certificate
-// does change, any attempt to assume an IAM role that specifies the OIDC provider
-// as a principal fails until the certificate thumbprint is updated.
-//
-// Trust for the OIDC provider is derived from the provider's certificate and
-// is validated by the thumbprint. Therefore, it is best to limit access to
-// the UpdateOpenIDConnectProviderThumbprint operation to highly privileged
-// users.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation UpdateOpenIDConnectProviderThumbprint for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeInvalidInputException "InvalidInput"
-// The request was rejected because an invalid or out-of-range value was supplied
-// for an input parameter.
-//
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateOpenIDConnectProviderThumbprint
-func (c *IAM) UpdateOpenIDConnectProviderThumbprint(input *UpdateOpenIDConnectProviderThumbprintInput) (*UpdateOpenIDConnectProviderThumbprintOutput, error) {
- req, out := c.UpdateOpenIDConnectProviderThumbprintRequest(input)
- return out, req.Send()
-}
-
-// UpdateOpenIDConnectProviderThumbprintWithContext is the same as UpdateOpenIDConnectProviderThumbprint with the addition of
-// the ability to pass a context and additional request options.
-//
-// See UpdateOpenIDConnectProviderThumbprint for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) UpdateOpenIDConnectProviderThumbprintWithContext(ctx aws.Context, input *UpdateOpenIDConnectProviderThumbprintInput, opts ...request.Option) (*UpdateOpenIDConnectProviderThumbprintOutput, error) {
- req, out := c.UpdateOpenIDConnectProviderThumbprintRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opUpdateRole = "UpdateRole"
-
-// UpdateRoleRequest generates a "aws/request.Request" representing the
-// client's request for the UpdateRole operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See UpdateRole for more information on using the UpdateRole
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the UpdateRoleRequest method.
-// req, resp := client.UpdateRoleRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateRole
-func (c *IAM) UpdateRoleRequest(input *UpdateRoleInput) (req *request.Request, output *UpdateRoleOutput) {
- op := &request.Operation{
- Name: opUpdateRole,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &UpdateRoleInput{}
- }
-
- output = &UpdateRoleOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// UpdateRole API operation for AWS Identity and Access Management.
-//
-// Updates the description or maximum session duration setting of a role.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation UpdateRole for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeUnmodifiableEntityException "UnmodifiableEntity"
-// The request was rejected because only the service that depends on the service-linked
-// role can modify or delete the role on your behalf. The error message includes
-// the name of the service that depends on this service-linked role. You must
-// request the change through that service.
-//
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateRole
-func (c *IAM) UpdateRole(input *UpdateRoleInput) (*UpdateRoleOutput, error) {
- req, out := c.UpdateRoleRequest(input)
- return out, req.Send()
-}
-
-// UpdateRoleWithContext is the same as UpdateRole with the addition of
-// the ability to pass a context and additional request options.
-//
-// See UpdateRole for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) UpdateRoleWithContext(ctx aws.Context, input *UpdateRoleInput, opts ...request.Option) (*UpdateRoleOutput, error) {
- req, out := c.UpdateRoleRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opUpdateRoleDescription = "UpdateRoleDescription"
-
-// UpdateRoleDescriptionRequest generates a "aws/request.Request" representing the
-// client's request for the UpdateRoleDescription operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See UpdateRoleDescription for more information on using the UpdateRoleDescription
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the UpdateRoleDescriptionRequest method.
-// req, resp := client.UpdateRoleDescriptionRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateRoleDescription
-func (c *IAM) UpdateRoleDescriptionRequest(input *UpdateRoleDescriptionInput) (req *request.Request, output *UpdateRoleDescriptionOutput) {
- op := &request.Operation{
- Name: opUpdateRoleDescription,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &UpdateRoleDescriptionInput{}
- }
-
- output = &UpdateRoleDescriptionOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// UpdateRoleDescription API operation for AWS Identity and Access Management.
-//
-// Use UpdateRole instead.
-//
-// Modifies only the description of a role. This operation performs the same
-// function as the Description parameter in the UpdateRole operation.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation UpdateRoleDescription for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeUnmodifiableEntityException "UnmodifiableEntity"
-// The request was rejected because only the service that depends on the service-linked
-// role can modify or delete the role on your behalf. The error message includes
-// the name of the service that depends on this service-linked role. You must
-// request the change through that service.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateRoleDescription
-func (c *IAM) UpdateRoleDescription(input *UpdateRoleDescriptionInput) (*UpdateRoleDescriptionOutput, error) {
- req, out := c.UpdateRoleDescriptionRequest(input)
- return out, req.Send()
-}
-
-// UpdateRoleDescriptionWithContext is the same as UpdateRoleDescription with the addition of
-// the ability to pass a context and additional request options.
-//
-// See UpdateRoleDescription for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) UpdateRoleDescriptionWithContext(ctx aws.Context, input *UpdateRoleDescriptionInput, opts ...request.Option) (*UpdateRoleDescriptionOutput, error) {
- req, out := c.UpdateRoleDescriptionRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opUpdateSAMLProvider = "UpdateSAMLProvider"
-
-// UpdateSAMLProviderRequest generates a "aws/request.Request" representing the
-// client's request for the UpdateSAMLProvider operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See UpdateSAMLProvider for more information on using the UpdateSAMLProvider
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the UpdateSAMLProviderRequest method.
-// req, resp := client.UpdateSAMLProviderRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateSAMLProvider
-func (c *IAM) UpdateSAMLProviderRequest(input *UpdateSAMLProviderInput) (req *request.Request, output *UpdateSAMLProviderOutput) {
- op := &request.Operation{
- Name: opUpdateSAMLProvider,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &UpdateSAMLProviderInput{}
- }
-
- output = &UpdateSAMLProviderOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// UpdateSAMLProvider API operation for AWS Identity and Access Management.
-//
-// Updates the metadata document for an existing SAML provider resource object.
-//
-// This operation requires Signature Version 4 (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation UpdateSAMLProvider for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeInvalidInputException "InvalidInput"
-// The request was rejected because an invalid or out-of-range value was supplied
-// for an input parameter.
-//
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateSAMLProvider
-func (c *IAM) UpdateSAMLProvider(input *UpdateSAMLProviderInput) (*UpdateSAMLProviderOutput, error) {
- req, out := c.UpdateSAMLProviderRequest(input)
- return out, req.Send()
-}
-
-// UpdateSAMLProviderWithContext is the same as UpdateSAMLProvider with the addition of
-// the ability to pass a context and additional request options.
-//
-// See UpdateSAMLProvider for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) UpdateSAMLProviderWithContext(ctx aws.Context, input *UpdateSAMLProviderInput, opts ...request.Option) (*UpdateSAMLProviderOutput, error) {
- req, out := c.UpdateSAMLProviderRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opUpdateSSHPublicKey = "UpdateSSHPublicKey"
-
-// UpdateSSHPublicKeyRequest generates a "aws/request.Request" representing the
-// client's request for the UpdateSSHPublicKey operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See UpdateSSHPublicKey for more information on using the UpdateSSHPublicKey
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the UpdateSSHPublicKeyRequest method.
-// req, resp := client.UpdateSSHPublicKeyRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateSSHPublicKey
-func (c *IAM) UpdateSSHPublicKeyRequest(input *UpdateSSHPublicKeyInput) (req *request.Request, output *UpdateSSHPublicKeyOutput) {
- op := &request.Operation{
- Name: opUpdateSSHPublicKey,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &UpdateSSHPublicKeyInput{}
- }
-
- output = &UpdateSSHPublicKeyOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// UpdateSSHPublicKey API operation for AWS Identity and Access Management.
-//
-// Sets the status of an IAM user's SSH public key to active or inactive. SSH
-// public keys that are inactive cannot be used for authentication. This operation
-// can be used to disable a user's SSH public key as part of a key rotation
-// work flow.
-//
-// The SSH public key affected by this operation is used only for authenticating
-// the associated IAM user to an AWS CodeCommit repository. For more information
-// about using SSH keys to authenticate to an AWS CodeCommit repository, see
-// Set up AWS CodeCommit for SSH Connections (https://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-credentials-ssh.html)
-// in the AWS CodeCommit User Guide.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation UpdateSSHPublicKey for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateSSHPublicKey
-func (c *IAM) UpdateSSHPublicKey(input *UpdateSSHPublicKeyInput) (*UpdateSSHPublicKeyOutput, error) {
- req, out := c.UpdateSSHPublicKeyRequest(input)
- return out, req.Send()
-}
-
-// UpdateSSHPublicKeyWithContext is the same as UpdateSSHPublicKey with the addition of
-// the ability to pass a context and additional request options.
-//
-// See UpdateSSHPublicKey for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) UpdateSSHPublicKeyWithContext(ctx aws.Context, input *UpdateSSHPublicKeyInput, opts ...request.Option) (*UpdateSSHPublicKeyOutput, error) {
- req, out := c.UpdateSSHPublicKeyRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opUpdateServerCertificate = "UpdateServerCertificate"
-
-// UpdateServerCertificateRequest generates a "aws/request.Request" representing the
-// client's request for the UpdateServerCertificate operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See UpdateServerCertificate for more information on using the UpdateServerCertificate
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the UpdateServerCertificateRequest method.
-// req, resp := client.UpdateServerCertificateRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateServerCertificate
-func (c *IAM) UpdateServerCertificateRequest(input *UpdateServerCertificateInput) (req *request.Request, output *UpdateServerCertificateOutput) {
- op := &request.Operation{
- Name: opUpdateServerCertificate,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &UpdateServerCertificateInput{}
- }
-
- output = &UpdateServerCertificateOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// UpdateServerCertificate API operation for AWS Identity and Access Management.
-//
-// Updates the name and/or the path of the specified server certificate stored
-// in IAM.
-//
-// For more information about working with server certificates, see Working
-// with Server Certificates (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_server-certs.html)
-// in the IAM User Guide. This topic also includes a list of AWS services that
-// can use the server certificates that you manage with IAM.
-//
-// You should understand the implications of changing a server certificate's
-// path or name. For more information, see Renaming a Server Certificate (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_server-certs_manage.html#RenamingServerCerts)
-// in the IAM User Guide.
-//
-// The person making the request (the principal), must have permission to change
-// the server certificate with the old name and the new name. For example, to
-// change the certificate named ProductionCert to ProdCert, the principal must
-// have a policy that allows them to update both certificates. If the principal
-// has permission to update the ProductionCert group, but not the ProdCert certificate,
-// then the update fails. For more information about permissions, see Access
-// Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
-// in the IAM User Guide.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation UpdateServerCertificate for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeEntityAlreadyExistsException "EntityAlreadyExists"
-// The request was rejected because it attempted to create a resource that already
-// exists.
-//
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateServerCertificate
-func (c *IAM) UpdateServerCertificate(input *UpdateServerCertificateInput) (*UpdateServerCertificateOutput, error) {
- req, out := c.UpdateServerCertificateRequest(input)
- return out, req.Send()
-}
-
-// UpdateServerCertificateWithContext is the same as UpdateServerCertificate with the addition of
-// the ability to pass a context and additional request options.
-//
-// See UpdateServerCertificate for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) UpdateServerCertificateWithContext(ctx aws.Context, input *UpdateServerCertificateInput, opts ...request.Option) (*UpdateServerCertificateOutput, error) {
- req, out := c.UpdateServerCertificateRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opUpdateServiceSpecificCredential = "UpdateServiceSpecificCredential"
-
-// UpdateServiceSpecificCredentialRequest generates a "aws/request.Request" representing the
-// client's request for the UpdateServiceSpecificCredential operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See UpdateServiceSpecificCredential for more information on using the UpdateServiceSpecificCredential
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the UpdateServiceSpecificCredentialRequest method.
-// req, resp := client.UpdateServiceSpecificCredentialRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateServiceSpecificCredential
-func (c *IAM) UpdateServiceSpecificCredentialRequest(input *UpdateServiceSpecificCredentialInput) (req *request.Request, output *UpdateServiceSpecificCredentialOutput) {
- op := &request.Operation{
- Name: opUpdateServiceSpecificCredential,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &UpdateServiceSpecificCredentialInput{}
- }
-
- output = &UpdateServiceSpecificCredentialOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// UpdateServiceSpecificCredential API operation for AWS Identity and Access Management.
-//
-// Sets the status of a service-specific credential to Active or Inactive. Service-specific
-// credentials that are inactive cannot be used for authentication to the service.
-// This operation can be used to disable a user's service-specific credential
-// as part of a credential rotation work flow.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation UpdateServiceSpecificCredential for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateServiceSpecificCredential
-func (c *IAM) UpdateServiceSpecificCredential(input *UpdateServiceSpecificCredentialInput) (*UpdateServiceSpecificCredentialOutput, error) {
- req, out := c.UpdateServiceSpecificCredentialRequest(input)
- return out, req.Send()
-}
-
-// UpdateServiceSpecificCredentialWithContext is the same as UpdateServiceSpecificCredential with the addition of
-// the ability to pass a context and additional request options.
-//
-// See UpdateServiceSpecificCredential for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) UpdateServiceSpecificCredentialWithContext(ctx aws.Context, input *UpdateServiceSpecificCredentialInput, opts ...request.Option) (*UpdateServiceSpecificCredentialOutput, error) {
- req, out := c.UpdateServiceSpecificCredentialRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opUpdateSigningCertificate = "UpdateSigningCertificate"
-
-// UpdateSigningCertificateRequest generates a "aws/request.Request" representing the
-// client's request for the UpdateSigningCertificate operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See UpdateSigningCertificate for more information on using the UpdateSigningCertificate
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the UpdateSigningCertificateRequest method.
-// req, resp := client.UpdateSigningCertificateRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateSigningCertificate
-func (c *IAM) UpdateSigningCertificateRequest(input *UpdateSigningCertificateInput) (req *request.Request, output *UpdateSigningCertificateOutput) {
- op := &request.Operation{
- Name: opUpdateSigningCertificate,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &UpdateSigningCertificateInput{}
- }
-
- output = &UpdateSigningCertificateOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// UpdateSigningCertificate API operation for AWS Identity and Access Management.
-//
-// Changes the status of the specified user signing certificate from active
-// to disabled, or vice versa. This operation can be used to disable an IAM
-// user's signing certificate as part of a certificate rotation work flow.
-//
-// If the UserName field is not specified, the user name is determined implicitly
-// based on the AWS access key ID used to sign the request. This operation works
-// for access keys under the AWS account. Consequently, you can use this operation
-// to manage AWS account root user credentials even if the AWS account has no
-// associated users.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation UpdateSigningCertificate for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateSigningCertificate
-func (c *IAM) UpdateSigningCertificate(input *UpdateSigningCertificateInput) (*UpdateSigningCertificateOutput, error) {
- req, out := c.UpdateSigningCertificateRequest(input)
- return out, req.Send()
-}
-
-// UpdateSigningCertificateWithContext is the same as UpdateSigningCertificate with the addition of
-// the ability to pass a context and additional request options.
-//
-// See UpdateSigningCertificate for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) UpdateSigningCertificateWithContext(ctx aws.Context, input *UpdateSigningCertificateInput, opts ...request.Option) (*UpdateSigningCertificateOutput, error) {
- req, out := c.UpdateSigningCertificateRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opUpdateUser = "UpdateUser"
-
-// UpdateUserRequest generates a "aws/request.Request" representing the
-// client's request for the UpdateUser operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See UpdateUser for more information on using the UpdateUser
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the UpdateUserRequest method.
-// req, resp := client.UpdateUserRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateUser
-func (c *IAM) UpdateUserRequest(input *UpdateUserInput) (req *request.Request, output *UpdateUserOutput) {
- op := &request.Operation{
- Name: opUpdateUser,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &UpdateUserInput{}
- }
-
- output = &UpdateUserOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// UpdateUser API operation for AWS Identity and Access Management.
-//
-// Updates the name and/or the path of the specified IAM user.
-//
-// You should understand the implications of changing an IAM user's path or
-// name. For more information, see Renaming an IAM User (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_manage.html#id_users_renaming)
-// and Renaming an IAM Group (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups_manage_rename.html)
-// in the IAM User Guide.
-//
-// To change a user name, the requester must have appropriate permissions on
-// both the source object and the target object. For example, to change Bob
-// to Robert, the entity making the request must have permission on Bob and
-// Robert, or must have permission on all (*). For more information about permissions,
-// see Permissions and Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/PermissionsAndPolicies.html).
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation UpdateUser for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeEntityAlreadyExistsException "EntityAlreadyExists"
-// The request was rejected because it attempted to create a resource that already
-// exists.
-//
-// * ErrCodeEntityTemporarilyUnmodifiableException "EntityTemporarilyUnmodifiable"
-// The request was rejected because it referenced an entity that is temporarily
-// unmodifiable, such as a user name that was deleted and then recreated. The
-// error indicates that the request is likely to succeed if you try again after
-// waiting several minutes. The error message describes the entity.
-//
-// * ErrCodeConcurrentModificationException "ConcurrentModification"
-// The request was rejected because multiple requests to change this object
-// were submitted simultaneously. Wait a few minutes and submit your request
-// again.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateUser
-func (c *IAM) UpdateUser(input *UpdateUserInput) (*UpdateUserOutput, error) {
- req, out := c.UpdateUserRequest(input)
- return out, req.Send()
-}
-
-// UpdateUserWithContext is the same as UpdateUser with the addition of
-// the ability to pass a context and additional request options.
-//
-// See UpdateUser for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) UpdateUserWithContext(ctx aws.Context, input *UpdateUserInput, opts ...request.Option) (*UpdateUserOutput, error) {
- req, out := c.UpdateUserRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opUploadSSHPublicKey = "UploadSSHPublicKey"
-
-// UploadSSHPublicKeyRequest generates a "aws/request.Request" representing the
-// client's request for the UploadSSHPublicKey operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See UploadSSHPublicKey for more information on using the UploadSSHPublicKey
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the UploadSSHPublicKeyRequest method.
-// req, resp := client.UploadSSHPublicKeyRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UploadSSHPublicKey
-func (c *IAM) UploadSSHPublicKeyRequest(input *UploadSSHPublicKeyInput) (req *request.Request, output *UploadSSHPublicKeyOutput) {
- op := &request.Operation{
- Name: opUploadSSHPublicKey,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &UploadSSHPublicKeyInput{}
- }
-
- output = &UploadSSHPublicKeyOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// UploadSSHPublicKey API operation for AWS Identity and Access Management.
-//
-// Uploads an SSH public key and associates it with the specified IAM user.
-//
-// The SSH public key uploaded by this operation can be used only for authenticating
-// the associated IAM user to an AWS CodeCommit repository. For more information
-// about using SSH keys to authenticate to an AWS CodeCommit repository, see
-// Set up AWS CodeCommit for SSH Connections (https://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-credentials-ssh.html)
-// in the AWS CodeCommit User Guide.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation UploadSSHPublicKey for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeInvalidPublicKeyException "InvalidPublicKey"
-// The request was rejected because the public key is malformed or otherwise
-// invalid.
-//
-// * ErrCodeDuplicateSSHPublicKeyException "DuplicateSSHPublicKey"
-// The request was rejected because the SSH public key is already associated
-// with the specified IAM user.
-//
-// * ErrCodeUnrecognizedPublicKeyEncodingException "UnrecognizedPublicKeyEncoding"
-// The request was rejected because the public key encoding format is unsupported
-// or unrecognized.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UploadSSHPublicKey
-func (c *IAM) UploadSSHPublicKey(input *UploadSSHPublicKeyInput) (*UploadSSHPublicKeyOutput, error) {
- req, out := c.UploadSSHPublicKeyRequest(input)
- return out, req.Send()
-}
-
-// UploadSSHPublicKeyWithContext is the same as UploadSSHPublicKey with the addition of
-// the ability to pass a context and additional request options.
-//
-// See UploadSSHPublicKey for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) UploadSSHPublicKeyWithContext(ctx aws.Context, input *UploadSSHPublicKeyInput, opts ...request.Option) (*UploadSSHPublicKeyOutput, error) {
- req, out := c.UploadSSHPublicKeyRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opUploadServerCertificate = "UploadServerCertificate"
-
-// UploadServerCertificateRequest generates a "aws/request.Request" representing the
-// client's request for the UploadServerCertificate operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See UploadServerCertificate for more information on using the UploadServerCertificate
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the UploadServerCertificateRequest method.
-// req, resp := client.UploadServerCertificateRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UploadServerCertificate
-func (c *IAM) UploadServerCertificateRequest(input *UploadServerCertificateInput) (req *request.Request, output *UploadServerCertificateOutput) {
- op := &request.Operation{
- Name: opUploadServerCertificate,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &UploadServerCertificateInput{}
- }
-
- output = &UploadServerCertificateOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// UploadServerCertificate API operation for AWS Identity and Access Management.
-//
-// Uploads a server certificate entity for the AWS account. The server certificate
-// entity includes a public key certificate, a private key, and an optional
-// certificate chain, which should all be PEM-encoded.
-//
-// We recommend that you use AWS Certificate Manager (https://docs.aws.amazon.com/acm/)
-// to provision, manage, and deploy your server certificates. With ACM you can
-// request a certificate, deploy it to AWS resources, and let ACM handle certificate
-// renewals for you. Certificates provided by ACM are free. For more information
-// about using ACM, see the AWS Certificate Manager User Guide (https://docs.aws.amazon.com/acm/latest/userguide/).
-//
-// For more information about working with server certificates, see Working
-// with Server Certificates (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_server-certs.html)
-// in the IAM User Guide. This topic includes a list of AWS services that can
-// use the server certificates that you manage with IAM.
-//
-// For information about the number of server certificates you can upload, see
-// Limitations on IAM Entities and Objects (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-limits.html)
-// in the IAM User Guide.
-//
-// Because the body of the public key certificate, private key, and the certificate
-// chain can be large, you should use POST rather than GET when calling UploadServerCertificate.
-// For information about setting up signatures and authorization through the
-// API, go to Signing AWS API Requests (https://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html)
-// in the AWS General Reference. For general information about using the Query
-// API with IAM, go to Calling the API by Making HTTP Query Requests (https://docs.aws.amazon.com/IAM/latest/UserGuide/programming.html)
-// in the IAM User Guide.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation UploadServerCertificate for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeEntityAlreadyExistsException "EntityAlreadyExists"
-// The request was rejected because it attempted to create a resource that already
-// exists.
-//
-// * ErrCodeMalformedCertificateException "MalformedCertificate"
-// The request was rejected because the certificate was malformed or expired.
-// The error message describes the specific error.
-//
-// * ErrCodeKeyPairMismatchException "KeyPairMismatch"
-// The request was rejected because the public key certificate and the private
-// key do not match.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UploadServerCertificate
-func (c *IAM) UploadServerCertificate(input *UploadServerCertificateInput) (*UploadServerCertificateOutput, error) {
- req, out := c.UploadServerCertificateRequest(input)
- return out, req.Send()
-}
-
-// UploadServerCertificateWithContext is the same as UploadServerCertificate with the addition of
-// the ability to pass a context and additional request options.
-//
-// See UploadServerCertificate for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) UploadServerCertificateWithContext(ctx aws.Context, input *UploadServerCertificateInput, opts ...request.Option) (*UploadServerCertificateOutput, error) {
- req, out := c.UploadServerCertificateRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-const opUploadSigningCertificate = "UploadSigningCertificate"
-
-// UploadSigningCertificateRequest generates a "aws/request.Request" representing the
-// client's request for the UploadSigningCertificate operation. The "output" return
-// value will be populated with the request's response once the request completes
-// successfully.
-//
-// Use "Send" method on the returned Request to send the API call to the service.
-// the "output" return value is not valid until after Send returns without error.
-//
-// See UploadSigningCertificate for more information on using the UploadSigningCertificate
-// API call, and error handling.
-//
-// This method is useful when you want to inject custom logic or configuration
-// into the SDK's request lifecycle. Such as custom headers, or retry logic.
-//
-//
-// // Example sending a request using the UploadSigningCertificateRequest method.
-// req, resp := client.UploadSigningCertificateRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UploadSigningCertificate
-func (c *IAM) UploadSigningCertificateRequest(input *UploadSigningCertificateInput) (req *request.Request, output *UploadSigningCertificateOutput) {
- op := &request.Operation{
- Name: opUploadSigningCertificate,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
-
- if input == nil {
- input = &UploadSigningCertificateInput{}
- }
-
- output = &UploadSigningCertificateOutput{}
- req = c.newRequest(op, input, output)
- return
-}
-
-// UploadSigningCertificate API operation for AWS Identity and Access Management.
-//
-// Uploads an X.509 signing certificate and associates it with the specified
-// IAM user. Some AWS services use X.509 signing certificates to validate requests
-// that are signed with a corresponding private key. When you upload the certificate,
-// its default status is Active.
-//
-// If the UserName is not specified, the IAM user name is determined implicitly
-// based on the AWS access key ID used to sign the request. This operation works
-// for access keys under the AWS account. Consequently, you can use this operation
-// to manage AWS account root user credentials even if the AWS account has no
-// associated users.
-//
-// Because the body of an X.509 certificate can be large, you should use POST
-// rather than GET when calling UploadSigningCertificate. For information about
-// setting up signatures and authorization through the API, go to Signing AWS
-// API Requests (https://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html)
-// in the AWS General Reference. For general information about using the Query
-// API with IAM, go to Making Query Requests (https://docs.aws.amazon.com/IAM/latest/UserGuide/IAM_UsingQueryAPI.html)
-// in the IAM User Guide.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for AWS Identity and Access Management's
-// API operation UploadSigningCertificate for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeLimitExceededException "LimitExceeded"
-// The request was rejected because it attempted to create resources beyond
-// the current AWS account limits. The error message describes the limit exceeded.
-//
-// * ErrCodeEntityAlreadyExistsException "EntityAlreadyExists"
-// The request was rejected because it attempted to create a resource that already
-// exists.
-//
-// * ErrCodeMalformedCertificateException "MalformedCertificate"
-// The request was rejected because the certificate was malformed or expired.
-// The error message describes the specific error.
-//
-// * ErrCodeInvalidCertificateException "InvalidCertificate"
-// The request was rejected because the certificate is invalid.
-//
-// * ErrCodeDuplicateCertificateException "DuplicateCertificate"
-// The request was rejected because the same certificate is associated with
-// an IAM user in the account.
-//
-// * ErrCodeNoSuchEntityException "NoSuchEntity"
-// The request was rejected because it referenced a resource entity that does
-// not exist. The error message describes the resource.
-//
-// * ErrCodeServiceFailureException "ServiceFailure"
-// The request processing has failed because of an unknown error, exception
-// or failure.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UploadSigningCertificate
-func (c *IAM) UploadSigningCertificate(input *UploadSigningCertificateInput) (*UploadSigningCertificateOutput, error) {
- req, out := c.UploadSigningCertificateRequest(input)
- return out, req.Send()
-}
-
-// UploadSigningCertificateWithContext is the same as UploadSigningCertificate with the addition of
-// the ability to pass a context and additional request options.
-//
-// See UploadSigningCertificate for details on how to use this API operation.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) UploadSigningCertificateWithContext(ctx aws.Context, input *UploadSigningCertificateInput, opts ...request.Option) (*UploadSigningCertificateOutput, error) {
- req, out := c.UploadSigningCertificateRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-// An object that contains details about when a principal in the reported AWS
-// Organizations entity last attempted to access an AWS service. A principal
-// can be an IAM user, an IAM role, or the AWS account root user within the
-// reported Organizations entity.
-//
-// This data type is a response element in the GetOrganizationsAccessReport
-// operation.
-type AccessDetail struct {
- _ struct{} `type:"structure"`
-
- // The path of the Organizations entity (root, organizational unit, or account)
- // from which an authenticated principal last attempted to access the service.
- // AWS does not report unauthenticated requests.
- //
- // This field is null if no principals (IAM users, IAM roles, or root users)
- // in the reported Organizations entity attempted to access the service within
- // the reporting period (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_access-advisor.html#service-last-accessed-reporting-period).
- EntityPath *string `min:"19" type:"string"`
-
- // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
- // when an authenticated principal most recently attempted to access the service.
- // AWS does not report unauthenticated requests.
- //
- // This field is null if no principals in the reported Organizations entity
- // attempted to access the service within the reporting period (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_access-advisor.html#service-last-accessed-reporting-period).
- LastAuthenticatedTime *time.Time `type:"timestamp"`
-
- // The Region where the last service access attempt occurred.
- //
- // This field is null if no principals in the reported Organizations entity
- // attempted to access the service within the reporting period (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_access-advisor.html#service-last-accessed-reporting-period).
- Region *string `type:"string"`
-
- // The name of the service in which access was attempted.
- //
- // ServiceName is a required field
- ServiceName *string `type:"string" required:"true"`
-
- // The namespace of the service in which access was attempted.
- //
- // To learn the service namespace of a service, go to Actions, Resources, and
- // Condition Keys for AWS Services (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_actions-resources-contextkeys.html)
- // in the IAM User Guide. Choose the name of the service to view details for
- // that service. In the first paragraph, find the service prefix. For example,
- // (service prefix: a4b). For more information about service namespaces, see
- // AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces)
- // in the AWS General Reference.
- //
- // ServiceNamespace is a required field
- ServiceNamespace *string `min:"1" type:"string" required:"true"`
-
- // The number of accounts with authenticated principals (root users, IAM users,
- // and IAM roles) that attempted to access the service in the reporting period.
- TotalAuthenticatedEntities *int64 `type:"integer"`
-}
-
-// String returns the string representation
-func (s AccessDetail) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s AccessDetail) GoString() string {
- return s.String()
-}
-
-// SetEntityPath sets the EntityPath field's value.
-func (s *AccessDetail) SetEntityPath(v string) *AccessDetail {
- s.EntityPath = &v
- return s
-}
-
-// SetLastAuthenticatedTime sets the LastAuthenticatedTime field's value.
-func (s *AccessDetail) SetLastAuthenticatedTime(v time.Time) *AccessDetail {
- s.LastAuthenticatedTime = &v
- return s
-}
-
-// SetRegion sets the Region field's value.
-func (s *AccessDetail) SetRegion(v string) *AccessDetail {
- s.Region = &v
- return s
-}
-
-// SetServiceName sets the ServiceName field's value.
-func (s *AccessDetail) SetServiceName(v string) *AccessDetail {
- s.ServiceName = &v
- return s
-}
-
-// SetServiceNamespace sets the ServiceNamespace field's value.
-func (s *AccessDetail) SetServiceNamespace(v string) *AccessDetail {
- s.ServiceNamespace = &v
- return s
-}
-
-// SetTotalAuthenticatedEntities sets the TotalAuthenticatedEntities field's value.
-func (s *AccessDetail) SetTotalAuthenticatedEntities(v int64) *AccessDetail {
- s.TotalAuthenticatedEntities = &v
- return s
-}
-
-// Contains information about an AWS access key.
-//
-// This data type is used as a response element in the CreateAccessKey and ListAccessKeys
-// operations.
-//
-// The SecretAccessKey value is returned only in response to CreateAccessKey.
-// You can get a secret access key only when you first create an access key;
-// you cannot recover the secret access key later. If you lose a secret access
-// key, you must create a new access key.
-type AccessKey struct {
- _ struct{} `type:"structure"`
-
- // The ID for this access key.
- //
- // AccessKeyId is a required field
- AccessKeyId *string `min:"16" type:"string" required:"true"`
-
- // The date when the access key was created.
- CreateDate *time.Time `type:"timestamp"`
-
- // The secret key used to sign requests.
- //
- // SecretAccessKey is a required field
- SecretAccessKey *string `type:"string" required:"true" sensitive:"true"`
-
- // The status of the access key. Active means that the key is valid for API
- // calls, while Inactive means it is not.
- //
- // Status is a required field
- Status *string `type:"string" required:"true" enum:"statusType"`
-
- // The name of the IAM user that the access key is associated with.
- //
- // UserName is a required field
- UserName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s AccessKey) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s AccessKey) GoString() string {
- return s.String()
-}
-
-// SetAccessKeyId sets the AccessKeyId field's value.
-func (s *AccessKey) SetAccessKeyId(v string) *AccessKey {
- s.AccessKeyId = &v
- return s
-}
-
-// SetCreateDate sets the CreateDate field's value.
-func (s *AccessKey) SetCreateDate(v time.Time) *AccessKey {
- s.CreateDate = &v
- return s
-}
-
-// SetSecretAccessKey sets the SecretAccessKey field's value.
-func (s *AccessKey) SetSecretAccessKey(v string) *AccessKey {
- s.SecretAccessKey = &v
- return s
-}
-
-// SetStatus sets the Status field's value.
-func (s *AccessKey) SetStatus(v string) *AccessKey {
- s.Status = &v
- return s
-}
-
-// SetUserName sets the UserName field's value.
-func (s *AccessKey) SetUserName(v string) *AccessKey {
- s.UserName = &v
- return s
-}
-
-// Contains information about the last time an AWS access key was used since
-// IAM began tracking this information on April 22, 2015.
-//
-// This data type is used as a response element in the GetAccessKeyLastUsed
-// operation.
-type AccessKeyLastUsed struct {
- _ struct{} `type:"structure"`
-
- // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
- // when the access key was most recently used. This field is null in the following
- // situations:
- //
- // * The user does not have an access key.
- //
- // * An access key exists but has not been used since IAM began tracking
- // this information.
- //
- // * There is no sign-in data associated with the user.
- //
- // LastUsedDate is a required field
- LastUsedDate *time.Time `type:"timestamp" required:"true"`
-
- // The AWS Region where this access key was most recently used. The value for
- // this field is "N/A" in the following situations:
- //
- // * The user does not have an access key.
- //
- // * An access key exists but has not been used since IAM began tracking
- // this information.
- //
- // * There is no sign-in data associated with the user.
- //
- // For more information about AWS Regions, see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html)
- // in the Amazon Web Services General Reference.
- //
- // Region is a required field
- Region *string `type:"string" required:"true"`
-
- // The name of the AWS service with which this access key was most recently
- // used. The value of this field is "N/A" in the following situations:
- //
- // * The user does not have an access key.
- //
- // * An access key exists but has not been used since IAM started tracking
- // this information.
- //
- // * There is no sign-in data associated with the user.
- //
- // ServiceName is a required field
- ServiceName *string `type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s AccessKeyLastUsed) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s AccessKeyLastUsed) GoString() string {
- return s.String()
-}
-
-// SetLastUsedDate sets the LastUsedDate field's value.
-func (s *AccessKeyLastUsed) SetLastUsedDate(v time.Time) *AccessKeyLastUsed {
- s.LastUsedDate = &v
- return s
-}
-
-// SetRegion sets the Region field's value.
-func (s *AccessKeyLastUsed) SetRegion(v string) *AccessKeyLastUsed {
- s.Region = &v
- return s
-}
-
-// SetServiceName sets the ServiceName field's value.
-func (s *AccessKeyLastUsed) SetServiceName(v string) *AccessKeyLastUsed {
- s.ServiceName = &v
- return s
-}
-
-// Contains information about an AWS access key, without its secret key.
-//
-// This data type is used as a response element in the ListAccessKeys operation.
-type AccessKeyMetadata struct {
- _ struct{} `type:"structure"`
-
- // The ID for this access key.
- AccessKeyId *string `min:"16" type:"string"`
-
- // The date when the access key was created.
- CreateDate *time.Time `type:"timestamp"`
-
- // The status of the access key. Active means that the key is valid for API
- // calls; Inactive means it is not.
- Status *string `type:"string" enum:"statusType"`
-
- // The name of the IAM user that the key is associated with.
- UserName *string `min:"1" type:"string"`
-}
-
-// String returns the string representation
-func (s AccessKeyMetadata) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s AccessKeyMetadata) GoString() string {
- return s.String()
-}
-
-// SetAccessKeyId sets the AccessKeyId field's value.
-func (s *AccessKeyMetadata) SetAccessKeyId(v string) *AccessKeyMetadata {
- s.AccessKeyId = &v
- return s
-}
-
-// SetCreateDate sets the CreateDate field's value.
-func (s *AccessKeyMetadata) SetCreateDate(v time.Time) *AccessKeyMetadata {
- s.CreateDate = &v
- return s
-}
-
-// SetStatus sets the Status field's value.
-func (s *AccessKeyMetadata) SetStatus(v string) *AccessKeyMetadata {
- s.Status = &v
- return s
-}
-
-// SetUserName sets the UserName field's value.
-func (s *AccessKeyMetadata) SetUserName(v string) *AccessKeyMetadata {
- s.UserName = &v
- return s
-}
-
-type AddClientIDToOpenIDConnectProviderInput struct {
- _ struct{} `type:"structure"`
-
- // The client ID (also known as audience) to add to the IAM OpenID Connect provider
- // resource.
- //
- // ClientID is a required field
- ClientID *string `min:"1" type:"string" required:"true"`
-
- // The Amazon Resource Name (ARN) of the IAM OpenID Connect (OIDC) provider
- // resource to add the client ID to. You can get a list of OIDC provider ARNs
- // by using the ListOpenIDConnectProviders operation.
- //
- // OpenIDConnectProviderArn is a required field
- OpenIDConnectProviderArn *string `min:"20" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s AddClientIDToOpenIDConnectProviderInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s AddClientIDToOpenIDConnectProviderInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *AddClientIDToOpenIDConnectProviderInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "AddClientIDToOpenIDConnectProviderInput"}
- if s.ClientID == nil {
- invalidParams.Add(request.NewErrParamRequired("ClientID"))
- }
- if s.ClientID != nil && len(*s.ClientID) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("ClientID", 1))
- }
- if s.OpenIDConnectProviderArn == nil {
- invalidParams.Add(request.NewErrParamRequired("OpenIDConnectProviderArn"))
- }
- if s.OpenIDConnectProviderArn != nil && len(*s.OpenIDConnectProviderArn) < 20 {
- invalidParams.Add(request.NewErrParamMinLen("OpenIDConnectProviderArn", 20))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetClientID sets the ClientID field's value.
-func (s *AddClientIDToOpenIDConnectProviderInput) SetClientID(v string) *AddClientIDToOpenIDConnectProviderInput {
- s.ClientID = &v
- return s
-}
-
-// SetOpenIDConnectProviderArn sets the OpenIDConnectProviderArn field's value.
-func (s *AddClientIDToOpenIDConnectProviderInput) SetOpenIDConnectProviderArn(v string) *AddClientIDToOpenIDConnectProviderInput {
- s.OpenIDConnectProviderArn = &v
- return s
-}
-
-type AddClientIDToOpenIDConnectProviderOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s AddClientIDToOpenIDConnectProviderOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s AddClientIDToOpenIDConnectProviderOutput) GoString() string {
- return s.String()
-}
-
-type AddRoleToInstanceProfileInput struct {
- _ struct{} `type:"structure"`
-
- // The name of the instance profile to update.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // InstanceProfileName is a required field
- InstanceProfileName *string `min:"1" type:"string" required:"true"`
-
- // The name of the role to add.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // RoleName is a required field
- RoleName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s AddRoleToInstanceProfileInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s AddRoleToInstanceProfileInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *AddRoleToInstanceProfileInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "AddRoleToInstanceProfileInput"}
- if s.InstanceProfileName == nil {
- invalidParams.Add(request.NewErrParamRequired("InstanceProfileName"))
- }
- if s.InstanceProfileName != nil && len(*s.InstanceProfileName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("InstanceProfileName", 1))
- }
- if s.RoleName == nil {
- invalidParams.Add(request.NewErrParamRequired("RoleName"))
- }
- if s.RoleName != nil && len(*s.RoleName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("RoleName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetInstanceProfileName sets the InstanceProfileName field's value.
-func (s *AddRoleToInstanceProfileInput) SetInstanceProfileName(v string) *AddRoleToInstanceProfileInput {
- s.InstanceProfileName = &v
- return s
-}
-
-// SetRoleName sets the RoleName field's value.
-func (s *AddRoleToInstanceProfileInput) SetRoleName(v string) *AddRoleToInstanceProfileInput {
- s.RoleName = &v
- return s
-}
-
-type AddRoleToInstanceProfileOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s AddRoleToInstanceProfileOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s AddRoleToInstanceProfileOutput) GoString() string {
- return s.String()
-}
-
-type AddUserToGroupInput struct {
- _ struct{} `type:"structure"`
-
- // The name of the group to update.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // GroupName is a required field
- GroupName *string `min:"1" type:"string" required:"true"`
-
- // The name of the user to add.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // UserName is a required field
- UserName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s AddUserToGroupInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s AddUserToGroupInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *AddUserToGroupInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "AddUserToGroupInput"}
- if s.GroupName == nil {
- invalidParams.Add(request.NewErrParamRequired("GroupName"))
- }
- if s.GroupName != nil && len(*s.GroupName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("GroupName", 1))
- }
- if s.UserName == nil {
- invalidParams.Add(request.NewErrParamRequired("UserName"))
- }
- if s.UserName != nil && len(*s.UserName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetGroupName sets the GroupName field's value.
-func (s *AddUserToGroupInput) SetGroupName(v string) *AddUserToGroupInput {
- s.GroupName = &v
- return s
-}
-
-// SetUserName sets the UserName field's value.
-func (s *AddUserToGroupInput) SetUserName(v string) *AddUserToGroupInput {
- s.UserName = &v
- return s
-}
-
-type AddUserToGroupOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s AddUserToGroupOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s AddUserToGroupOutput) GoString() string {
- return s.String()
-}
-
-type AttachGroupPolicyInput struct {
- _ struct{} `type:"structure"`
-
- // The name (friendly name, not ARN) of the group to attach the policy to.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // GroupName is a required field
- GroupName *string `min:"1" type:"string" required:"true"`
-
- // The Amazon Resource Name (ARN) of the IAM policy you want to attach.
- //
- // 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 AttachGroupPolicyInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s AttachGroupPolicyInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *AttachGroupPolicyInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "AttachGroupPolicyInput"}
- if s.GroupName == nil {
- invalidParams.Add(request.NewErrParamRequired("GroupName"))
- }
- if s.GroupName != nil && len(*s.GroupName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("GroupName", 1))
- }
- if s.PolicyArn == nil {
- invalidParams.Add(request.NewErrParamRequired("PolicyArn"))
- }
- if s.PolicyArn != nil && len(*s.PolicyArn) < 20 {
- invalidParams.Add(request.NewErrParamMinLen("PolicyArn", 20))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetGroupName sets the GroupName field's value.
-func (s *AttachGroupPolicyInput) SetGroupName(v string) *AttachGroupPolicyInput {
- s.GroupName = &v
- return s
-}
-
-// SetPolicyArn sets the PolicyArn field's value.
-func (s *AttachGroupPolicyInput) SetPolicyArn(v string) *AttachGroupPolicyInput {
- s.PolicyArn = &v
- return s
-}
-
-type AttachGroupPolicyOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s AttachGroupPolicyOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s AttachGroupPolicyOutput) GoString() string {
- return s.String()
-}
-
-type AttachRolePolicyInput struct {
- _ struct{} `type:"structure"`
-
- // The Amazon Resource Name (ARN) of the IAM policy you want to attach.
- //
- // 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"`
-
- // The name (friendly name, not ARN) of the role to attach the policy to.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // RoleName is a required field
- RoleName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s AttachRolePolicyInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s AttachRolePolicyInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *AttachRolePolicyInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "AttachRolePolicyInput"}
- if s.PolicyArn == nil {
- invalidParams.Add(request.NewErrParamRequired("PolicyArn"))
- }
- if s.PolicyArn != nil && len(*s.PolicyArn) < 20 {
- invalidParams.Add(request.NewErrParamMinLen("PolicyArn", 20))
- }
- if s.RoleName == nil {
- invalidParams.Add(request.NewErrParamRequired("RoleName"))
- }
- if s.RoleName != nil && len(*s.RoleName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("RoleName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetPolicyArn sets the PolicyArn field's value.
-func (s *AttachRolePolicyInput) SetPolicyArn(v string) *AttachRolePolicyInput {
- s.PolicyArn = &v
- return s
-}
-
-// SetRoleName sets the RoleName field's value.
-func (s *AttachRolePolicyInput) SetRoleName(v string) *AttachRolePolicyInput {
- s.RoleName = &v
- return s
-}
-
-type AttachRolePolicyOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s AttachRolePolicyOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s AttachRolePolicyOutput) GoString() string {
- return s.String()
-}
-
-type AttachUserPolicyInput struct {
- _ struct{} `type:"structure"`
-
- // The Amazon Resource Name (ARN) of the IAM policy you want to attach.
- //
- // 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"`
-
- // The name (friendly name, not ARN) of the IAM user to attach the policy to.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // UserName is a required field
- UserName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s AttachUserPolicyInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s AttachUserPolicyInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *AttachUserPolicyInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "AttachUserPolicyInput"}
- if s.PolicyArn == nil {
- invalidParams.Add(request.NewErrParamRequired("PolicyArn"))
- }
- if s.PolicyArn != nil && len(*s.PolicyArn) < 20 {
- invalidParams.Add(request.NewErrParamMinLen("PolicyArn", 20))
- }
- if s.UserName == nil {
- invalidParams.Add(request.NewErrParamRequired("UserName"))
- }
- if s.UserName != nil && len(*s.UserName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetPolicyArn sets the PolicyArn field's value.
-func (s *AttachUserPolicyInput) SetPolicyArn(v string) *AttachUserPolicyInput {
- s.PolicyArn = &v
- return s
-}
-
-// SetUserName sets the UserName field's value.
-func (s *AttachUserPolicyInput) SetUserName(v string) *AttachUserPolicyInput {
- s.UserName = &v
- return s
-}
-
-type AttachUserPolicyOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s AttachUserPolicyOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s AttachUserPolicyOutput) GoString() string {
- return s.String()
-}
-
-// Contains information about an attached permissions boundary.
-//
-// An attached permissions boundary is a managed policy that has been attached
-// to a user or role to set the permissions boundary.
-//
-// For more information about permissions boundaries, see Permissions Boundaries
-// for IAM Identities (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html)
-// in the IAM User Guide.
-type AttachedPermissionsBoundary struct {
- _ struct{} `type:"structure"`
-
- // The ARN of the policy used to set the permissions boundary for the user or
- // role.
- PermissionsBoundaryArn *string `min:"20" type:"string"`
-
- // The permissions boundary usage type that indicates what type of IAM resource
- // is used as the permissions boundary for an entity. This data type can only
- // have a value of Policy.
- PermissionsBoundaryType *string `type:"string" enum:"PermissionsBoundaryAttachmentType"`
-}
-
-// String returns the string representation
-func (s AttachedPermissionsBoundary) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s AttachedPermissionsBoundary) GoString() string {
- return s.String()
-}
-
-// SetPermissionsBoundaryArn sets the PermissionsBoundaryArn field's value.
-func (s *AttachedPermissionsBoundary) SetPermissionsBoundaryArn(v string) *AttachedPermissionsBoundary {
- s.PermissionsBoundaryArn = &v
- return s
-}
-
-// SetPermissionsBoundaryType sets the PermissionsBoundaryType field's value.
-func (s *AttachedPermissionsBoundary) SetPermissionsBoundaryType(v string) *AttachedPermissionsBoundary {
- s.PermissionsBoundaryType = &v
- return s
-}
-
-// Contains information about an attached policy.
-//
-// An attached policy is a managed policy that has been attached to a user,
-// group, or role. This data type is used as a response element in the ListAttachedGroupPolicies,
-// ListAttachedRolePolicies, ListAttachedUserPolicies, and GetAccountAuthorizationDetails
-// operations.
-//
-// For more information about managed policies, refer to Managed Policies and
-// Inline Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
-// in the IAM User Guide.
-type AttachedPolicy struct {
- _ struct{} `type:"structure"`
-
- // The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.
- //
- // For more information about ARNs, go to 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 *string `min:"20" type:"string"`
-
- // The friendly name of the attached policy.
- PolicyName *string `min:"1" type:"string"`
-}
-
-// String returns the string representation
-func (s AttachedPolicy) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s AttachedPolicy) GoString() string {
- return s.String()
-}
-
-// SetPolicyArn sets the PolicyArn field's value.
-func (s *AttachedPolicy) SetPolicyArn(v string) *AttachedPolicy {
- s.PolicyArn = &v
- return s
-}
-
-// SetPolicyName sets the PolicyName field's value.
-func (s *AttachedPolicy) SetPolicyName(v string) *AttachedPolicy {
- s.PolicyName = &v
- return s
-}
-
-type ChangePasswordInput struct {
- _ struct{} `type:"structure"`
-
- // The new password. The new password must conform to the AWS account's password
- // policy, if one exists.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) that is used to validate
- // this parameter is a string of characters. That string can include almost
- // any printable ASCII character from the space (\u0020) through the end of
- // the ASCII character range (\u00FF). You can also include the tab (\u0009),
- // line feed (\u000A), and carriage return (\u000D) characters. Any of these
- // characters are valid in a password. However, many tools, such as the AWS
- // Management Console, might restrict the ability to type certain characters
- // because they have special meaning within that tool.
- //
- // NewPassword is a required field
- NewPassword *string `min:"1" type:"string" required:"true" sensitive:"true"`
-
- // The IAM user's current password.
- //
- // OldPassword is a required field
- OldPassword *string `min:"1" type:"string" required:"true" sensitive:"true"`
-}
-
-// String returns the string representation
-func (s ChangePasswordInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ChangePasswordInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *ChangePasswordInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ChangePasswordInput"}
- if s.NewPassword == nil {
- invalidParams.Add(request.NewErrParamRequired("NewPassword"))
- }
- if s.NewPassword != nil && len(*s.NewPassword) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("NewPassword", 1))
- }
- if s.OldPassword == nil {
- invalidParams.Add(request.NewErrParamRequired("OldPassword"))
- }
- if s.OldPassword != nil && len(*s.OldPassword) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("OldPassword", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetNewPassword sets the NewPassword field's value.
-func (s *ChangePasswordInput) SetNewPassword(v string) *ChangePasswordInput {
- s.NewPassword = &v
- return s
-}
-
-// SetOldPassword sets the OldPassword field's value.
-func (s *ChangePasswordInput) SetOldPassword(v string) *ChangePasswordInput {
- s.OldPassword = &v
- return s
-}
-
-type ChangePasswordOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s ChangePasswordOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ChangePasswordOutput) GoString() string {
- return s.String()
-}
-
-// Contains information about a condition context key. It includes the name
-// of the key and specifies the value (or values, if the context key supports
-// multiple values) to use in the simulation. This information is used when
-// evaluating the Condition elements of the input policies.
-//
-// This data type is used as an input parameter to SimulateCustomPolicy and
-// SimulatePrincipalPolicy .
-type ContextEntry struct {
- _ struct{} `type:"structure"`
-
- // The full name of a condition context key, including the service prefix. For
- // example, aws:SourceIp or s3:VersionId.
- ContextKeyName *string `min:"5" type:"string"`
-
- // The data type of the value (or values) specified in the ContextKeyValues
- // parameter.
- ContextKeyType *string `type:"string" enum:"ContextKeyTypeEnum"`
-
- // The value (or values, if the condition context key supports multiple values)
- // to provide to the simulation when the key is referenced by a Condition element
- // in an input policy.
- ContextKeyValues []*string `type:"list"`
-}
-
-// String returns the string representation
-func (s ContextEntry) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ContextEntry) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *ContextEntry) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ContextEntry"}
- if s.ContextKeyName != nil && len(*s.ContextKeyName) < 5 {
- invalidParams.Add(request.NewErrParamMinLen("ContextKeyName", 5))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetContextKeyName sets the ContextKeyName field's value.
-func (s *ContextEntry) SetContextKeyName(v string) *ContextEntry {
- s.ContextKeyName = &v
- return s
-}
-
-// SetContextKeyType sets the ContextKeyType field's value.
-func (s *ContextEntry) SetContextKeyType(v string) *ContextEntry {
- s.ContextKeyType = &v
- return s
-}
-
-// SetContextKeyValues sets the ContextKeyValues field's value.
-func (s *ContextEntry) SetContextKeyValues(v []*string) *ContextEntry {
- s.ContextKeyValues = v
- return s
-}
-
-type CreateAccessKeyInput struct {
- _ struct{} `type:"structure"`
-
- // The name of the IAM user that the new key will belong to.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- UserName *string `min:"1" type:"string"`
-}
-
-// String returns the string representation
-func (s CreateAccessKeyInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s CreateAccessKeyInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *CreateAccessKeyInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "CreateAccessKeyInput"}
- if s.UserName != nil && len(*s.UserName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetUserName sets the UserName field's value.
-func (s *CreateAccessKeyInput) SetUserName(v string) *CreateAccessKeyInput {
- s.UserName = &v
- return s
-}
-
-// Contains the response to a successful CreateAccessKey request.
-type CreateAccessKeyOutput struct {
- _ struct{} `type:"structure"`
-
- // A structure with details about the access key.
- //
- // AccessKey is a required field
- AccessKey *AccessKey `type:"structure" required:"true"`
-}
-
-// String returns the string representation
-func (s CreateAccessKeyOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s CreateAccessKeyOutput) GoString() string {
- return s.String()
-}
-
-// SetAccessKey sets the AccessKey field's value.
-func (s *CreateAccessKeyOutput) SetAccessKey(v *AccessKey) *CreateAccessKeyOutput {
- s.AccessKey = v
- return s
-}
-
-type CreateAccountAliasInput struct {
- _ struct{} `type:"structure"`
-
- // The account alias to create.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of lowercase letters, digits, and dashes.
- // You cannot start or finish with a dash, nor can you have two dashes in a
- // row.
- //
- // AccountAlias is a required field
- AccountAlias *string `min:"3" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s CreateAccountAliasInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s CreateAccountAliasInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *CreateAccountAliasInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "CreateAccountAliasInput"}
- if s.AccountAlias == nil {
- invalidParams.Add(request.NewErrParamRequired("AccountAlias"))
- }
- if s.AccountAlias != nil && len(*s.AccountAlias) < 3 {
- invalidParams.Add(request.NewErrParamMinLen("AccountAlias", 3))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetAccountAlias sets the AccountAlias field's value.
-func (s *CreateAccountAliasInput) SetAccountAlias(v string) *CreateAccountAliasInput {
- s.AccountAlias = &v
- return s
-}
-
-type CreateAccountAliasOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s CreateAccountAliasOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s CreateAccountAliasOutput) GoString() string {
- return s.String()
-}
-
-type CreateGroupInput struct {
- _ struct{} `type:"structure"`
-
- // The name of the group to create. Do not include the path in this value.
- //
- // IAM user, group, role, and policy names must be unique within the account.
- // Names are not distinguished by case. For example, you cannot create resources
- // named both "MyResource" and "myresource".
- //
- // GroupName is a required field
- GroupName *string `min:"1" type:"string" required:"true"`
-
- // The path to the group. For more information about paths, see IAM Identifiers
- // (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
- // in the IAM User Guide.
- //
- // This parameter is optional. If it is not included, it defaults to a slash
- // (/).
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of either a forward slash (/) by itself
- // or a string that must begin and end with forward slashes. In addition, it
- // can contain any ASCII character from the ! (\u0021) through the DEL character
- // (\u007F), including most punctuation characters, digits, and upper and lowercased
- // letters.
- Path *string `min:"1" type:"string"`
-}
-
-// String returns the string representation
-func (s CreateGroupInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s CreateGroupInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *CreateGroupInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "CreateGroupInput"}
- if s.GroupName == nil {
- invalidParams.Add(request.NewErrParamRequired("GroupName"))
- }
- if s.GroupName != nil && len(*s.GroupName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("GroupName", 1))
- }
- if s.Path != nil && len(*s.Path) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Path", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetGroupName sets the GroupName field's value.
-func (s *CreateGroupInput) SetGroupName(v string) *CreateGroupInput {
- s.GroupName = &v
- return s
-}
-
-// SetPath sets the Path field's value.
-func (s *CreateGroupInput) SetPath(v string) *CreateGroupInput {
- s.Path = &v
- return s
-}
-
-// Contains the response to a successful CreateGroup request.
-type CreateGroupOutput struct {
- _ struct{} `type:"structure"`
-
- // A structure containing details about the new group.
- //
- // Group is a required field
- Group *Group `type:"structure" required:"true"`
-}
-
-// String returns the string representation
-func (s CreateGroupOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s CreateGroupOutput) GoString() string {
- return s.String()
-}
-
-// SetGroup sets the Group field's value.
-func (s *CreateGroupOutput) SetGroup(v *Group) *CreateGroupOutput {
- s.Group = v
- return s
-}
-
-type CreateInstanceProfileInput struct {
- _ struct{} `type:"structure"`
-
- // The name of the instance profile to create.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // InstanceProfileName is a required field
- InstanceProfileName *string `min:"1" type:"string" required:"true"`
-
- // The path to the instance profile. For more information about paths, see IAM
- // Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
- // in the IAM User Guide.
- //
- // This parameter is optional. If it is not included, it defaults to a slash
- // (/).
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of either a forward slash (/) by itself
- // or a string that must begin and end with forward slashes. In addition, it
- // can contain any ASCII character from the ! (\u0021) through the DEL character
- // (\u007F), including most punctuation characters, digits, and upper and lowercased
- // letters.
- Path *string `min:"1" type:"string"`
-}
-
-// String returns the string representation
-func (s CreateInstanceProfileInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s CreateInstanceProfileInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *CreateInstanceProfileInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "CreateInstanceProfileInput"}
- if s.InstanceProfileName == nil {
- invalidParams.Add(request.NewErrParamRequired("InstanceProfileName"))
- }
- if s.InstanceProfileName != nil && len(*s.InstanceProfileName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("InstanceProfileName", 1))
- }
- if s.Path != nil && len(*s.Path) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Path", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetInstanceProfileName sets the InstanceProfileName field's value.
-func (s *CreateInstanceProfileInput) SetInstanceProfileName(v string) *CreateInstanceProfileInput {
- s.InstanceProfileName = &v
- return s
-}
-
-// SetPath sets the Path field's value.
-func (s *CreateInstanceProfileInput) SetPath(v string) *CreateInstanceProfileInput {
- s.Path = &v
- return s
-}
-
-// Contains the response to a successful CreateInstanceProfile request.
-type CreateInstanceProfileOutput struct {
- _ struct{} `type:"structure"`
-
- // A structure containing details about the new instance profile.
- //
- // InstanceProfile is a required field
- InstanceProfile *InstanceProfile `type:"structure" required:"true"`
-}
-
-// String returns the string representation
-func (s CreateInstanceProfileOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s CreateInstanceProfileOutput) GoString() string {
- return s.String()
-}
-
-// SetInstanceProfile sets the InstanceProfile field's value.
-func (s *CreateInstanceProfileOutput) SetInstanceProfile(v *InstanceProfile) *CreateInstanceProfileOutput {
- s.InstanceProfile = v
- return s
-}
-
-type CreateLoginProfileInput struct {
- _ struct{} `type:"structure"`
-
- // The new password for the user.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) that is used to validate
- // this parameter is a string of characters. That string can include almost
- // any printable ASCII character from the space (\u0020) through the end of
- // the ASCII character range (\u00FF). You can also include the tab (\u0009),
- // line feed (\u000A), and carriage return (\u000D) characters. Any of these
- // characters are valid in a password. However, many tools, such as the AWS
- // Management Console, might restrict the ability to type certain characters
- // because they have special meaning within that tool.
- //
- // Password is a required field
- Password *string `min:"1" type:"string" required:"true" sensitive:"true"`
-
- // Specifies whether the user is required to set a new password on next sign-in.
- PasswordResetRequired *bool `type:"boolean"`
-
- // The name of the IAM user to create a password for. The user must already
- // exist.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // UserName is a required field
- UserName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s CreateLoginProfileInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s CreateLoginProfileInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *CreateLoginProfileInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "CreateLoginProfileInput"}
- if s.Password == nil {
- invalidParams.Add(request.NewErrParamRequired("Password"))
- }
- if s.Password != nil && len(*s.Password) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Password", 1))
- }
- if s.UserName == nil {
- invalidParams.Add(request.NewErrParamRequired("UserName"))
- }
- if s.UserName != nil && len(*s.UserName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetPassword sets the Password field's value.
-func (s *CreateLoginProfileInput) SetPassword(v string) *CreateLoginProfileInput {
- s.Password = &v
- return s
-}
-
-// SetPasswordResetRequired sets the PasswordResetRequired field's value.
-func (s *CreateLoginProfileInput) SetPasswordResetRequired(v bool) *CreateLoginProfileInput {
- s.PasswordResetRequired = &v
- return s
-}
-
-// SetUserName sets the UserName field's value.
-func (s *CreateLoginProfileInput) SetUserName(v string) *CreateLoginProfileInput {
- s.UserName = &v
- return s
-}
-
-// Contains the response to a successful CreateLoginProfile request.
-type CreateLoginProfileOutput struct {
- _ struct{} `type:"structure"`
-
- // A structure containing the user name and password create date.
- //
- // LoginProfile is a required field
- LoginProfile *LoginProfile `type:"structure" required:"true"`
-}
-
-// String returns the string representation
-func (s CreateLoginProfileOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s CreateLoginProfileOutput) GoString() string {
- return s.String()
-}
-
-// SetLoginProfile sets the LoginProfile field's value.
-func (s *CreateLoginProfileOutput) SetLoginProfile(v *LoginProfile) *CreateLoginProfileOutput {
- s.LoginProfile = v
- return s
-}
-
-type CreateOpenIDConnectProviderInput struct {
- _ struct{} `type:"structure"`
-
- // A list of client IDs (also known as audiences). When a mobile or web app
- // registers with an OpenID Connect provider, they establish a value that identifies
- // the application. (This is the value that's sent as the client_id parameter
- // on OAuth requests.)
- //
- // You can register multiple client IDs with the same provider. For example,
- // you might have multiple applications that use the same OIDC provider. You
- // cannot register more than 100 client IDs with a single IAM OIDC provider.
- //
- // There is no defined format for a client ID. The CreateOpenIDConnectProviderRequest
- // operation accepts client IDs up to 255 characters long.
- ClientIDList []*string `type:"list"`
-
- // A list of server certificate thumbprints for the OpenID Connect (OIDC) identity
- // provider's server certificates. Typically this list includes only one entry.
- // However, IAM lets you have up to five thumbprints for an OIDC provider. This
- // lets you maintain multiple thumbprints if the identity provider is rotating
- // certificates.
- //
- // The server certificate thumbprint is the hex-encoded SHA-1 hash value of
- // the X.509 certificate used by the domain where the OpenID Connect provider
- // makes its keys available. It is always a 40-character string.
- //
- // You must provide at least one thumbprint when creating an IAM OIDC provider.
- // For example, assume that the OIDC provider is server.example.com and the
- // provider stores its keys at https://keys.server.example.com/openid-connect.
- // In that case, the thumbprint string would be the hex-encoded SHA-1 hash value
- // of the certificate used by https://keys.server.example.com.
- //
- // For more information about obtaining the OIDC provider's thumbprint, see
- // Obtaining the Thumbprint for an OpenID Connect Provider (https://docs.aws.amazon.com/IAM/latest/UserGuide/identity-providers-oidc-obtain-thumbprint.html)
- // in the IAM User Guide.
- //
- // ThumbprintList is a required field
- ThumbprintList []*string `type:"list" required:"true"`
-
- // The URL of the identity provider. The URL must begin with https:// and should
- // correspond to the iss claim in the provider's OpenID Connect ID tokens. Per
- // the OIDC standard, path components are allowed but query parameters are not.
- // Typically the URL consists of only a hostname, like https://server.example.org
- // or https://example.com.
- //
- // You cannot register the same provider multiple times in a single AWS account.
- // If you try to submit a URL that has already been used for an OpenID Connect
- // provider in the AWS account, you will get an error.
- //
- // Url is a required field
- Url *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s CreateOpenIDConnectProviderInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s CreateOpenIDConnectProviderInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *CreateOpenIDConnectProviderInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "CreateOpenIDConnectProviderInput"}
- if s.ThumbprintList == nil {
- invalidParams.Add(request.NewErrParamRequired("ThumbprintList"))
- }
- if s.Url == nil {
- invalidParams.Add(request.NewErrParamRequired("Url"))
- }
- if s.Url != nil && len(*s.Url) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Url", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetClientIDList sets the ClientIDList field's value.
-func (s *CreateOpenIDConnectProviderInput) SetClientIDList(v []*string) *CreateOpenIDConnectProviderInput {
- s.ClientIDList = v
- return s
-}
-
-// SetThumbprintList sets the ThumbprintList field's value.
-func (s *CreateOpenIDConnectProviderInput) SetThumbprintList(v []*string) *CreateOpenIDConnectProviderInput {
- s.ThumbprintList = v
- return s
-}
-
-// SetUrl sets the Url field's value.
-func (s *CreateOpenIDConnectProviderInput) SetUrl(v string) *CreateOpenIDConnectProviderInput {
- s.Url = &v
- return s
-}
-
-// Contains the response to a successful CreateOpenIDConnectProvider request.
-type CreateOpenIDConnectProviderOutput struct {
- _ struct{} `type:"structure"`
-
- // The Amazon Resource Name (ARN) of the new IAM OpenID Connect provider that
- // is created. For more information, see OpenIDConnectProviderListEntry.
- OpenIDConnectProviderArn *string `min:"20" type:"string"`
-}
-
-// String returns the string representation
-func (s CreateOpenIDConnectProviderOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s CreateOpenIDConnectProviderOutput) GoString() string {
- return s.String()
-}
-
-// SetOpenIDConnectProviderArn sets the OpenIDConnectProviderArn field's value.
-func (s *CreateOpenIDConnectProviderOutput) SetOpenIDConnectProviderArn(v string) *CreateOpenIDConnectProviderOutput {
- s.OpenIDConnectProviderArn = &v
- return s
-}
-
-type CreatePolicyInput struct {
- _ struct{} `type:"structure"`
-
- // A friendly description of the policy.
- //
- // Typically used to store information about the permissions defined in the
- // policy. For example, "Grants access to production DynamoDB tables."
- //
- // The policy description is immutable. After a value is assigned, it cannot
- // be changed.
- Description *string `type:"string"`
-
- // The path for the policy.
- //
- // For more information about paths, see IAM Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
- // in the IAM User Guide.
- //
- // This parameter is optional. If it is not included, it defaults to a slash
- // (/).
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of either a forward slash (/) by itself
- // or a string that must begin and end with forward slashes. In addition, it
- // can contain any ASCII character from the ! (\u0021) through the DEL character
- // (\u007F), including most punctuation characters, digits, and upper and lowercased
- // letters.
- Path *string `min:"1" type:"string"`
-
- // The JSON policy document that you want to use as the content for the new
- // policy.
- //
- // You must provide policies in JSON format in IAM. However, for AWS CloudFormation
- // templates formatted in YAML, you can provide the policy in JSON or YAML format.
- // AWS CloudFormation always converts a YAML policy to JSON format before submitting
- // it to IAM.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) used to validate this
- // parameter is a string of characters consisting of the following:
- //
- // * Any printable ASCII character ranging from the space character (\u0020)
- // through the end of the ASCII character range
- //
- // * The printable characters in the Basic Latin and Latin-1 Supplement character
- // set (through \u00FF)
- //
- // * The special characters tab (\u0009), line feed (\u000A), and carriage
- // return (\u000D)
- //
- // PolicyDocument is a required field
- PolicyDocument *string `min:"1" type:"string" required:"true"`
-
- // The friendly name of the policy.
- //
- // IAM user, group, role, and policy names must be unique within the account.
- // Names are not distinguished by case. For example, you cannot create resources
- // named both "MyResource" and "myresource".
- //
- // PolicyName is a required field
- PolicyName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s CreatePolicyInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s CreatePolicyInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *CreatePolicyInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "CreatePolicyInput"}
- if s.Path != nil && len(*s.Path) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Path", 1))
- }
- if s.PolicyDocument == nil {
- invalidParams.Add(request.NewErrParamRequired("PolicyDocument"))
- }
- if s.PolicyDocument != nil && len(*s.PolicyDocument) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("PolicyDocument", 1))
- }
- if s.PolicyName == nil {
- invalidParams.Add(request.NewErrParamRequired("PolicyName"))
- }
- if s.PolicyName != nil && len(*s.PolicyName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("PolicyName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetDescription sets the Description field's value.
-func (s *CreatePolicyInput) SetDescription(v string) *CreatePolicyInput {
- s.Description = &v
- return s
-}
-
-// SetPath sets the Path field's value.
-func (s *CreatePolicyInput) SetPath(v string) *CreatePolicyInput {
- s.Path = &v
- return s
-}
-
-// SetPolicyDocument sets the PolicyDocument field's value.
-func (s *CreatePolicyInput) SetPolicyDocument(v string) *CreatePolicyInput {
- s.PolicyDocument = &v
- return s
-}
-
-// SetPolicyName sets the PolicyName field's value.
-func (s *CreatePolicyInput) SetPolicyName(v string) *CreatePolicyInput {
- s.PolicyName = &v
- return s
-}
-
-// Contains the response to a successful CreatePolicy request.
-type CreatePolicyOutput struct {
- _ struct{} `type:"structure"`
-
- // A structure containing details about the new policy.
- Policy *Policy `type:"structure"`
-}
-
-// String returns the string representation
-func (s CreatePolicyOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s CreatePolicyOutput) GoString() string {
- return s.String()
-}
-
-// SetPolicy sets the Policy field's value.
-func (s *CreatePolicyOutput) SetPolicy(v *Policy) *CreatePolicyOutput {
- s.Policy = v
- return s
-}
-
-type CreatePolicyVersionInput struct {
- _ struct{} `type:"structure"`
-
- // The Amazon Resource Name (ARN) of the IAM policy to which you want to add
- // a new version.
- //
- // 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"`
-
- // The JSON policy document that you want to use as the content for this new
- // version of the policy.
- //
- // You must provide policies in JSON format in IAM. However, for AWS CloudFormation
- // templates formatted in YAML, you can provide the policy in JSON or YAML format.
- // AWS CloudFormation always converts a YAML policy to JSON format before submitting
- // it to IAM.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) used to validate this
- // parameter is a string of characters consisting of the following:
- //
- // * Any printable ASCII character ranging from the space character (\u0020)
- // through the end of the ASCII character range
- //
- // * The printable characters in the Basic Latin and Latin-1 Supplement character
- // set (through \u00FF)
- //
- // * The special characters tab (\u0009), line feed (\u000A), and carriage
- // return (\u000D)
- //
- // PolicyDocument is a required field
- PolicyDocument *string `min:"1" type:"string" required:"true"`
-
- // Specifies whether to set this version as the policy's default version.
- //
- // When this parameter is true, the new policy version becomes the operative
- // version. That is, it becomes the version that is in effect for the IAM users,
- // groups, and roles that the policy is attached to.
- //
- // For more information about managed policy versions, see Versioning for Managed
- // Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html)
- // in the IAM User Guide.
- SetAsDefault *bool `type:"boolean"`
-}
-
-// String returns the string representation
-func (s CreatePolicyVersionInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s CreatePolicyVersionInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *CreatePolicyVersionInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "CreatePolicyVersionInput"}
- if s.PolicyArn == nil {
- invalidParams.Add(request.NewErrParamRequired("PolicyArn"))
- }
- if s.PolicyArn != nil && len(*s.PolicyArn) < 20 {
- invalidParams.Add(request.NewErrParamMinLen("PolicyArn", 20))
- }
- if s.PolicyDocument == nil {
- invalidParams.Add(request.NewErrParamRequired("PolicyDocument"))
- }
- if s.PolicyDocument != nil && len(*s.PolicyDocument) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("PolicyDocument", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetPolicyArn sets the PolicyArn field's value.
-func (s *CreatePolicyVersionInput) SetPolicyArn(v string) *CreatePolicyVersionInput {
- s.PolicyArn = &v
- return s
-}
-
-// SetPolicyDocument sets the PolicyDocument field's value.
-func (s *CreatePolicyVersionInput) SetPolicyDocument(v string) *CreatePolicyVersionInput {
- s.PolicyDocument = &v
- return s
-}
-
-// SetSetAsDefault sets the SetAsDefault field's value.
-func (s *CreatePolicyVersionInput) SetSetAsDefault(v bool) *CreatePolicyVersionInput {
- s.SetAsDefault = &v
- return s
-}
-
-// Contains the response to a successful CreatePolicyVersion request.
-type CreatePolicyVersionOutput struct {
- _ struct{} `type:"structure"`
-
- // A structure containing details about the new policy version.
- PolicyVersion *PolicyVersion `type:"structure"`
-}
-
-// String returns the string representation
-func (s CreatePolicyVersionOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s CreatePolicyVersionOutput) GoString() string {
- return s.String()
-}
-
-// SetPolicyVersion sets the PolicyVersion field's value.
-func (s *CreatePolicyVersionOutput) SetPolicyVersion(v *PolicyVersion) *CreatePolicyVersionOutput {
- s.PolicyVersion = v
- return s
-}
-
-type CreateRoleInput struct {
- _ struct{} `type:"structure"`
-
- // The trust relationship policy document that grants an entity permission to
- // assume the role.
- //
- // In IAM, you must provide a JSON policy that has been converted to a string.
- // However, for AWS CloudFormation templates formatted in YAML, you can provide
- // the policy in JSON or YAML format. AWS CloudFormation always converts a YAML
- // policy to JSON format before submitting it to IAM.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) used to validate this
- // parameter is a string of characters consisting of the following:
- //
- // * Any printable ASCII character ranging from the space character (\u0020)
- // through the end of the ASCII character range
- //
- // * The printable characters in the Basic Latin and Latin-1 Supplement character
- // set (through \u00FF)
- //
- // * The special characters tab (\u0009), line feed (\u000A), and carriage
- // return (\u000D)
- //
- // Upon success, the response includes the same trust policy in JSON format.
- //
- // AssumeRolePolicyDocument is a required field
- AssumeRolePolicyDocument *string `min:"1" type:"string" required:"true"`
-
- // A description of the role.
- Description *string `type:"string"`
-
- // The maximum session duration (in seconds) that you want to set for the specified
- // role. If you do not specify a value for this setting, the default maximum
- // of one hour is applied. This setting can have a value from 1 hour to 12 hours.
- //
- // Anyone who assumes the role from the AWS CLI or API can use the DurationSeconds
- // API parameter or the duration-seconds CLI parameter to request a longer session.
- // The MaxSessionDuration setting determines the maximum duration that can be
- // requested using the DurationSeconds parameter. If users don't specify a value
- // for the DurationSeconds parameter, their security credentials are valid for
- // one hour by default. This applies when you use the AssumeRole* API operations
- // or the assume-role* CLI operations but does not apply when you use those
- // operations to create a console URL. For more information, see Using IAM Roles
- // (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html) in the
- // IAM User Guide.
- MaxSessionDuration *int64 `min:"3600" type:"integer"`
-
- // The path to the role. For more information about paths, see IAM Identifiers
- // (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
- // in the IAM User Guide.
- //
- // This parameter is optional. If it is not included, it defaults to a slash
- // (/).
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of either a forward slash (/) by itself
- // or a string that must begin and end with forward slashes. In addition, it
- // can contain any ASCII character from the ! (\u0021) through the DEL character
- // (\u007F), including most punctuation characters, digits, and upper and lowercased
- // letters.
- Path *string `min:"1" type:"string"`
-
- // The ARN of the policy that is used to set the permissions boundary for the
- // role.
- PermissionsBoundary *string `min:"20" type:"string"`
-
- // The name of the role to create.
- //
- // IAM user, group, role, and policy names must be unique within the account.
- // Names are not distinguished by case. For example, you cannot create resources
- // named both "MyResource" and "myresource".
- //
- // RoleName is a required field
- RoleName *string `min:"1" type:"string" required:"true"`
-
- // A list of tags that you want to attach to the newly created role. Each tag
- // consists of a key name and an associated value. For more information about
- // tagging, see Tagging IAM Identities (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)
- // in the IAM User Guide.
- //
- // If any one of the tags is invalid or if you exceed the allowed number of
- // tags per role, then the entire request fails and the role is not created.
- Tags []*Tag `type:"list"`
-}
-
-// String returns the string representation
-func (s CreateRoleInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s CreateRoleInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *CreateRoleInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "CreateRoleInput"}
- if s.AssumeRolePolicyDocument == nil {
- invalidParams.Add(request.NewErrParamRequired("AssumeRolePolicyDocument"))
- }
- if s.AssumeRolePolicyDocument != nil && len(*s.AssumeRolePolicyDocument) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("AssumeRolePolicyDocument", 1))
- }
- if s.MaxSessionDuration != nil && *s.MaxSessionDuration < 3600 {
- invalidParams.Add(request.NewErrParamMinValue("MaxSessionDuration", 3600))
- }
- if s.Path != nil && len(*s.Path) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Path", 1))
- }
- if s.PermissionsBoundary != nil && len(*s.PermissionsBoundary) < 20 {
- invalidParams.Add(request.NewErrParamMinLen("PermissionsBoundary", 20))
- }
- if s.RoleName == nil {
- invalidParams.Add(request.NewErrParamRequired("RoleName"))
- }
- if s.RoleName != nil && len(*s.RoleName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("RoleName", 1))
- }
- if s.Tags != nil {
- for i, v := range s.Tags {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
- }
- }
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetAssumeRolePolicyDocument sets the AssumeRolePolicyDocument field's value.
-func (s *CreateRoleInput) SetAssumeRolePolicyDocument(v string) *CreateRoleInput {
- s.AssumeRolePolicyDocument = &v
- return s
-}
-
-// SetDescription sets the Description field's value.
-func (s *CreateRoleInput) SetDescription(v string) *CreateRoleInput {
- s.Description = &v
- return s
-}
-
-// SetMaxSessionDuration sets the MaxSessionDuration field's value.
-func (s *CreateRoleInput) SetMaxSessionDuration(v int64) *CreateRoleInput {
- s.MaxSessionDuration = &v
- return s
-}
-
-// SetPath sets the Path field's value.
-func (s *CreateRoleInput) SetPath(v string) *CreateRoleInput {
- s.Path = &v
- return s
-}
-
-// SetPermissionsBoundary sets the PermissionsBoundary field's value.
-func (s *CreateRoleInput) SetPermissionsBoundary(v string) *CreateRoleInput {
- s.PermissionsBoundary = &v
- return s
-}
-
-// SetRoleName sets the RoleName field's value.
-func (s *CreateRoleInput) SetRoleName(v string) *CreateRoleInput {
- s.RoleName = &v
- return s
-}
-
-// SetTags sets the Tags field's value.
-func (s *CreateRoleInput) SetTags(v []*Tag) *CreateRoleInput {
- s.Tags = v
- return s
-}
-
-// Contains the response to a successful CreateRole request.
-type CreateRoleOutput struct {
- _ struct{} `type:"structure"`
-
- // A structure containing details about the new role.
- //
- // Role is a required field
- Role *Role `type:"structure" required:"true"`
-}
-
-// String returns the string representation
-func (s CreateRoleOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s CreateRoleOutput) GoString() string {
- return s.String()
-}
-
-// SetRole sets the Role field's value.
-func (s *CreateRoleOutput) SetRole(v *Role) *CreateRoleOutput {
- s.Role = v
- return s
-}
-
-type CreateSAMLProviderInput struct {
- _ struct{} `type:"structure"`
-
- // The name of the provider to create.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // Name is a required field
- Name *string `min:"1" type:"string" required:"true"`
-
- // An XML document generated by an identity provider (IdP) that supports SAML
- // 2.0. The document includes the issuer's name, expiration information, and
- // keys that can be used to validate the SAML authentication response (assertions)
- // that are received from the IdP. You must generate the metadata document using
- // the identity management software that is used as your organization's IdP.
- //
- // For more information, see About SAML 2.0-based Federation (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_saml.html)
- // in the IAM User Guide
- //
- // SAMLMetadataDocument is a required field
- SAMLMetadataDocument *string `min:"1000" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s CreateSAMLProviderInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s CreateSAMLProviderInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *CreateSAMLProviderInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "CreateSAMLProviderInput"}
- if s.Name == nil {
- invalidParams.Add(request.NewErrParamRequired("Name"))
- }
- if s.Name != nil && len(*s.Name) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Name", 1))
- }
- if s.SAMLMetadataDocument == nil {
- invalidParams.Add(request.NewErrParamRequired("SAMLMetadataDocument"))
- }
- if s.SAMLMetadataDocument != nil && len(*s.SAMLMetadataDocument) < 1000 {
- invalidParams.Add(request.NewErrParamMinLen("SAMLMetadataDocument", 1000))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetName sets the Name field's value.
-func (s *CreateSAMLProviderInput) SetName(v string) *CreateSAMLProviderInput {
- s.Name = &v
- return s
-}
-
-// SetSAMLMetadataDocument sets the SAMLMetadataDocument field's value.
-func (s *CreateSAMLProviderInput) SetSAMLMetadataDocument(v string) *CreateSAMLProviderInput {
- s.SAMLMetadataDocument = &v
- return s
-}
-
-// Contains the response to a successful CreateSAMLProvider request.
-type CreateSAMLProviderOutput struct {
- _ struct{} `type:"structure"`
-
- // The Amazon Resource Name (ARN) of the new SAML provider resource in IAM.
- SAMLProviderArn *string `min:"20" type:"string"`
-}
-
-// String returns the string representation
-func (s CreateSAMLProviderOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s CreateSAMLProviderOutput) GoString() string {
- return s.String()
-}
-
-// SetSAMLProviderArn sets the SAMLProviderArn field's value.
-func (s *CreateSAMLProviderOutput) SetSAMLProviderArn(v string) *CreateSAMLProviderOutput {
- s.SAMLProviderArn = &v
- return s
-}
-
-type CreateServiceLinkedRoleInput struct {
- _ struct{} `type:"structure"`
-
- // The service principal for the AWS service to which this role is attached.
- // You use a string similar to a URL but without the http:// in front. For example:
- // elasticbeanstalk.amazonaws.com.
- //
- // Service principals are unique and case-sensitive. To find the exact service
- // principal for your service-linked role, see AWS Services That Work with IAM
- // (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)
- // in the IAM User Guide. Look for the services that have Yes in the Service-Linked
- // Role column. Choose the Yes link to view the service-linked role documentation
- // for that service.
- //
- // AWSServiceName is a required field
- AWSServiceName *string `min:"1" type:"string" required:"true"`
-
- // A string that you provide, which is combined with the service-provided prefix
- // to form the complete role name. If you make multiple requests for the same
- // service, then you must supply a different CustomSuffix for each request.
- // Otherwise the request fails with a duplicate role name error. For example,
- // you could add -1 or -debug to the suffix.
- //
- // Some services do not support the CustomSuffix parameter. If you provide an
- // optional suffix and the operation fails, try the operation again without
- // the suffix.
- CustomSuffix *string `min:"1" type:"string"`
-
- // The description of the role.
- Description *string `type:"string"`
-}
-
-// String returns the string representation
-func (s CreateServiceLinkedRoleInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s CreateServiceLinkedRoleInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *CreateServiceLinkedRoleInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "CreateServiceLinkedRoleInput"}
- if s.AWSServiceName == nil {
- invalidParams.Add(request.NewErrParamRequired("AWSServiceName"))
- }
- if s.AWSServiceName != nil && len(*s.AWSServiceName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("AWSServiceName", 1))
- }
- if s.CustomSuffix != nil && len(*s.CustomSuffix) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("CustomSuffix", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetAWSServiceName sets the AWSServiceName field's value.
-func (s *CreateServiceLinkedRoleInput) SetAWSServiceName(v string) *CreateServiceLinkedRoleInput {
- s.AWSServiceName = &v
- return s
-}
-
-// SetCustomSuffix sets the CustomSuffix field's value.
-func (s *CreateServiceLinkedRoleInput) SetCustomSuffix(v string) *CreateServiceLinkedRoleInput {
- s.CustomSuffix = &v
- return s
-}
-
-// SetDescription sets the Description field's value.
-func (s *CreateServiceLinkedRoleInput) SetDescription(v string) *CreateServiceLinkedRoleInput {
- s.Description = &v
- return s
-}
-
-type CreateServiceLinkedRoleOutput struct {
- _ struct{} `type:"structure"`
-
- // A Role object that contains details about the newly created role.
- Role *Role `type:"structure"`
-}
-
-// String returns the string representation
-func (s CreateServiceLinkedRoleOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s CreateServiceLinkedRoleOutput) GoString() string {
- return s.String()
-}
-
-// SetRole sets the Role field's value.
-func (s *CreateServiceLinkedRoleOutput) SetRole(v *Role) *CreateServiceLinkedRoleOutput {
- s.Role = v
- return s
-}
-
-type CreateServiceSpecificCredentialInput struct {
- _ struct{} `type:"structure"`
-
- // The name of the AWS service that is to be associated with the credentials.
- // The service you specify here is the only service that can be accessed using
- // these credentials.
- //
- // ServiceName is a required field
- ServiceName *string `type:"string" required:"true"`
-
- // The name of the IAM user that is to be associated with the credentials. The
- // new service-specific credentials have the same permissions as the associated
- // user except that they can be used only to access the specified service.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // UserName is a required field
- UserName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s CreateServiceSpecificCredentialInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s CreateServiceSpecificCredentialInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *CreateServiceSpecificCredentialInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "CreateServiceSpecificCredentialInput"}
- if s.ServiceName == nil {
- invalidParams.Add(request.NewErrParamRequired("ServiceName"))
- }
- if s.UserName == nil {
- invalidParams.Add(request.NewErrParamRequired("UserName"))
- }
- if s.UserName != nil && len(*s.UserName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetServiceName sets the ServiceName field's value.
-func (s *CreateServiceSpecificCredentialInput) SetServiceName(v string) *CreateServiceSpecificCredentialInput {
- s.ServiceName = &v
- return s
-}
-
-// SetUserName sets the UserName field's value.
-func (s *CreateServiceSpecificCredentialInput) SetUserName(v string) *CreateServiceSpecificCredentialInput {
- s.UserName = &v
- return s
-}
-
-type CreateServiceSpecificCredentialOutput struct {
- _ struct{} `type:"structure"`
-
- // A structure that contains information about the newly created service-specific
- // credential.
- //
- // This is the only time that the password for this credential set is available.
- // It cannot be recovered later. Instead, you must reset the password with ResetServiceSpecificCredential.
- ServiceSpecificCredential *ServiceSpecificCredential `type:"structure"`
-}
-
-// String returns the string representation
-func (s CreateServiceSpecificCredentialOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s CreateServiceSpecificCredentialOutput) GoString() string {
- return s.String()
-}
-
-// SetServiceSpecificCredential sets the ServiceSpecificCredential field's value.
-func (s *CreateServiceSpecificCredentialOutput) SetServiceSpecificCredential(v *ServiceSpecificCredential) *CreateServiceSpecificCredentialOutput {
- s.ServiceSpecificCredential = v
- return s
-}
-
-type CreateUserInput struct {
- _ struct{} `type:"structure"`
-
- // The path for the user name. For more information about paths, see IAM Identifiers
- // (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
- // in the IAM User Guide.
- //
- // This parameter is optional. If it is not included, it defaults to a slash
- // (/).
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of either a forward slash (/) by itself
- // or a string that must begin and end with forward slashes. In addition, it
- // can contain any ASCII character from the ! (\u0021) through the DEL character
- // (\u007F), including most punctuation characters, digits, and upper and lowercased
- // letters.
- Path *string `min:"1" type:"string"`
-
- // The ARN of the policy that is used to set the permissions boundary for the
- // user.
- PermissionsBoundary *string `min:"20" type:"string"`
-
- // A list of tags that you want to attach to the newly created user. Each tag
- // consists of a key name and an associated value. For more information about
- // tagging, see Tagging IAM Identities (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)
- // in the IAM User Guide.
- //
- // If any one of the tags is invalid or if you exceed the allowed number of
- // tags per user, then the entire request fails and the user is not created.
- Tags []*Tag `type:"list"`
-
- // The name of the user to create.
- //
- // IAM user, group, role, and policy names must be unique within the account.
- // Names are not distinguished by case. For example, you cannot create resources
- // named both "MyResource" and "myresource".
- //
- // UserName is a required field
- UserName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s CreateUserInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s CreateUserInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *CreateUserInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "CreateUserInput"}
- if s.Path != nil && len(*s.Path) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Path", 1))
- }
- if s.PermissionsBoundary != nil && len(*s.PermissionsBoundary) < 20 {
- invalidParams.Add(request.NewErrParamMinLen("PermissionsBoundary", 20))
- }
- if s.UserName == nil {
- invalidParams.Add(request.NewErrParamRequired("UserName"))
- }
- if s.UserName != nil && len(*s.UserName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
- }
- if s.Tags != nil {
- for i, v := range s.Tags {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
- }
- }
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetPath sets the Path field's value.
-func (s *CreateUserInput) SetPath(v string) *CreateUserInput {
- s.Path = &v
- return s
-}
-
-// SetPermissionsBoundary sets the PermissionsBoundary field's value.
-func (s *CreateUserInput) SetPermissionsBoundary(v string) *CreateUserInput {
- s.PermissionsBoundary = &v
- return s
-}
-
-// SetTags sets the Tags field's value.
-func (s *CreateUserInput) SetTags(v []*Tag) *CreateUserInput {
- s.Tags = v
- return s
-}
-
-// SetUserName sets the UserName field's value.
-func (s *CreateUserInput) SetUserName(v string) *CreateUserInput {
- s.UserName = &v
- return s
-}
-
-// Contains the response to a successful CreateUser request.
-type CreateUserOutput struct {
- _ struct{} `type:"structure"`
-
- // A structure with details about the new IAM user.
- User *User `type:"structure"`
-}
-
-// String returns the string representation
-func (s CreateUserOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s CreateUserOutput) GoString() string {
- return s.String()
-}
-
-// SetUser sets the User field's value.
-func (s *CreateUserOutput) SetUser(v *User) *CreateUserOutput {
- s.User = v
- return s
-}
-
-type CreateVirtualMFADeviceInput struct {
- _ struct{} `type:"structure"`
-
- // The path for the virtual MFA device. For more information about paths, see
- // IAM Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
- // in the IAM User Guide.
- //
- // This parameter is optional. If it is not included, it defaults to a slash
- // (/).
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of either a forward slash (/) by itself
- // or a string that must begin and end with forward slashes. In addition, it
- // can contain any ASCII character from the ! (\u0021) through the DEL character
- // (\u007F), including most punctuation characters, digits, and upper and lowercased
- // letters.
- Path *string `min:"1" type:"string"`
-
- // The name of the virtual MFA device. Use with path to uniquely identify a
- // virtual MFA device.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // VirtualMFADeviceName is a required field
- VirtualMFADeviceName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s CreateVirtualMFADeviceInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s CreateVirtualMFADeviceInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *CreateVirtualMFADeviceInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "CreateVirtualMFADeviceInput"}
- if s.Path != nil && len(*s.Path) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Path", 1))
- }
- if s.VirtualMFADeviceName == nil {
- invalidParams.Add(request.NewErrParamRequired("VirtualMFADeviceName"))
- }
- if s.VirtualMFADeviceName != nil && len(*s.VirtualMFADeviceName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("VirtualMFADeviceName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetPath sets the Path field's value.
-func (s *CreateVirtualMFADeviceInput) SetPath(v string) *CreateVirtualMFADeviceInput {
- s.Path = &v
- return s
-}
-
-// SetVirtualMFADeviceName sets the VirtualMFADeviceName field's value.
-func (s *CreateVirtualMFADeviceInput) SetVirtualMFADeviceName(v string) *CreateVirtualMFADeviceInput {
- s.VirtualMFADeviceName = &v
- return s
-}
-
-// Contains the response to a successful CreateVirtualMFADevice request.
-type CreateVirtualMFADeviceOutput struct {
- _ struct{} `type:"structure"`
-
- // A structure containing details about the new virtual MFA device.
- //
- // VirtualMFADevice is a required field
- VirtualMFADevice *VirtualMFADevice `type:"structure" required:"true"`
-}
-
-// String returns the string representation
-func (s CreateVirtualMFADeviceOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s CreateVirtualMFADeviceOutput) GoString() string {
- return s.String()
-}
-
-// SetVirtualMFADevice sets the VirtualMFADevice field's value.
-func (s *CreateVirtualMFADeviceOutput) SetVirtualMFADevice(v *VirtualMFADevice) *CreateVirtualMFADeviceOutput {
- s.VirtualMFADevice = v
- return s
-}
-
-type DeactivateMFADeviceInput struct {
- _ struct{} `type:"structure"`
-
- // The serial number that uniquely identifies the MFA device. For virtual MFA
- // devices, the serial number is the device ARN.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: =,.@:/-
- //
- // SerialNumber is a required field
- SerialNumber *string `min:"9" type:"string" required:"true"`
-
- // The name of the user whose MFA device you want to deactivate.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // UserName is a required field
- UserName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s DeactivateMFADeviceInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeactivateMFADeviceInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *DeactivateMFADeviceInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeactivateMFADeviceInput"}
- if s.SerialNumber == nil {
- invalidParams.Add(request.NewErrParamRequired("SerialNumber"))
- }
- if s.SerialNumber != nil && len(*s.SerialNumber) < 9 {
- invalidParams.Add(request.NewErrParamMinLen("SerialNumber", 9))
- }
- if s.UserName == nil {
- invalidParams.Add(request.NewErrParamRequired("UserName"))
- }
- if s.UserName != nil && len(*s.UserName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetSerialNumber sets the SerialNumber field's value.
-func (s *DeactivateMFADeviceInput) SetSerialNumber(v string) *DeactivateMFADeviceInput {
- s.SerialNumber = &v
- return s
-}
-
-// SetUserName sets the UserName field's value.
-func (s *DeactivateMFADeviceInput) SetUserName(v string) *DeactivateMFADeviceInput {
- s.UserName = &v
- return s
-}
-
-type DeactivateMFADeviceOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s DeactivateMFADeviceOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeactivateMFADeviceOutput) GoString() string {
- return s.String()
-}
-
-type DeleteAccessKeyInput struct {
- _ struct{} `type:"structure"`
-
- // The access key ID for the access key ID and secret access key you want to
- // delete.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters that can consist of any upper or lowercased letter
- // or digit.
- //
- // AccessKeyId is a required field
- AccessKeyId *string `min:"16" type:"string" required:"true"`
-
- // The name of the user whose access key pair you want to delete.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- UserName *string `min:"1" type:"string"`
-}
-
-// String returns the string representation
-func (s DeleteAccessKeyInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeleteAccessKeyInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *DeleteAccessKeyInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeleteAccessKeyInput"}
- if s.AccessKeyId == nil {
- invalidParams.Add(request.NewErrParamRequired("AccessKeyId"))
- }
- if s.AccessKeyId != nil && len(*s.AccessKeyId) < 16 {
- invalidParams.Add(request.NewErrParamMinLen("AccessKeyId", 16))
- }
- if s.UserName != nil && len(*s.UserName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetAccessKeyId sets the AccessKeyId field's value.
-func (s *DeleteAccessKeyInput) SetAccessKeyId(v string) *DeleteAccessKeyInput {
- s.AccessKeyId = &v
- return s
-}
-
-// SetUserName sets the UserName field's value.
-func (s *DeleteAccessKeyInput) SetUserName(v string) *DeleteAccessKeyInput {
- s.UserName = &v
- return s
-}
-
-type DeleteAccessKeyOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s DeleteAccessKeyOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeleteAccessKeyOutput) GoString() string {
- return s.String()
-}
-
-type DeleteAccountAliasInput struct {
- _ struct{} `type:"structure"`
-
- // The name of the account alias to delete.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of lowercase letters, digits, and dashes.
- // You cannot start or finish with a dash, nor can you have two dashes in a
- // row.
- //
- // AccountAlias is a required field
- AccountAlias *string `min:"3" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s DeleteAccountAliasInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeleteAccountAliasInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *DeleteAccountAliasInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeleteAccountAliasInput"}
- if s.AccountAlias == nil {
- invalidParams.Add(request.NewErrParamRequired("AccountAlias"))
- }
- if s.AccountAlias != nil && len(*s.AccountAlias) < 3 {
- invalidParams.Add(request.NewErrParamMinLen("AccountAlias", 3))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetAccountAlias sets the AccountAlias field's value.
-func (s *DeleteAccountAliasInput) SetAccountAlias(v string) *DeleteAccountAliasInput {
- s.AccountAlias = &v
- return s
-}
-
-type DeleteAccountAliasOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s DeleteAccountAliasOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeleteAccountAliasOutput) GoString() string {
- return s.String()
-}
-
-type DeleteAccountPasswordPolicyInput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s DeleteAccountPasswordPolicyInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeleteAccountPasswordPolicyInput) GoString() string {
- return s.String()
-}
-
-type DeleteAccountPasswordPolicyOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s DeleteAccountPasswordPolicyOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeleteAccountPasswordPolicyOutput) GoString() string {
- return s.String()
-}
-
-type DeleteGroupInput struct {
- _ struct{} `type:"structure"`
-
- // The name of the IAM group to delete.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // GroupName is a required field
- GroupName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s DeleteGroupInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeleteGroupInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *DeleteGroupInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeleteGroupInput"}
- if s.GroupName == nil {
- invalidParams.Add(request.NewErrParamRequired("GroupName"))
- }
- if s.GroupName != nil && len(*s.GroupName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("GroupName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetGroupName sets the GroupName field's value.
-func (s *DeleteGroupInput) SetGroupName(v string) *DeleteGroupInput {
- s.GroupName = &v
- return s
-}
-
-type DeleteGroupOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s DeleteGroupOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeleteGroupOutput) GoString() string {
- return s.String()
-}
-
-type DeleteGroupPolicyInput struct {
- _ struct{} `type:"structure"`
-
- // The name (friendly name, not ARN) identifying the group that the policy is
- // embedded in.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // GroupName is a required field
- GroupName *string `min:"1" type:"string" required:"true"`
-
- // The name identifying the policy document to delete.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // PolicyName is a required field
- PolicyName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s DeleteGroupPolicyInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeleteGroupPolicyInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *DeleteGroupPolicyInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeleteGroupPolicyInput"}
- if s.GroupName == nil {
- invalidParams.Add(request.NewErrParamRequired("GroupName"))
- }
- if s.GroupName != nil && len(*s.GroupName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("GroupName", 1))
- }
- if s.PolicyName == nil {
- invalidParams.Add(request.NewErrParamRequired("PolicyName"))
- }
- if s.PolicyName != nil && len(*s.PolicyName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("PolicyName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetGroupName sets the GroupName field's value.
-func (s *DeleteGroupPolicyInput) SetGroupName(v string) *DeleteGroupPolicyInput {
- s.GroupName = &v
- return s
-}
-
-// SetPolicyName sets the PolicyName field's value.
-func (s *DeleteGroupPolicyInput) SetPolicyName(v string) *DeleteGroupPolicyInput {
- s.PolicyName = &v
- return s
-}
-
-type DeleteGroupPolicyOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s DeleteGroupPolicyOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeleteGroupPolicyOutput) GoString() string {
- return s.String()
-}
-
-type DeleteInstanceProfileInput struct {
- _ struct{} `type:"structure"`
-
- // The name of the instance profile to delete.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // InstanceProfileName is a required field
- InstanceProfileName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s DeleteInstanceProfileInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeleteInstanceProfileInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *DeleteInstanceProfileInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeleteInstanceProfileInput"}
- if s.InstanceProfileName == nil {
- invalidParams.Add(request.NewErrParamRequired("InstanceProfileName"))
- }
- if s.InstanceProfileName != nil && len(*s.InstanceProfileName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("InstanceProfileName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetInstanceProfileName sets the InstanceProfileName field's value.
-func (s *DeleteInstanceProfileInput) SetInstanceProfileName(v string) *DeleteInstanceProfileInput {
- s.InstanceProfileName = &v
- return s
-}
-
-type DeleteInstanceProfileOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s DeleteInstanceProfileOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeleteInstanceProfileOutput) GoString() string {
- return s.String()
-}
-
-type DeleteLoginProfileInput struct {
- _ struct{} `type:"structure"`
-
- // The name of the user whose password you want to delete.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // UserName is a required field
- UserName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s DeleteLoginProfileInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeleteLoginProfileInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *DeleteLoginProfileInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeleteLoginProfileInput"}
- if s.UserName == nil {
- invalidParams.Add(request.NewErrParamRequired("UserName"))
- }
- if s.UserName != nil && len(*s.UserName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetUserName sets the UserName field's value.
-func (s *DeleteLoginProfileInput) SetUserName(v string) *DeleteLoginProfileInput {
- s.UserName = &v
- return s
-}
-
-type DeleteLoginProfileOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s DeleteLoginProfileOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeleteLoginProfileOutput) GoString() string {
- return s.String()
-}
-
-type DeleteOpenIDConnectProviderInput struct {
- _ struct{} `type:"structure"`
-
- // The Amazon Resource Name (ARN) of the IAM OpenID Connect provider resource
- // object to delete. You can get a list of OpenID Connect provider resource
- // ARNs by using the ListOpenIDConnectProviders operation.
- //
- // OpenIDConnectProviderArn is a required field
- OpenIDConnectProviderArn *string `min:"20" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s DeleteOpenIDConnectProviderInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeleteOpenIDConnectProviderInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *DeleteOpenIDConnectProviderInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeleteOpenIDConnectProviderInput"}
- if s.OpenIDConnectProviderArn == nil {
- invalidParams.Add(request.NewErrParamRequired("OpenIDConnectProviderArn"))
- }
- if s.OpenIDConnectProviderArn != nil && len(*s.OpenIDConnectProviderArn) < 20 {
- invalidParams.Add(request.NewErrParamMinLen("OpenIDConnectProviderArn", 20))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetOpenIDConnectProviderArn sets the OpenIDConnectProviderArn field's value.
-func (s *DeleteOpenIDConnectProviderInput) SetOpenIDConnectProviderArn(v string) *DeleteOpenIDConnectProviderInput {
- s.OpenIDConnectProviderArn = &v
- return s
-}
-
-type DeleteOpenIDConnectProviderOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s DeleteOpenIDConnectProviderOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeleteOpenIDConnectProviderOutput) GoString() string {
- return s.String()
-}
-
-type DeletePolicyInput struct {
- _ struct{} `type:"structure"`
-
- // The Amazon Resource Name (ARN) of the IAM policy you want to delete.
- //
- // 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 DeletePolicyInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeletePolicyInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *DeletePolicyInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeletePolicyInput"}
- if s.PolicyArn == nil {
- invalidParams.Add(request.NewErrParamRequired("PolicyArn"))
- }
- if s.PolicyArn != nil && len(*s.PolicyArn) < 20 {
- invalidParams.Add(request.NewErrParamMinLen("PolicyArn", 20))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetPolicyArn sets the PolicyArn field's value.
-func (s *DeletePolicyInput) SetPolicyArn(v string) *DeletePolicyInput {
- s.PolicyArn = &v
- return s
-}
-
-type DeletePolicyOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s DeletePolicyOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeletePolicyOutput) GoString() string {
- return s.String()
-}
-
-type DeletePolicyVersionInput struct {
- _ struct{} `type:"structure"`
-
- // The Amazon Resource Name (ARN) of the IAM policy from which you want to delete
- // a version.
- //
- // 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"`
-
- // The policy version to delete.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters that consists of the lowercase letter 'v' followed
- // by one or two digits, and optionally followed by a period '.' and a string
- // of letters and digits.
- //
- // For more information about managed policy versions, see Versioning for Managed
- // Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html)
- // in the IAM User Guide.
- //
- // VersionId is a required field
- VersionId *string `type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s DeletePolicyVersionInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeletePolicyVersionInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *DeletePolicyVersionInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeletePolicyVersionInput"}
- if s.PolicyArn == nil {
- invalidParams.Add(request.NewErrParamRequired("PolicyArn"))
- }
- if s.PolicyArn != nil && len(*s.PolicyArn) < 20 {
- invalidParams.Add(request.NewErrParamMinLen("PolicyArn", 20))
- }
- if s.VersionId == nil {
- invalidParams.Add(request.NewErrParamRequired("VersionId"))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetPolicyArn sets the PolicyArn field's value.
-func (s *DeletePolicyVersionInput) SetPolicyArn(v string) *DeletePolicyVersionInput {
- s.PolicyArn = &v
- return s
-}
-
-// SetVersionId sets the VersionId field's value.
-func (s *DeletePolicyVersionInput) SetVersionId(v string) *DeletePolicyVersionInput {
- s.VersionId = &v
- return s
-}
-
-type DeletePolicyVersionOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s DeletePolicyVersionOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeletePolicyVersionOutput) GoString() string {
- return s.String()
-}
-
-type DeleteRoleInput struct {
- _ struct{} `type:"structure"`
-
- // The name of the role to delete.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // RoleName is a required field
- RoleName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s DeleteRoleInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeleteRoleInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *DeleteRoleInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeleteRoleInput"}
- if s.RoleName == nil {
- invalidParams.Add(request.NewErrParamRequired("RoleName"))
- }
- if s.RoleName != nil && len(*s.RoleName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("RoleName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetRoleName sets the RoleName field's value.
-func (s *DeleteRoleInput) SetRoleName(v string) *DeleteRoleInput {
- s.RoleName = &v
- return s
-}
-
-type DeleteRoleOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s DeleteRoleOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeleteRoleOutput) GoString() string {
- return s.String()
-}
-
-type DeleteRolePermissionsBoundaryInput struct {
- _ struct{} `type:"structure"`
-
- // The name (friendly name, not ARN) of the IAM role from which you want to
- // remove the permissions boundary.
- //
- // RoleName is a required field
- RoleName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s DeleteRolePermissionsBoundaryInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeleteRolePermissionsBoundaryInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *DeleteRolePermissionsBoundaryInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeleteRolePermissionsBoundaryInput"}
- if s.RoleName == nil {
- invalidParams.Add(request.NewErrParamRequired("RoleName"))
- }
- if s.RoleName != nil && len(*s.RoleName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("RoleName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetRoleName sets the RoleName field's value.
-func (s *DeleteRolePermissionsBoundaryInput) SetRoleName(v string) *DeleteRolePermissionsBoundaryInput {
- s.RoleName = &v
- return s
-}
-
-type DeleteRolePermissionsBoundaryOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s DeleteRolePermissionsBoundaryOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeleteRolePermissionsBoundaryOutput) GoString() string {
- return s.String()
-}
-
-type DeleteRolePolicyInput struct {
- _ struct{} `type:"structure"`
-
- // The name of the inline policy to delete from the specified IAM role.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // PolicyName is a required field
- PolicyName *string `min:"1" type:"string" required:"true"`
-
- // The name (friendly name, not ARN) identifying the role that the policy is
- // embedded in.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // RoleName is a required field
- RoleName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s DeleteRolePolicyInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeleteRolePolicyInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *DeleteRolePolicyInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeleteRolePolicyInput"}
- if s.PolicyName == nil {
- invalidParams.Add(request.NewErrParamRequired("PolicyName"))
- }
- if s.PolicyName != nil && len(*s.PolicyName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("PolicyName", 1))
- }
- if s.RoleName == nil {
- invalidParams.Add(request.NewErrParamRequired("RoleName"))
- }
- if s.RoleName != nil && len(*s.RoleName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("RoleName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetPolicyName sets the PolicyName field's value.
-func (s *DeleteRolePolicyInput) SetPolicyName(v string) *DeleteRolePolicyInput {
- s.PolicyName = &v
- return s
-}
-
-// SetRoleName sets the RoleName field's value.
-func (s *DeleteRolePolicyInput) SetRoleName(v string) *DeleteRolePolicyInput {
- s.RoleName = &v
- return s
-}
-
-type DeleteRolePolicyOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s DeleteRolePolicyOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeleteRolePolicyOutput) GoString() string {
- return s.String()
-}
-
-type DeleteSAMLProviderInput struct {
- _ struct{} `type:"structure"`
-
- // The Amazon Resource Name (ARN) of the SAML provider to delete.
- //
- // SAMLProviderArn is a required field
- SAMLProviderArn *string `min:"20" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s DeleteSAMLProviderInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeleteSAMLProviderInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *DeleteSAMLProviderInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeleteSAMLProviderInput"}
- if s.SAMLProviderArn == nil {
- invalidParams.Add(request.NewErrParamRequired("SAMLProviderArn"))
- }
- if s.SAMLProviderArn != nil && len(*s.SAMLProviderArn) < 20 {
- invalidParams.Add(request.NewErrParamMinLen("SAMLProviderArn", 20))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetSAMLProviderArn sets the SAMLProviderArn field's value.
-func (s *DeleteSAMLProviderInput) SetSAMLProviderArn(v string) *DeleteSAMLProviderInput {
- s.SAMLProviderArn = &v
- return s
-}
-
-type DeleteSAMLProviderOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s DeleteSAMLProviderOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeleteSAMLProviderOutput) GoString() string {
- return s.String()
-}
-
-type DeleteSSHPublicKeyInput struct {
- _ struct{} `type:"structure"`
-
- // The unique identifier for the SSH public key.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters that can consist of any upper or lowercased letter
- // or digit.
- //
- // SSHPublicKeyId is a required field
- SSHPublicKeyId *string `min:"20" type:"string" required:"true"`
-
- // The name of the IAM user associated with the SSH public key.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // UserName is a required field
- UserName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s DeleteSSHPublicKeyInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeleteSSHPublicKeyInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *DeleteSSHPublicKeyInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeleteSSHPublicKeyInput"}
- if s.SSHPublicKeyId == nil {
- invalidParams.Add(request.NewErrParamRequired("SSHPublicKeyId"))
- }
- if s.SSHPublicKeyId != nil && len(*s.SSHPublicKeyId) < 20 {
- invalidParams.Add(request.NewErrParamMinLen("SSHPublicKeyId", 20))
- }
- if s.UserName == nil {
- invalidParams.Add(request.NewErrParamRequired("UserName"))
- }
- if s.UserName != nil && len(*s.UserName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetSSHPublicKeyId sets the SSHPublicKeyId field's value.
-func (s *DeleteSSHPublicKeyInput) SetSSHPublicKeyId(v string) *DeleteSSHPublicKeyInput {
- s.SSHPublicKeyId = &v
- return s
-}
-
-// SetUserName sets the UserName field's value.
-func (s *DeleteSSHPublicKeyInput) SetUserName(v string) *DeleteSSHPublicKeyInput {
- s.UserName = &v
- return s
-}
-
-type DeleteSSHPublicKeyOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s DeleteSSHPublicKeyOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeleteSSHPublicKeyOutput) GoString() string {
- return s.String()
-}
-
-type DeleteServerCertificateInput struct {
- _ struct{} `type:"structure"`
-
- // The name of the server certificate you want to delete.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // ServerCertificateName is a required field
- ServerCertificateName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s DeleteServerCertificateInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeleteServerCertificateInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *DeleteServerCertificateInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeleteServerCertificateInput"}
- if s.ServerCertificateName == nil {
- invalidParams.Add(request.NewErrParamRequired("ServerCertificateName"))
- }
- if s.ServerCertificateName != nil && len(*s.ServerCertificateName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("ServerCertificateName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetServerCertificateName sets the ServerCertificateName field's value.
-func (s *DeleteServerCertificateInput) SetServerCertificateName(v string) *DeleteServerCertificateInput {
- s.ServerCertificateName = &v
- return s
-}
-
-type DeleteServerCertificateOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s DeleteServerCertificateOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeleteServerCertificateOutput) GoString() string {
- return s.String()
-}
-
-type DeleteServiceLinkedRoleInput struct {
- _ struct{} `type:"structure"`
-
- // The name of the service-linked role to be deleted.
- //
- // RoleName is a required field
- RoleName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s DeleteServiceLinkedRoleInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeleteServiceLinkedRoleInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *DeleteServiceLinkedRoleInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeleteServiceLinkedRoleInput"}
- if s.RoleName == nil {
- invalidParams.Add(request.NewErrParamRequired("RoleName"))
- }
- if s.RoleName != nil && len(*s.RoleName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("RoleName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetRoleName sets the RoleName field's value.
-func (s *DeleteServiceLinkedRoleInput) SetRoleName(v string) *DeleteServiceLinkedRoleInput {
- s.RoleName = &v
- return s
-}
-
-type DeleteServiceLinkedRoleOutput struct {
- _ struct{} `type:"structure"`
-
- // The deletion task identifier that you can use to check the status of the
- // deletion. This identifier is returned in the format task/aws-service-role///.
- //
- // DeletionTaskId is a required field
- DeletionTaskId *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s DeleteServiceLinkedRoleOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeleteServiceLinkedRoleOutput) GoString() string {
- return s.String()
-}
-
-// SetDeletionTaskId sets the DeletionTaskId field's value.
-func (s *DeleteServiceLinkedRoleOutput) SetDeletionTaskId(v string) *DeleteServiceLinkedRoleOutput {
- s.DeletionTaskId = &v
- return s
-}
-
-type DeleteServiceSpecificCredentialInput struct {
- _ struct{} `type:"structure"`
-
- // The unique identifier of the service-specific credential. You can get this
- // value by calling ListServiceSpecificCredentials.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters that can consist of any upper or lowercased letter
- // or digit.
- //
- // ServiceSpecificCredentialId is a required field
- ServiceSpecificCredentialId *string `min:"20" type:"string" required:"true"`
-
- // The name of the IAM user associated with the service-specific credential.
- // If this value is not specified, then the operation assumes the user whose
- // credentials are used to call the operation.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- UserName *string `min:"1" type:"string"`
-}
-
-// String returns the string representation
-func (s DeleteServiceSpecificCredentialInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeleteServiceSpecificCredentialInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *DeleteServiceSpecificCredentialInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeleteServiceSpecificCredentialInput"}
- if s.ServiceSpecificCredentialId == nil {
- invalidParams.Add(request.NewErrParamRequired("ServiceSpecificCredentialId"))
- }
- if s.ServiceSpecificCredentialId != nil && len(*s.ServiceSpecificCredentialId) < 20 {
- invalidParams.Add(request.NewErrParamMinLen("ServiceSpecificCredentialId", 20))
- }
- if s.UserName != nil && len(*s.UserName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetServiceSpecificCredentialId sets the ServiceSpecificCredentialId field's value.
-func (s *DeleteServiceSpecificCredentialInput) SetServiceSpecificCredentialId(v string) *DeleteServiceSpecificCredentialInput {
- s.ServiceSpecificCredentialId = &v
- return s
-}
-
-// SetUserName sets the UserName field's value.
-func (s *DeleteServiceSpecificCredentialInput) SetUserName(v string) *DeleteServiceSpecificCredentialInput {
- s.UserName = &v
- return s
-}
-
-type DeleteServiceSpecificCredentialOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s DeleteServiceSpecificCredentialOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeleteServiceSpecificCredentialOutput) GoString() string {
- return s.String()
-}
-
-type DeleteSigningCertificateInput struct {
- _ struct{} `type:"structure"`
-
- // The ID of the signing certificate to delete.
- //
- // The format of this parameter, as described by its regex (http://wikipedia.org/wiki/regex)
- // pattern, is a string of characters that can be upper- or lower-cased letters
- // or digits.
- //
- // CertificateId is a required field
- CertificateId *string `min:"24" type:"string" required:"true"`
-
- // The name of the user the signing certificate belongs to.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- UserName *string `min:"1" type:"string"`
-}
-
-// String returns the string representation
-func (s DeleteSigningCertificateInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeleteSigningCertificateInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *DeleteSigningCertificateInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeleteSigningCertificateInput"}
- if s.CertificateId == nil {
- invalidParams.Add(request.NewErrParamRequired("CertificateId"))
- }
- if s.CertificateId != nil && len(*s.CertificateId) < 24 {
- invalidParams.Add(request.NewErrParamMinLen("CertificateId", 24))
- }
- if s.UserName != nil && len(*s.UserName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetCertificateId sets the CertificateId field's value.
-func (s *DeleteSigningCertificateInput) SetCertificateId(v string) *DeleteSigningCertificateInput {
- s.CertificateId = &v
- return s
-}
-
-// SetUserName sets the UserName field's value.
-func (s *DeleteSigningCertificateInput) SetUserName(v string) *DeleteSigningCertificateInput {
- s.UserName = &v
- return s
-}
-
-type DeleteSigningCertificateOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s DeleteSigningCertificateOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeleteSigningCertificateOutput) GoString() string {
- return s.String()
-}
-
-type DeleteUserInput struct {
- _ struct{} `type:"structure"`
-
- // The name of the user to delete.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // UserName is a required field
- UserName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s DeleteUserInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeleteUserInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *DeleteUserInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeleteUserInput"}
- if s.UserName == nil {
- invalidParams.Add(request.NewErrParamRequired("UserName"))
- }
- if s.UserName != nil && len(*s.UserName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetUserName sets the UserName field's value.
-func (s *DeleteUserInput) SetUserName(v string) *DeleteUserInput {
- s.UserName = &v
- return s
-}
-
-type DeleteUserOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s DeleteUserOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeleteUserOutput) GoString() string {
- return s.String()
-}
-
-type DeleteUserPermissionsBoundaryInput struct {
- _ struct{} `type:"structure"`
-
- // The name (friendly name, not ARN) of the IAM user from which you want to
- // remove the permissions boundary.
- //
- // UserName is a required field
- UserName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s DeleteUserPermissionsBoundaryInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeleteUserPermissionsBoundaryInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *DeleteUserPermissionsBoundaryInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeleteUserPermissionsBoundaryInput"}
- if s.UserName == nil {
- invalidParams.Add(request.NewErrParamRequired("UserName"))
- }
- if s.UserName != nil && len(*s.UserName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetUserName sets the UserName field's value.
-func (s *DeleteUserPermissionsBoundaryInput) SetUserName(v string) *DeleteUserPermissionsBoundaryInput {
- s.UserName = &v
- return s
-}
-
-type DeleteUserPermissionsBoundaryOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s DeleteUserPermissionsBoundaryOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeleteUserPermissionsBoundaryOutput) GoString() string {
- return s.String()
-}
-
-type DeleteUserPolicyInput struct {
- _ struct{} `type:"structure"`
-
- // The name identifying the policy document to delete.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // PolicyName is a required field
- PolicyName *string `min:"1" type:"string" required:"true"`
-
- // The name (friendly name, not ARN) identifying the user that the policy is
- // embedded in.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // UserName is a required field
- UserName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s DeleteUserPolicyInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeleteUserPolicyInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *DeleteUserPolicyInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeleteUserPolicyInput"}
- if s.PolicyName == nil {
- invalidParams.Add(request.NewErrParamRequired("PolicyName"))
- }
- if s.PolicyName != nil && len(*s.PolicyName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("PolicyName", 1))
- }
- if s.UserName == nil {
- invalidParams.Add(request.NewErrParamRequired("UserName"))
- }
- if s.UserName != nil && len(*s.UserName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetPolicyName sets the PolicyName field's value.
-func (s *DeleteUserPolicyInput) SetPolicyName(v string) *DeleteUserPolicyInput {
- s.PolicyName = &v
- return s
-}
-
-// SetUserName sets the UserName field's value.
-func (s *DeleteUserPolicyInput) SetUserName(v string) *DeleteUserPolicyInput {
- s.UserName = &v
- return s
-}
-
-type DeleteUserPolicyOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s DeleteUserPolicyOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeleteUserPolicyOutput) GoString() string {
- return s.String()
-}
-
-type DeleteVirtualMFADeviceInput struct {
- _ struct{} `type:"structure"`
-
- // The serial number that uniquely identifies the MFA device. For virtual MFA
- // devices, the serial number is the same as the ARN.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: =,.@:/-
- //
- // SerialNumber is a required field
- SerialNumber *string `min:"9" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s DeleteVirtualMFADeviceInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeleteVirtualMFADeviceInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *DeleteVirtualMFADeviceInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeleteVirtualMFADeviceInput"}
- if s.SerialNumber == nil {
- invalidParams.Add(request.NewErrParamRequired("SerialNumber"))
- }
- if s.SerialNumber != nil && len(*s.SerialNumber) < 9 {
- invalidParams.Add(request.NewErrParamMinLen("SerialNumber", 9))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetSerialNumber sets the SerialNumber field's value.
-func (s *DeleteVirtualMFADeviceInput) SetSerialNumber(v string) *DeleteVirtualMFADeviceInput {
- s.SerialNumber = &v
- return s
-}
-
-type DeleteVirtualMFADeviceOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s DeleteVirtualMFADeviceOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeleteVirtualMFADeviceOutput) GoString() string {
- return s.String()
-}
-
-// The reason that the service-linked role deletion failed.
-//
-// This data type is used as a response element in the GetServiceLinkedRoleDeletionStatus
-// operation.
-type DeletionTaskFailureReasonType struct {
- _ struct{} `type:"structure"`
-
- // A short description of the reason that the service-linked role deletion failed.
- Reason *string `type:"string"`
-
- // A list of objects that contains details about the service-linked role deletion
- // failure, if that information is returned by the service. If the service-linked
- // role has active sessions or if any resources that were used by the role have
- // not been deleted from the linked service, the role can't be deleted. This
- // parameter includes a list of the resources that are associated with the role
- // and the Region in which the resources are being used.
- RoleUsageList []*RoleUsageType `type:"list"`
-}
-
-// String returns the string representation
-func (s DeletionTaskFailureReasonType) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DeletionTaskFailureReasonType) GoString() string {
- return s.String()
-}
-
-// SetReason sets the Reason field's value.
-func (s *DeletionTaskFailureReasonType) SetReason(v string) *DeletionTaskFailureReasonType {
- s.Reason = &v
- return s
-}
-
-// SetRoleUsageList sets the RoleUsageList field's value.
-func (s *DeletionTaskFailureReasonType) SetRoleUsageList(v []*RoleUsageType) *DeletionTaskFailureReasonType {
- s.RoleUsageList = v
- return s
-}
-
-type DetachGroupPolicyInput struct {
- _ struct{} `type:"structure"`
-
- // The name (friendly name, not ARN) of the IAM group to detach the policy from.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // GroupName is a required field
- GroupName *string `min:"1" type:"string" required:"true"`
-
- // The Amazon Resource Name (ARN) of the IAM policy you want to detach.
- //
- // 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 DetachGroupPolicyInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DetachGroupPolicyInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *DetachGroupPolicyInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DetachGroupPolicyInput"}
- if s.GroupName == nil {
- invalidParams.Add(request.NewErrParamRequired("GroupName"))
- }
- if s.GroupName != nil && len(*s.GroupName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("GroupName", 1))
- }
- if s.PolicyArn == nil {
- invalidParams.Add(request.NewErrParamRequired("PolicyArn"))
- }
- if s.PolicyArn != nil && len(*s.PolicyArn) < 20 {
- invalidParams.Add(request.NewErrParamMinLen("PolicyArn", 20))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetGroupName sets the GroupName field's value.
-func (s *DetachGroupPolicyInput) SetGroupName(v string) *DetachGroupPolicyInput {
- s.GroupName = &v
- return s
-}
-
-// SetPolicyArn sets the PolicyArn field's value.
-func (s *DetachGroupPolicyInput) SetPolicyArn(v string) *DetachGroupPolicyInput {
- s.PolicyArn = &v
- return s
-}
-
-type DetachGroupPolicyOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s DetachGroupPolicyOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DetachGroupPolicyOutput) GoString() string {
- return s.String()
-}
-
-type DetachRolePolicyInput struct {
- _ struct{} `type:"structure"`
-
- // The Amazon Resource Name (ARN) of the IAM policy you want to detach.
- //
- // 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"`
-
- // The name (friendly name, not ARN) of the IAM role to detach the policy from.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // RoleName is a required field
- RoleName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s DetachRolePolicyInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DetachRolePolicyInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *DetachRolePolicyInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DetachRolePolicyInput"}
- if s.PolicyArn == nil {
- invalidParams.Add(request.NewErrParamRequired("PolicyArn"))
- }
- if s.PolicyArn != nil && len(*s.PolicyArn) < 20 {
- invalidParams.Add(request.NewErrParamMinLen("PolicyArn", 20))
- }
- if s.RoleName == nil {
- invalidParams.Add(request.NewErrParamRequired("RoleName"))
- }
- if s.RoleName != nil && len(*s.RoleName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("RoleName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetPolicyArn sets the PolicyArn field's value.
-func (s *DetachRolePolicyInput) SetPolicyArn(v string) *DetachRolePolicyInput {
- s.PolicyArn = &v
- return s
-}
-
-// SetRoleName sets the RoleName field's value.
-func (s *DetachRolePolicyInput) SetRoleName(v string) *DetachRolePolicyInput {
- s.RoleName = &v
- return s
-}
-
-type DetachRolePolicyOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s DetachRolePolicyOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DetachRolePolicyOutput) GoString() string {
- return s.String()
-}
-
-type DetachUserPolicyInput struct {
- _ struct{} `type:"structure"`
-
- // The Amazon Resource Name (ARN) of the IAM policy you want to detach.
- //
- // 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"`
-
- // The name (friendly name, not ARN) of the IAM user to detach the policy from.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // UserName is a required field
- UserName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s DetachUserPolicyInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DetachUserPolicyInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *DetachUserPolicyInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DetachUserPolicyInput"}
- if s.PolicyArn == nil {
- invalidParams.Add(request.NewErrParamRequired("PolicyArn"))
- }
- if s.PolicyArn != nil && len(*s.PolicyArn) < 20 {
- invalidParams.Add(request.NewErrParamMinLen("PolicyArn", 20))
- }
- if s.UserName == nil {
- invalidParams.Add(request.NewErrParamRequired("UserName"))
- }
- if s.UserName != nil && len(*s.UserName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetPolicyArn sets the PolicyArn field's value.
-func (s *DetachUserPolicyInput) SetPolicyArn(v string) *DetachUserPolicyInput {
- s.PolicyArn = &v
- return s
-}
-
-// SetUserName sets the UserName field's value.
-func (s *DetachUserPolicyInput) SetUserName(v string) *DetachUserPolicyInput {
- s.UserName = &v
- return s
-}
-
-type DetachUserPolicyOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s DetachUserPolicyOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s DetachUserPolicyOutput) GoString() string {
- return s.String()
-}
-
-type EnableMFADeviceInput struct {
- _ struct{} `type:"structure"`
-
- // An authentication code emitted by the device.
- //
- // The format for this parameter is a string of six digits.
- //
- // Submit your request immediately after generating the authentication codes.
- // If you generate the codes and then wait too long to submit the request, the
- // MFA device successfully associates with the user but the MFA device becomes
- // out of sync. This happens because time-based one-time passwords (TOTP) expire
- // after a short period of time. If this happens, you can resync the device
- // (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_sync.html).
- //
- // AuthenticationCode1 is a required field
- AuthenticationCode1 *string `min:"6" type:"string" required:"true"`
-
- // A subsequent authentication code emitted by the device.
- //
- // The format for this parameter is a string of six digits.
- //
- // Submit your request immediately after generating the authentication codes.
- // If you generate the codes and then wait too long to submit the request, the
- // MFA device successfully associates with the user but the MFA device becomes
- // out of sync. This happens because time-based one-time passwords (TOTP) expire
- // after a short period of time. If this happens, you can resync the device
- // (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_sync.html).
- //
- // AuthenticationCode2 is a required field
- AuthenticationCode2 *string `min:"6" type:"string" required:"true"`
-
- // The serial number that uniquely identifies the MFA device. For virtual MFA
- // devices, the serial number is the device ARN.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: =,.@:/-
- //
- // SerialNumber is a required field
- SerialNumber *string `min:"9" type:"string" required:"true"`
-
- // The name of the IAM user for whom you want to enable the MFA device.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // UserName is a required field
- UserName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s EnableMFADeviceInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s EnableMFADeviceInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *EnableMFADeviceInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "EnableMFADeviceInput"}
- if s.AuthenticationCode1 == nil {
- invalidParams.Add(request.NewErrParamRequired("AuthenticationCode1"))
- }
- if s.AuthenticationCode1 != nil && len(*s.AuthenticationCode1) < 6 {
- invalidParams.Add(request.NewErrParamMinLen("AuthenticationCode1", 6))
- }
- if s.AuthenticationCode2 == nil {
- invalidParams.Add(request.NewErrParamRequired("AuthenticationCode2"))
- }
- if s.AuthenticationCode2 != nil && len(*s.AuthenticationCode2) < 6 {
- invalidParams.Add(request.NewErrParamMinLen("AuthenticationCode2", 6))
- }
- if s.SerialNumber == nil {
- invalidParams.Add(request.NewErrParamRequired("SerialNumber"))
- }
- if s.SerialNumber != nil && len(*s.SerialNumber) < 9 {
- invalidParams.Add(request.NewErrParamMinLen("SerialNumber", 9))
- }
- if s.UserName == nil {
- invalidParams.Add(request.NewErrParamRequired("UserName"))
- }
- if s.UserName != nil && len(*s.UserName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetAuthenticationCode1 sets the AuthenticationCode1 field's value.
-func (s *EnableMFADeviceInput) SetAuthenticationCode1(v string) *EnableMFADeviceInput {
- s.AuthenticationCode1 = &v
- return s
-}
-
-// SetAuthenticationCode2 sets the AuthenticationCode2 field's value.
-func (s *EnableMFADeviceInput) SetAuthenticationCode2(v string) *EnableMFADeviceInput {
- s.AuthenticationCode2 = &v
- return s
-}
-
-// SetSerialNumber sets the SerialNumber field's value.
-func (s *EnableMFADeviceInput) SetSerialNumber(v string) *EnableMFADeviceInput {
- s.SerialNumber = &v
- return s
-}
-
-// SetUserName sets the UserName field's value.
-func (s *EnableMFADeviceInput) SetUserName(v string) *EnableMFADeviceInput {
- s.UserName = &v
- return s
-}
-
-type EnableMFADeviceOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s EnableMFADeviceOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s EnableMFADeviceOutput) GoString() string {
- return s.String()
-}
-
-// An object that contains details about when the IAM entities (users or roles)
-// were last used in an attempt to access the specified AWS service.
-//
-// This data type is a response element in the GetServiceLastAccessedDetailsWithEntities
-// operation.
-type EntityDetails struct {
- _ struct{} `type:"structure"`
-
- // The EntityInfo object that contains details about the entity (user or role).
- //
- // EntityInfo is a required field
- EntityInfo *EntityInfo `type:"structure" required:"true"`
-
- // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
- // when the authenticated entity last attempted to access AWS. AWS does not
- // report unauthenticated requests.
- //
- // This field is null if no IAM entities attempted to access the service within
- // the reporting period (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_access-advisor.html#service-last-accessed-reporting-period).
- LastAuthenticated *time.Time `type:"timestamp"`
-}
-
-// String returns the string representation
-func (s EntityDetails) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s EntityDetails) GoString() string {
- return s.String()
-}
-
-// SetEntityInfo sets the EntityInfo field's value.
-func (s *EntityDetails) SetEntityInfo(v *EntityInfo) *EntityDetails {
- s.EntityInfo = v
- return s
-}
-
-// SetLastAuthenticated sets the LastAuthenticated field's value.
-func (s *EntityDetails) SetLastAuthenticated(v time.Time) *EntityDetails {
- s.LastAuthenticated = &v
- return s
-}
-
-// Contains details about the specified entity (user or role).
-//
-// This data type is an element of the EntityDetails object.
-type EntityInfo struct {
- _ struct{} `type:"structure"`
-
- // The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.
- //
- // For more information about ARNs, go to 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.
- //
- // Arn is a required field
- Arn *string `min:"20" type:"string" required:"true"`
-
- // The identifier of the entity (user or role).
- //
- // Id is a required field
- Id *string `min:"16" type:"string" required:"true"`
-
- // The name of the entity (user or role).
- //
- // Name is a required field
- Name *string `min:"1" type:"string" required:"true"`
-
- // The path to the entity (user or role). For more information about paths,
- // see IAM Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
- // in the IAM User Guide.
- Path *string `min:"1" type:"string"`
-
- // The type of entity (user or role).
- //
- // Type is a required field
- Type *string `type:"string" required:"true" enum:"policyOwnerEntityType"`
-}
-
-// String returns the string representation
-func (s EntityInfo) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s EntityInfo) GoString() string {
- return s.String()
-}
-
-// SetArn sets the Arn field's value.
-func (s *EntityInfo) SetArn(v string) *EntityInfo {
- s.Arn = &v
- return s
-}
-
-// SetId sets the Id field's value.
-func (s *EntityInfo) SetId(v string) *EntityInfo {
- s.Id = &v
- return s
-}
-
-// SetName sets the Name field's value.
-func (s *EntityInfo) SetName(v string) *EntityInfo {
- s.Name = &v
- return s
-}
-
-// SetPath sets the Path field's value.
-func (s *EntityInfo) SetPath(v string) *EntityInfo {
- s.Path = &v
- return s
-}
-
-// SetType sets the Type field's value.
-func (s *EntityInfo) SetType(v string) *EntityInfo {
- s.Type = &v
- return s
-}
-
-// Contains information about the reason that the operation failed.
-//
-// This data type is used as a response element in the GetOrganizationsAccessReport,
-// GetServiceLastAccessedDetails, and GetServiceLastAccessedDetailsWithEntities
-// operations.
-type ErrorDetails struct {
- _ struct{} `type:"structure"`
-
- // The error code associated with the operation failure.
- //
- // Code is a required field
- Code *string `type:"string" required:"true"`
-
- // Detailed information about the reason that the operation failed.
- //
- // Message is a required field
- Message *string `type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s ErrorDetails) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ErrorDetails) GoString() string {
- return s.String()
-}
-
-// SetCode sets the Code field's value.
-func (s *ErrorDetails) SetCode(v string) *ErrorDetails {
- s.Code = &v
- return s
-}
-
-// SetMessage sets the Message field's value.
-func (s *ErrorDetails) SetMessage(v string) *ErrorDetails {
- s.Message = &v
- return s
-}
-
-// Contains the results of a simulation.
-//
-// This data type is used by the return parameter of SimulateCustomPolicy and
-// SimulatePrincipalPolicy .
-type EvaluationResult struct {
- _ struct{} `type:"structure"`
-
- // The name of the API operation tested on the indicated resource.
- //
- // EvalActionName is a required field
- EvalActionName *string `min:"3" type:"string" required:"true"`
-
- // The result of the simulation.
- //
- // EvalDecision is a required field
- EvalDecision *string `type:"string" required:"true" enum:"PolicyEvaluationDecisionType"`
-
- // Additional details about the results of the evaluation decision. When there
- // are both IAM policies and resource policies, this parameter explains how
- // each set of policies contributes to the final evaluation decision. When simulating
- // cross-account access to a resource, both the resource-based policy and the
- // caller's IAM policy must grant access. See How IAM Roles Differ from Resource-based
- // Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_compare-resource-policies.html)
- EvalDecisionDetails map[string]*string `type:"map"`
-
- // The ARN of the resource that the indicated API operation was tested on.
- EvalResourceName *string `min:"1" type:"string"`
-
- // A list of the statements in the input policies that determine the result
- // for this scenario. Remember that even if multiple statements allow the operation
- // on the resource, if only one statement denies that operation, then the explicit
- // deny overrides any allow. In addition, the deny statement is the only entry
- // included in the result.
- MatchedStatements []*Statement `type:"list"`
-
- // A list of context keys that are required by the included input policies but
- // that were not provided by one of the input parameters. This list is used
- // when the resource in a simulation is "*", either explicitly, or when the
- // ResourceArns parameter blank. If you include a list of resources, then any
- // missing context values are instead included under the ResourceSpecificResults
- // section. To discover the context keys used by a set of policies, you can
- // call GetContextKeysForCustomPolicy or GetContextKeysForPrincipalPolicy.
- MissingContextValues []*string `type:"list"`
-
- // A structure that details how Organizations and its service control policies
- // affect the results of the simulation. Only applies if the simulated user's
- // account is part of an organization.
- OrganizationsDecisionDetail *OrganizationsDecisionDetail `type:"structure"`
-
- // The individual results of the simulation of the API operation specified in
- // EvalActionName on each resource.
- ResourceSpecificResults []*ResourceSpecificResult `type:"list"`
-}
-
-// String returns the string representation
-func (s EvaluationResult) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s EvaluationResult) GoString() string {
- return s.String()
-}
-
-// SetEvalActionName sets the EvalActionName field's value.
-func (s *EvaluationResult) SetEvalActionName(v string) *EvaluationResult {
- s.EvalActionName = &v
- return s
-}
-
-// SetEvalDecision sets the EvalDecision field's value.
-func (s *EvaluationResult) SetEvalDecision(v string) *EvaluationResult {
- s.EvalDecision = &v
- return s
-}
-
-// SetEvalDecisionDetails sets the EvalDecisionDetails field's value.
-func (s *EvaluationResult) SetEvalDecisionDetails(v map[string]*string) *EvaluationResult {
- s.EvalDecisionDetails = v
- return s
-}
-
-// SetEvalResourceName sets the EvalResourceName field's value.
-func (s *EvaluationResult) SetEvalResourceName(v string) *EvaluationResult {
- s.EvalResourceName = &v
- return s
-}
-
-// SetMatchedStatements sets the MatchedStatements field's value.
-func (s *EvaluationResult) SetMatchedStatements(v []*Statement) *EvaluationResult {
- s.MatchedStatements = v
- return s
-}
-
-// SetMissingContextValues sets the MissingContextValues field's value.
-func (s *EvaluationResult) SetMissingContextValues(v []*string) *EvaluationResult {
- s.MissingContextValues = v
- return s
-}
-
-// SetOrganizationsDecisionDetail sets the OrganizationsDecisionDetail field's value.
-func (s *EvaluationResult) SetOrganizationsDecisionDetail(v *OrganizationsDecisionDetail) *EvaluationResult {
- s.OrganizationsDecisionDetail = v
- return s
-}
-
-// SetResourceSpecificResults sets the ResourceSpecificResults field's value.
-func (s *EvaluationResult) SetResourceSpecificResults(v []*ResourceSpecificResult) *EvaluationResult {
- s.ResourceSpecificResults = v
- return s
-}
-
-type GenerateCredentialReportInput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s GenerateCredentialReportInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GenerateCredentialReportInput) GoString() string {
- return s.String()
-}
-
-// Contains the response to a successful GenerateCredentialReport request.
-type GenerateCredentialReportOutput struct {
- _ struct{} `type:"structure"`
-
- // Information about the credential report.
- Description *string `type:"string"`
-
- // Information about the state of the credential report.
- State *string `type:"string" enum:"ReportStateType"`
-}
-
-// String returns the string representation
-func (s GenerateCredentialReportOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GenerateCredentialReportOutput) GoString() string {
- return s.String()
-}
-
-// SetDescription sets the Description field's value.
-func (s *GenerateCredentialReportOutput) SetDescription(v string) *GenerateCredentialReportOutput {
- s.Description = &v
- return s
-}
-
-// SetState sets the State field's value.
-func (s *GenerateCredentialReportOutput) SetState(v string) *GenerateCredentialReportOutput {
- s.State = &v
- return s
-}
-
-type GenerateOrganizationsAccessReportInput struct {
- _ struct{} `type:"structure"`
-
- // The path of the AWS Organizations entity (root, OU, or account). You can
- // build an entity path using the known structure of your organization. For
- // example, assume that your account ID is 123456789012 and its parent OU ID
- // is ou-rge0-awsabcde. The organization root ID is r-f6g7h8i9j0example and
- // your organization ID is o-a1b2c3d4e5. Your entity path is o-a1b2c3d4e5/r-f6g7h8i9j0example/ou-rge0-awsabcde/123456789012.
- //
- // EntityPath is a required field
- EntityPath *string `min:"19" type:"string" required:"true"`
-
- // The identifier of the AWS Organizations service control policy (SCP). This
- // parameter is optional.
- //
- // This ID is used to generate information about when an account principal that
- // is limited by the SCP attempted to access an AWS service.
- OrganizationsPolicyId *string `type:"string"`
-}
-
-// String returns the string representation
-func (s GenerateOrganizationsAccessReportInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GenerateOrganizationsAccessReportInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *GenerateOrganizationsAccessReportInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "GenerateOrganizationsAccessReportInput"}
- if s.EntityPath == nil {
- invalidParams.Add(request.NewErrParamRequired("EntityPath"))
- }
- if s.EntityPath != nil && len(*s.EntityPath) < 19 {
- invalidParams.Add(request.NewErrParamMinLen("EntityPath", 19))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetEntityPath sets the EntityPath field's value.
-func (s *GenerateOrganizationsAccessReportInput) SetEntityPath(v string) *GenerateOrganizationsAccessReportInput {
- s.EntityPath = &v
- return s
-}
-
-// SetOrganizationsPolicyId sets the OrganizationsPolicyId field's value.
-func (s *GenerateOrganizationsAccessReportInput) SetOrganizationsPolicyId(v string) *GenerateOrganizationsAccessReportInput {
- s.OrganizationsPolicyId = &v
- return s
-}
-
-type GenerateOrganizationsAccessReportOutput struct {
- _ struct{} `type:"structure"`
-
- // The job identifier that you can use in the GetOrganizationsAccessReport operation.
- JobId *string `min:"36" type:"string"`
-}
-
-// String returns the string representation
-func (s GenerateOrganizationsAccessReportOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GenerateOrganizationsAccessReportOutput) GoString() string {
- return s.String()
-}
-
-// SetJobId sets the JobId field's value.
-func (s *GenerateOrganizationsAccessReportOutput) SetJobId(v string) *GenerateOrganizationsAccessReportOutput {
- s.JobId = &v
- return s
-}
-
-type GenerateServiceLastAccessedDetailsInput struct {
- _ struct{} `type:"structure"`
-
- // The ARN of the IAM resource (user, group, role, or managed policy) used to
- // generate information about when the resource was last used in an attempt
- // to access an AWS service.
- //
- // Arn is a required field
- Arn *string `min:"20" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s GenerateServiceLastAccessedDetailsInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GenerateServiceLastAccessedDetailsInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *GenerateServiceLastAccessedDetailsInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "GenerateServiceLastAccessedDetailsInput"}
- if s.Arn == nil {
- invalidParams.Add(request.NewErrParamRequired("Arn"))
- }
- if s.Arn != nil && len(*s.Arn) < 20 {
- invalidParams.Add(request.NewErrParamMinLen("Arn", 20))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetArn sets the Arn field's value.
-func (s *GenerateServiceLastAccessedDetailsInput) SetArn(v string) *GenerateServiceLastAccessedDetailsInput {
- s.Arn = &v
- return s
-}
-
-type GenerateServiceLastAccessedDetailsOutput struct {
- _ struct{} `type:"structure"`
-
- // The job ID that you can use in the GetServiceLastAccessedDetails or GetServiceLastAccessedDetailsWithEntities
- // operations.
- JobId *string `min:"36" type:"string"`
-}
-
-// String returns the string representation
-func (s GenerateServiceLastAccessedDetailsOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GenerateServiceLastAccessedDetailsOutput) GoString() string {
- return s.String()
-}
-
-// SetJobId sets the JobId field's value.
-func (s *GenerateServiceLastAccessedDetailsOutput) SetJobId(v string) *GenerateServiceLastAccessedDetailsOutput {
- s.JobId = &v
- return s
-}
-
-type GetAccessKeyLastUsedInput struct {
- _ struct{} `type:"structure"`
-
- // The identifier of an access key.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters that can consist of any upper or lowercased letter
- // or digit.
- //
- // AccessKeyId is a required field
- AccessKeyId *string `min:"16" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s GetAccessKeyLastUsedInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GetAccessKeyLastUsedInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *GetAccessKeyLastUsedInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "GetAccessKeyLastUsedInput"}
- if s.AccessKeyId == nil {
- invalidParams.Add(request.NewErrParamRequired("AccessKeyId"))
- }
- if s.AccessKeyId != nil && len(*s.AccessKeyId) < 16 {
- invalidParams.Add(request.NewErrParamMinLen("AccessKeyId", 16))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetAccessKeyId sets the AccessKeyId field's value.
-func (s *GetAccessKeyLastUsedInput) SetAccessKeyId(v string) *GetAccessKeyLastUsedInput {
- s.AccessKeyId = &v
- return s
-}
-
-// Contains the response to a successful GetAccessKeyLastUsed request. It is
-// also returned as a member of the AccessKeyMetaData structure returned by
-// the ListAccessKeys action.
-type GetAccessKeyLastUsedOutput struct {
- _ struct{} `type:"structure"`
-
- // Contains information about the last time the access key was used.
- AccessKeyLastUsed *AccessKeyLastUsed `type:"structure"`
-
- // The name of the AWS IAM user that owns this access key.
- UserName *string `min:"1" type:"string"`
-}
-
-// String returns the string representation
-func (s GetAccessKeyLastUsedOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GetAccessKeyLastUsedOutput) GoString() string {
- return s.String()
-}
-
-// SetAccessKeyLastUsed sets the AccessKeyLastUsed field's value.
-func (s *GetAccessKeyLastUsedOutput) SetAccessKeyLastUsed(v *AccessKeyLastUsed) *GetAccessKeyLastUsedOutput {
- s.AccessKeyLastUsed = v
- return s
-}
-
-// SetUserName sets the UserName field's value.
-func (s *GetAccessKeyLastUsedOutput) SetUserName(v string) *GetAccessKeyLastUsedOutput {
- s.UserName = &v
- return s
-}
-
-type GetAccountAuthorizationDetailsInput struct {
- _ struct{} `type:"structure"`
-
- // A list of entity types used to filter the results. Only the entities that
- // match the types you specify are included in the output. Use the value LocalManagedPolicy
- // to include customer managed policies.
- //
- // The format for this parameter is a comma-separated (if more than one) list
- // of strings. Each string value in the list must be one of the valid values
- // listed below.
- Filter []*string `type:"list"`
-
- // Use this parameter only when paginating results and only after you receive
- // a response indicating that the results are truncated. Set it to the value
- // of the Marker element in the response that you received to indicate where
- // the next call should start.
- Marker *string `min:"1" type:"string"`
-
- // Use this only when paginating results to indicate the maximum number of items
- // you want in the response. If additional items exist beyond the maximum you
- // specify, the IsTruncated response element is true.
- //
- // If you do not include this parameter, the number of items defaults to 100.
- // Note that IAM might return fewer results, even when there are more results
- // available. In that case, the IsTruncated response element returns true, and
- // Marker contains a value to include in the subsequent call that tells the
- // service where to continue from.
- MaxItems *int64 `min:"1" type:"integer"`
-}
-
-// String returns the string representation
-func (s GetAccountAuthorizationDetailsInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GetAccountAuthorizationDetailsInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *GetAccountAuthorizationDetailsInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "GetAccountAuthorizationDetailsInput"}
- if s.Marker != nil && len(*s.Marker) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
- }
- if s.MaxItems != nil && *s.MaxItems < 1 {
- invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetFilter sets the Filter field's value.
-func (s *GetAccountAuthorizationDetailsInput) SetFilter(v []*string) *GetAccountAuthorizationDetailsInput {
- s.Filter = v
- return s
-}
-
-// SetMarker sets the Marker field's value.
-func (s *GetAccountAuthorizationDetailsInput) SetMarker(v string) *GetAccountAuthorizationDetailsInput {
- s.Marker = &v
- return s
-}
-
-// SetMaxItems sets the MaxItems field's value.
-func (s *GetAccountAuthorizationDetailsInput) SetMaxItems(v int64) *GetAccountAuthorizationDetailsInput {
- s.MaxItems = &v
- return s
-}
-
-// Contains the response to a successful GetAccountAuthorizationDetails request.
-type GetAccountAuthorizationDetailsOutput struct {
- _ struct{} `type:"structure"`
-
- // A list containing information about IAM groups.
- GroupDetailList []*GroupDetail `type:"list"`
-
- // A flag that indicates whether there are more items to return. If your results
- // were truncated, you can make a subsequent pagination request using the Marker
- // request parameter to retrieve more items. Note that IAM might return fewer
- // than the MaxItems number of results even when there are more results available.
- // We recommend that you check IsTruncated after every call to ensure that you
- // receive all your results.
- IsTruncated *bool `type:"boolean"`
-
- // When IsTruncated is true, this element is present and contains the value
- // to use for the Marker parameter in a subsequent pagination request.
- Marker *string `type:"string"`
-
- // A list containing information about managed policies.
- Policies []*ManagedPolicyDetail `type:"list"`
-
- // A list containing information about IAM roles.
- RoleDetailList []*RoleDetail `type:"list"`
-
- // A list containing information about IAM users.
- UserDetailList []*UserDetail `type:"list"`
-}
-
-// String returns the string representation
-func (s GetAccountAuthorizationDetailsOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GetAccountAuthorizationDetailsOutput) GoString() string {
- return s.String()
-}
-
-// SetGroupDetailList sets the GroupDetailList field's value.
-func (s *GetAccountAuthorizationDetailsOutput) SetGroupDetailList(v []*GroupDetail) *GetAccountAuthorizationDetailsOutput {
- s.GroupDetailList = v
- return s
-}
-
-// SetIsTruncated sets the IsTruncated field's value.
-func (s *GetAccountAuthorizationDetailsOutput) SetIsTruncated(v bool) *GetAccountAuthorizationDetailsOutput {
- s.IsTruncated = &v
- return s
-}
-
-// SetMarker sets the Marker field's value.
-func (s *GetAccountAuthorizationDetailsOutput) SetMarker(v string) *GetAccountAuthorizationDetailsOutput {
- s.Marker = &v
- return s
-}
-
-// SetPolicies sets the Policies field's value.
-func (s *GetAccountAuthorizationDetailsOutput) SetPolicies(v []*ManagedPolicyDetail) *GetAccountAuthorizationDetailsOutput {
- s.Policies = v
- return s
-}
-
-// SetRoleDetailList sets the RoleDetailList field's value.
-func (s *GetAccountAuthorizationDetailsOutput) SetRoleDetailList(v []*RoleDetail) *GetAccountAuthorizationDetailsOutput {
- s.RoleDetailList = v
- return s
-}
-
-// SetUserDetailList sets the UserDetailList field's value.
-func (s *GetAccountAuthorizationDetailsOutput) SetUserDetailList(v []*UserDetail) *GetAccountAuthorizationDetailsOutput {
- s.UserDetailList = v
- return s
-}
-
-type GetAccountPasswordPolicyInput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s GetAccountPasswordPolicyInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GetAccountPasswordPolicyInput) GoString() string {
- return s.String()
-}
-
-// Contains the response to a successful GetAccountPasswordPolicy request.
-type GetAccountPasswordPolicyOutput struct {
- _ struct{} `type:"structure"`
-
- // A structure that contains details about the account's password policy.
- //
- // PasswordPolicy is a required field
- PasswordPolicy *PasswordPolicy `type:"structure" required:"true"`
-}
-
-// String returns the string representation
-func (s GetAccountPasswordPolicyOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GetAccountPasswordPolicyOutput) GoString() string {
- return s.String()
-}
-
-// SetPasswordPolicy sets the PasswordPolicy field's value.
-func (s *GetAccountPasswordPolicyOutput) SetPasswordPolicy(v *PasswordPolicy) *GetAccountPasswordPolicyOutput {
- s.PasswordPolicy = v
- return s
-}
-
-type GetAccountSummaryInput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s GetAccountSummaryInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GetAccountSummaryInput) GoString() string {
- return s.String()
-}
-
-// Contains the response to a successful GetAccountSummary request.
-type GetAccountSummaryOutput struct {
- _ struct{} `type:"structure"`
-
- // A set of key–value pairs containing information about IAM entity usage
- // and IAM quotas.
- SummaryMap map[string]*int64 `type:"map"`
-}
-
-// String returns the string representation
-func (s GetAccountSummaryOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GetAccountSummaryOutput) GoString() string {
- return s.String()
-}
-
-// SetSummaryMap sets the SummaryMap field's value.
-func (s *GetAccountSummaryOutput) SetSummaryMap(v map[string]*int64) *GetAccountSummaryOutput {
- s.SummaryMap = v
- return s
-}
-
-type GetContextKeysForCustomPolicyInput struct {
- _ struct{} `type:"structure"`
-
- // A list of policies for which you want the list of context keys referenced
- // in those policies. Each document is specified as a string containing the
- // complete, valid JSON text of an IAM policy.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) used to validate this
- // parameter is a string of characters consisting of the following:
- //
- // * Any printable ASCII character ranging from the space character (\u0020)
- // through the end of the ASCII character range
- //
- // * The printable characters in the Basic Latin and Latin-1 Supplement character
- // set (through \u00FF)
- //
- // * The special characters tab (\u0009), line feed (\u000A), and carriage
- // return (\u000D)
- //
- // PolicyInputList is a required field
- PolicyInputList []*string `type:"list" required:"true"`
-}
-
-// String returns the string representation
-func (s GetContextKeysForCustomPolicyInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GetContextKeysForCustomPolicyInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *GetContextKeysForCustomPolicyInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "GetContextKeysForCustomPolicyInput"}
- if s.PolicyInputList == nil {
- invalidParams.Add(request.NewErrParamRequired("PolicyInputList"))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetPolicyInputList sets the PolicyInputList field's value.
-func (s *GetContextKeysForCustomPolicyInput) SetPolicyInputList(v []*string) *GetContextKeysForCustomPolicyInput {
- s.PolicyInputList = v
- return s
-}
-
-// Contains the response to a successful GetContextKeysForPrincipalPolicy or
-// GetContextKeysForCustomPolicy request.
-type GetContextKeysForPolicyResponse struct {
- _ struct{} `type:"structure"`
-
- // The list of context keys that are referenced in the input policies.
- ContextKeyNames []*string `type:"list"`
-}
-
-// String returns the string representation
-func (s GetContextKeysForPolicyResponse) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GetContextKeysForPolicyResponse) GoString() string {
- return s.String()
-}
-
-// SetContextKeyNames sets the ContextKeyNames field's value.
-func (s *GetContextKeysForPolicyResponse) SetContextKeyNames(v []*string) *GetContextKeysForPolicyResponse {
- s.ContextKeyNames = v
- return s
-}
-
-type GetContextKeysForPrincipalPolicyInput struct {
- _ struct{} `type:"structure"`
-
- // An optional list of additional policies for which you want the list of context
- // keys that are referenced.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) used to validate this
- // parameter is a string of characters consisting of the following:
- //
- // * Any printable ASCII character ranging from the space character (\u0020)
- // through the end of the ASCII character range
- //
- // * The printable characters in the Basic Latin and Latin-1 Supplement character
- // set (through \u00FF)
- //
- // * The special characters tab (\u0009), line feed (\u000A), and carriage
- // return (\u000D)
- PolicyInputList []*string `type:"list"`
-
- // The ARN of a user, group, or role whose policies contain the context keys
- // that you want listed. If you specify a user, the list includes context keys
- // that are found in all policies that are attached to the user. The list also
- // includes all groups that the user is a member of. If you pick a group or
- // a role, then it includes only those context keys that are found in policies
- // attached to that entity. Note that all parameters are shown in unencoded
- // form here for clarity, but must be URL encoded to be included as a part of
- // a real HTML request.
- //
- // 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.
- //
- // PolicySourceArn is a required field
- PolicySourceArn *string `min:"20" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s GetContextKeysForPrincipalPolicyInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GetContextKeysForPrincipalPolicyInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *GetContextKeysForPrincipalPolicyInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "GetContextKeysForPrincipalPolicyInput"}
- if s.PolicySourceArn == nil {
- invalidParams.Add(request.NewErrParamRequired("PolicySourceArn"))
- }
- if s.PolicySourceArn != nil && len(*s.PolicySourceArn) < 20 {
- invalidParams.Add(request.NewErrParamMinLen("PolicySourceArn", 20))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetPolicyInputList sets the PolicyInputList field's value.
-func (s *GetContextKeysForPrincipalPolicyInput) SetPolicyInputList(v []*string) *GetContextKeysForPrincipalPolicyInput {
- s.PolicyInputList = v
- return s
-}
-
-// SetPolicySourceArn sets the PolicySourceArn field's value.
-func (s *GetContextKeysForPrincipalPolicyInput) SetPolicySourceArn(v string) *GetContextKeysForPrincipalPolicyInput {
- s.PolicySourceArn = &v
- return s
-}
-
-type GetCredentialReportInput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s GetCredentialReportInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GetCredentialReportInput) GoString() string {
- return s.String()
-}
-
-// Contains the response to a successful GetCredentialReport request.
-type GetCredentialReportOutput struct {
- _ struct{} `type:"structure"`
-
- // Contains the credential report. The report is Base64-encoded.
- //
- // Content is automatically base64 encoded/decoded by the SDK.
- Content []byte `type:"blob"`
-
- // The date and time when the credential report was created, in ISO 8601 date-time
- // format (http://www.iso.org/iso/iso8601).
- GeneratedTime *time.Time `type:"timestamp"`
-
- // The format (MIME type) of the credential report.
- ReportFormat *string `type:"string" enum:"ReportFormatType"`
-}
-
-// String returns the string representation
-func (s GetCredentialReportOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GetCredentialReportOutput) GoString() string {
- return s.String()
-}
-
-// SetContent sets the Content field's value.
-func (s *GetCredentialReportOutput) SetContent(v []byte) *GetCredentialReportOutput {
- s.Content = v
- return s
-}
-
-// SetGeneratedTime sets the GeneratedTime field's value.
-func (s *GetCredentialReportOutput) SetGeneratedTime(v time.Time) *GetCredentialReportOutput {
- s.GeneratedTime = &v
- return s
-}
-
-// SetReportFormat sets the ReportFormat field's value.
-func (s *GetCredentialReportOutput) SetReportFormat(v string) *GetCredentialReportOutput {
- s.ReportFormat = &v
- return s
-}
-
-type GetGroupInput struct {
- _ struct{} `type:"structure"`
-
- // The name of the group.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // GroupName is a required field
- GroupName *string `min:"1" type:"string" required:"true"`
-
- // Use this parameter only when paginating results and only after you receive
- // a response indicating that the results are truncated. Set it to the value
- // of the Marker element in the response that you received to indicate where
- // the next call should start.
- Marker *string `min:"1" type:"string"`
-
- // Use this only when paginating results to indicate the maximum number of items
- // you want in the response. If additional items exist beyond the maximum you
- // specify, the IsTruncated response element is true.
- //
- // If you do not include this parameter, the number of items defaults to 100.
- // Note that IAM might return fewer results, even when there are more results
- // available. In that case, the IsTruncated response element returns true, and
- // Marker contains a value to include in the subsequent call that tells the
- // service where to continue from.
- MaxItems *int64 `min:"1" type:"integer"`
-}
-
-// String returns the string representation
-func (s GetGroupInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GetGroupInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *GetGroupInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "GetGroupInput"}
- if s.GroupName == nil {
- invalidParams.Add(request.NewErrParamRequired("GroupName"))
- }
- if s.GroupName != nil && len(*s.GroupName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("GroupName", 1))
- }
- if s.Marker != nil && len(*s.Marker) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
- }
- if s.MaxItems != nil && *s.MaxItems < 1 {
- invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetGroupName sets the GroupName field's value.
-func (s *GetGroupInput) SetGroupName(v string) *GetGroupInput {
- s.GroupName = &v
- return s
-}
-
-// SetMarker sets the Marker field's value.
-func (s *GetGroupInput) SetMarker(v string) *GetGroupInput {
- s.Marker = &v
- return s
-}
-
-// SetMaxItems sets the MaxItems field's value.
-func (s *GetGroupInput) SetMaxItems(v int64) *GetGroupInput {
- s.MaxItems = &v
- return s
-}
-
-// Contains the response to a successful GetGroup request.
-type GetGroupOutput struct {
- _ struct{} `type:"structure"`
-
- // A structure that contains details about the group.
- //
- // Group is a required field
- Group *Group `type:"structure" required:"true"`
-
- // A flag that indicates whether there are more items to return. If your results
- // were truncated, you can make a subsequent pagination request using the Marker
- // request parameter to retrieve more items. Note that IAM might return fewer
- // than the MaxItems number of results even when there are more results available.
- // We recommend that you check IsTruncated after every call to ensure that you
- // receive all your results.
- IsTruncated *bool `type:"boolean"`
-
- // When IsTruncated is true, this element is present and contains the value
- // to use for the Marker parameter in a subsequent pagination request.
- Marker *string `type:"string"`
-
- // A list of users in the group.
- //
- // Users is a required field
- Users []*User `type:"list" required:"true"`
-}
-
-// String returns the string representation
-func (s GetGroupOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GetGroupOutput) GoString() string {
- return s.String()
-}
-
-// SetGroup sets the Group field's value.
-func (s *GetGroupOutput) SetGroup(v *Group) *GetGroupOutput {
- s.Group = v
- return s
-}
-
-// SetIsTruncated sets the IsTruncated field's value.
-func (s *GetGroupOutput) SetIsTruncated(v bool) *GetGroupOutput {
- s.IsTruncated = &v
- return s
-}
-
-// SetMarker sets the Marker field's value.
-func (s *GetGroupOutput) SetMarker(v string) *GetGroupOutput {
- s.Marker = &v
- return s
-}
-
-// SetUsers sets the Users field's value.
-func (s *GetGroupOutput) SetUsers(v []*User) *GetGroupOutput {
- s.Users = v
- return s
-}
-
-type GetGroupPolicyInput struct {
- _ struct{} `type:"structure"`
-
- // The name of the group the policy is associated with.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // GroupName is a required field
- GroupName *string `min:"1" type:"string" required:"true"`
-
- // The name of the policy document to get.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // PolicyName is a required field
- PolicyName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s GetGroupPolicyInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GetGroupPolicyInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *GetGroupPolicyInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "GetGroupPolicyInput"}
- if s.GroupName == nil {
- invalidParams.Add(request.NewErrParamRequired("GroupName"))
- }
- if s.GroupName != nil && len(*s.GroupName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("GroupName", 1))
- }
- if s.PolicyName == nil {
- invalidParams.Add(request.NewErrParamRequired("PolicyName"))
- }
- if s.PolicyName != nil && len(*s.PolicyName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("PolicyName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetGroupName sets the GroupName field's value.
-func (s *GetGroupPolicyInput) SetGroupName(v string) *GetGroupPolicyInput {
- s.GroupName = &v
- return s
-}
-
-// SetPolicyName sets the PolicyName field's value.
-func (s *GetGroupPolicyInput) SetPolicyName(v string) *GetGroupPolicyInput {
- s.PolicyName = &v
- return s
-}
-
-// Contains the response to a successful GetGroupPolicy request.
-type GetGroupPolicyOutput struct {
- _ struct{} `type:"structure"`
-
- // The group the policy is associated with.
- //
- // GroupName is a required field
- GroupName *string `min:"1" type:"string" required:"true"`
-
- // The policy document.
- //
- // IAM stores policies in JSON format. However, resources that were created
- // using AWS CloudFormation templates can be formatted in YAML. AWS CloudFormation
- // always converts a YAML policy to JSON format before submitting it to IAM.
- //
- // PolicyDocument is a required field
- PolicyDocument *string `min:"1" type:"string" required:"true"`
-
- // The name of the policy.
- //
- // PolicyName is a required field
- PolicyName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s GetGroupPolicyOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GetGroupPolicyOutput) GoString() string {
- return s.String()
-}
-
-// SetGroupName sets the GroupName field's value.
-func (s *GetGroupPolicyOutput) SetGroupName(v string) *GetGroupPolicyOutput {
- s.GroupName = &v
- return s
-}
-
-// SetPolicyDocument sets the PolicyDocument field's value.
-func (s *GetGroupPolicyOutput) SetPolicyDocument(v string) *GetGroupPolicyOutput {
- s.PolicyDocument = &v
- return s
-}
-
-// SetPolicyName sets the PolicyName field's value.
-func (s *GetGroupPolicyOutput) SetPolicyName(v string) *GetGroupPolicyOutput {
- s.PolicyName = &v
- return s
-}
-
-type GetInstanceProfileInput struct {
- _ struct{} `type:"structure"`
-
- // The name of the instance profile to get information about.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // InstanceProfileName is a required field
- InstanceProfileName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s GetInstanceProfileInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GetInstanceProfileInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *GetInstanceProfileInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "GetInstanceProfileInput"}
- if s.InstanceProfileName == nil {
- invalidParams.Add(request.NewErrParamRequired("InstanceProfileName"))
- }
- if s.InstanceProfileName != nil && len(*s.InstanceProfileName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("InstanceProfileName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetInstanceProfileName sets the InstanceProfileName field's value.
-func (s *GetInstanceProfileInput) SetInstanceProfileName(v string) *GetInstanceProfileInput {
- s.InstanceProfileName = &v
- return s
-}
-
-// Contains the response to a successful GetInstanceProfile request.
-type GetInstanceProfileOutput struct {
- _ struct{} `type:"structure"`
-
- // A structure containing details about the instance profile.
- //
- // InstanceProfile is a required field
- InstanceProfile *InstanceProfile `type:"structure" required:"true"`
-}
-
-// String returns the string representation
-func (s GetInstanceProfileOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GetInstanceProfileOutput) GoString() string {
- return s.String()
-}
-
-// SetInstanceProfile sets the InstanceProfile field's value.
-func (s *GetInstanceProfileOutput) SetInstanceProfile(v *InstanceProfile) *GetInstanceProfileOutput {
- s.InstanceProfile = v
- return s
-}
-
-type GetLoginProfileInput struct {
- _ struct{} `type:"structure"`
-
- // The name of the user whose login profile you want to retrieve.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // UserName is a required field
- UserName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s GetLoginProfileInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GetLoginProfileInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *GetLoginProfileInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "GetLoginProfileInput"}
- if s.UserName == nil {
- invalidParams.Add(request.NewErrParamRequired("UserName"))
- }
- if s.UserName != nil && len(*s.UserName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetUserName sets the UserName field's value.
-func (s *GetLoginProfileInput) SetUserName(v string) *GetLoginProfileInput {
- s.UserName = &v
- return s
-}
-
-// Contains the response to a successful GetLoginProfile request.
-type GetLoginProfileOutput struct {
- _ struct{} `type:"structure"`
-
- // A structure containing the user name and password create date for the user.
- //
- // LoginProfile is a required field
- LoginProfile *LoginProfile `type:"structure" required:"true"`
-}
-
-// String returns the string representation
-func (s GetLoginProfileOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GetLoginProfileOutput) GoString() string {
- return s.String()
-}
-
-// SetLoginProfile sets the LoginProfile field's value.
-func (s *GetLoginProfileOutput) SetLoginProfile(v *LoginProfile) *GetLoginProfileOutput {
- s.LoginProfile = v
- return s
-}
-
-type GetOpenIDConnectProviderInput struct {
- _ struct{} `type:"structure"`
-
- // The Amazon Resource Name (ARN) of the OIDC provider resource object in IAM
- // to get information for. You can get a list of OIDC provider resource ARNs
- // by using the ListOpenIDConnectProviders operation.
- //
- // 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.
- //
- // OpenIDConnectProviderArn is a required field
- OpenIDConnectProviderArn *string `min:"20" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s GetOpenIDConnectProviderInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GetOpenIDConnectProviderInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *GetOpenIDConnectProviderInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "GetOpenIDConnectProviderInput"}
- if s.OpenIDConnectProviderArn == nil {
- invalidParams.Add(request.NewErrParamRequired("OpenIDConnectProviderArn"))
- }
- if s.OpenIDConnectProviderArn != nil && len(*s.OpenIDConnectProviderArn) < 20 {
- invalidParams.Add(request.NewErrParamMinLen("OpenIDConnectProviderArn", 20))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetOpenIDConnectProviderArn sets the OpenIDConnectProviderArn field's value.
-func (s *GetOpenIDConnectProviderInput) SetOpenIDConnectProviderArn(v string) *GetOpenIDConnectProviderInput {
- s.OpenIDConnectProviderArn = &v
- return s
-}
-
-// Contains the response to a successful GetOpenIDConnectProvider request.
-type GetOpenIDConnectProviderOutput struct {
- _ struct{} `type:"structure"`
-
- // A list of client IDs (also known as audiences) that are associated with the
- // specified IAM OIDC provider resource object. For more information, see CreateOpenIDConnectProvider.
- ClientIDList []*string `type:"list"`
-
- // The date and time when the IAM OIDC provider resource object was created
- // in the AWS account.
- CreateDate *time.Time `type:"timestamp"`
-
- // A list of certificate thumbprints that are associated with the specified
- // IAM OIDC provider resource object. For more information, see CreateOpenIDConnectProvider.
- ThumbprintList []*string `type:"list"`
-
- // The URL that the IAM OIDC provider resource object is associated with. For
- // more information, see CreateOpenIDConnectProvider.
- Url *string `min:"1" type:"string"`
-}
-
-// String returns the string representation
-func (s GetOpenIDConnectProviderOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GetOpenIDConnectProviderOutput) GoString() string {
- return s.String()
-}
-
-// SetClientIDList sets the ClientIDList field's value.
-func (s *GetOpenIDConnectProviderOutput) SetClientIDList(v []*string) *GetOpenIDConnectProviderOutput {
- s.ClientIDList = v
- return s
-}
-
-// SetCreateDate sets the CreateDate field's value.
-func (s *GetOpenIDConnectProviderOutput) SetCreateDate(v time.Time) *GetOpenIDConnectProviderOutput {
- s.CreateDate = &v
- return s
-}
-
-// SetThumbprintList sets the ThumbprintList field's value.
-func (s *GetOpenIDConnectProviderOutput) SetThumbprintList(v []*string) *GetOpenIDConnectProviderOutput {
- s.ThumbprintList = v
- return s
-}
-
-// SetUrl sets the Url field's value.
-func (s *GetOpenIDConnectProviderOutput) SetUrl(v string) *GetOpenIDConnectProviderOutput {
- s.Url = &v
- return s
-}
-
-type GetOrganizationsAccessReportInput struct {
- _ struct{} `type:"structure"`
-
- // The identifier of the request generated by the GenerateOrganizationsAccessReport
- // operation.
- //
- // JobId is a required field
- JobId *string `min:"36" type:"string" required:"true"`
-
- // Use this parameter only when paginating results and only after you receive
- // a response indicating that the results are truncated. Set it to the value
- // of the Marker element in the response that you received to indicate where
- // the next call should start.
- Marker *string `min:"1" type:"string"`
-
- // Use this only when paginating results to indicate the maximum number of items
- // you want in the response. If additional items exist beyond the maximum you
- // specify, the IsTruncated response element is true.
- //
- // If you do not include this parameter, the number of items defaults to 100.
- // Note that IAM might return fewer results, even when there are more results
- // available. In that case, the IsTruncated response element returns true, and
- // Marker contains a value to include in the subsequent call that tells the
- // service where to continue from.
- MaxItems *int64 `min:"1" type:"integer"`
-
- // The key that is used to sort the results. If you choose the namespace key,
- // the results are returned in alphabetical order. If you choose the time key,
- // the results are sorted numerically by the date and time.
- SortKey *string `type:"string" enum:"sortKeyType"`
-}
-
-// String returns the string representation
-func (s GetOrganizationsAccessReportInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GetOrganizationsAccessReportInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *GetOrganizationsAccessReportInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "GetOrganizationsAccessReportInput"}
- if s.JobId == nil {
- invalidParams.Add(request.NewErrParamRequired("JobId"))
- }
- if s.JobId != nil && len(*s.JobId) < 36 {
- invalidParams.Add(request.NewErrParamMinLen("JobId", 36))
- }
- if s.Marker != nil && len(*s.Marker) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
- }
- if s.MaxItems != nil && *s.MaxItems < 1 {
- invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetJobId sets the JobId field's value.
-func (s *GetOrganizationsAccessReportInput) SetJobId(v string) *GetOrganizationsAccessReportInput {
- s.JobId = &v
- return s
-}
-
-// SetMarker sets the Marker field's value.
-func (s *GetOrganizationsAccessReportInput) SetMarker(v string) *GetOrganizationsAccessReportInput {
- s.Marker = &v
- return s
-}
-
-// SetMaxItems sets the MaxItems field's value.
-func (s *GetOrganizationsAccessReportInput) SetMaxItems(v int64) *GetOrganizationsAccessReportInput {
- s.MaxItems = &v
- return s
-}
-
-// SetSortKey sets the SortKey field's value.
-func (s *GetOrganizationsAccessReportInput) SetSortKey(v string) *GetOrganizationsAccessReportInput {
- s.SortKey = &v
- return s
-}
-
-type GetOrganizationsAccessReportOutput struct {
- _ struct{} `type:"structure"`
-
- // An object that contains details about the most recent attempt to access the
- // service.
- AccessDetails []*AccessDetail `type:"list"`
-
- // Contains information about the reason that the operation failed.
- //
- // This data type is used as a response element in the GetOrganizationsAccessReport,
- // GetServiceLastAccessedDetails, and GetServiceLastAccessedDetailsWithEntities
- // operations.
- ErrorDetails *ErrorDetails `type:"structure"`
-
- // A flag that indicates whether there are more items to return. If your results
- // were truncated, you can make a subsequent pagination request using the Marker
- // request parameter to retrieve more items. Note that IAM might return fewer
- // than the MaxItems number of results even when there are more results available.
- // We recommend that you check IsTruncated after every call to ensure that you
- // receive all your results.
- IsTruncated *bool `type:"boolean"`
-
- // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
- // when the generated report job was completed or failed.
- //
- // This field is null if the job is still in progress, as indicated by a job
- // status value of IN_PROGRESS.
- JobCompletionDate *time.Time `type:"timestamp"`
-
- // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
- // when the report job was created.
- //
- // JobCreationDate is a required field
- JobCreationDate *time.Time `type:"timestamp" required:"true"`
-
- // The status of the job.
- //
- // JobStatus is a required field
- JobStatus *string `type:"string" required:"true" enum:"jobStatusType"`
-
- // When IsTruncated is true, this element is present and contains the value
- // to use for the Marker parameter in a subsequent pagination request.
- Marker *string `min:"1" type:"string"`
-
- // The number of services that the applicable SCPs allow account principals
- // to access.
- NumberOfServicesAccessible *int64 `type:"integer"`
-
- // The number of services that account principals are allowed but did not attempt
- // to access.
- NumberOfServicesNotAccessed *int64 `type:"integer"`
-}
-
-// String returns the string representation
-func (s GetOrganizationsAccessReportOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GetOrganizationsAccessReportOutput) GoString() string {
- return s.String()
-}
-
-// SetAccessDetails sets the AccessDetails field's value.
-func (s *GetOrganizationsAccessReportOutput) SetAccessDetails(v []*AccessDetail) *GetOrganizationsAccessReportOutput {
- s.AccessDetails = v
- return s
-}
-
-// SetErrorDetails sets the ErrorDetails field's value.
-func (s *GetOrganizationsAccessReportOutput) SetErrorDetails(v *ErrorDetails) *GetOrganizationsAccessReportOutput {
- s.ErrorDetails = v
- return s
-}
-
-// SetIsTruncated sets the IsTruncated field's value.
-func (s *GetOrganizationsAccessReportOutput) SetIsTruncated(v bool) *GetOrganizationsAccessReportOutput {
- s.IsTruncated = &v
- return s
-}
-
-// SetJobCompletionDate sets the JobCompletionDate field's value.
-func (s *GetOrganizationsAccessReportOutput) SetJobCompletionDate(v time.Time) *GetOrganizationsAccessReportOutput {
- s.JobCompletionDate = &v
- return s
-}
-
-// SetJobCreationDate sets the JobCreationDate field's value.
-func (s *GetOrganizationsAccessReportOutput) SetJobCreationDate(v time.Time) *GetOrganizationsAccessReportOutput {
- s.JobCreationDate = &v
- return s
-}
-
-// SetJobStatus sets the JobStatus field's value.
-func (s *GetOrganizationsAccessReportOutput) SetJobStatus(v string) *GetOrganizationsAccessReportOutput {
- s.JobStatus = &v
- return s
-}
-
-// SetMarker sets the Marker field's value.
-func (s *GetOrganizationsAccessReportOutput) SetMarker(v string) *GetOrganizationsAccessReportOutput {
- s.Marker = &v
- return s
-}
-
-// SetNumberOfServicesAccessible sets the NumberOfServicesAccessible field's value.
-func (s *GetOrganizationsAccessReportOutput) SetNumberOfServicesAccessible(v int64) *GetOrganizationsAccessReportOutput {
- s.NumberOfServicesAccessible = &v
- return s
-}
-
-// SetNumberOfServicesNotAccessed sets the NumberOfServicesNotAccessed field's value.
-func (s *GetOrganizationsAccessReportOutput) SetNumberOfServicesNotAccessed(v int64) *GetOrganizationsAccessReportOutput {
- s.NumberOfServicesNotAccessed = &v
- return s
-}
-
-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)
-}
-
-// GoString returns the string representation
-func (s GetPolicyInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *GetPolicyInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "GetPolicyInput"}
- if s.PolicyArn == nil {
- invalidParams.Add(request.NewErrParamRequired("PolicyArn"))
- }
- if s.PolicyArn != nil && len(*s.PolicyArn) < 20 {
- invalidParams.Add(request.NewErrParamMinLen("PolicyArn", 20))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetPolicyArn sets the PolicyArn field's value.
-func (s *GetPolicyInput) SetPolicyArn(v string) *GetPolicyInput {
- s.PolicyArn = &v
- return s
-}
-
-// 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)
-}
-
-// GoString returns the string representation
-func (s GetPolicyOutput) GoString() string {
- return s.String()
-}
-
-// SetPolicy sets the Policy field's value.
-func (s *GetPolicyOutput) SetPolicy(v *Policy) *GetPolicyOutput {
- s.Policy = v
- return s
-}
-
-type GetPolicyVersionInput 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"`
-
- // Identifies the policy version to retrieve.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters that consists of the lowercase letter 'v' followed
- // by one or two digits, and optionally followed by a period '.' and a string
- // of letters and digits.
- //
- // VersionId is a required field
- VersionId *string `type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s GetPolicyVersionInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GetPolicyVersionInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *GetPolicyVersionInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "GetPolicyVersionInput"}
- if s.PolicyArn == nil {
- invalidParams.Add(request.NewErrParamRequired("PolicyArn"))
- }
- if s.PolicyArn != nil && len(*s.PolicyArn) < 20 {
- invalidParams.Add(request.NewErrParamMinLen("PolicyArn", 20))
- }
- if s.VersionId == nil {
- invalidParams.Add(request.NewErrParamRequired("VersionId"))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetPolicyArn sets the PolicyArn field's value.
-func (s *GetPolicyVersionInput) SetPolicyArn(v string) *GetPolicyVersionInput {
- s.PolicyArn = &v
- return s
-}
-
-// SetVersionId sets the VersionId field's value.
-func (s *GetPolicyVersionInput) SetVersionId(v string) *GetPolicyVersionInput {
- s.VersionId = &v
- return s
-}
-
-// Contains the response to a successful GetPolicyVersion request.
-type GetPolicyVersionOutput struct {
- _ struct{} `type:"structure"`
-
- // A structure containing details about the policy version.
- PolicyVersion *PolicyVersion `type:"structure"`
-}
-
-// String returns the string representation
-func (s GetPolicyVersionOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GetPolicyVersionOutput) GoString() string {
- return s.String()
-}
-
-// SetPolicyVersion sets the PolicyVersion field's value.
-func (s *GetPolicyVersionOutput) SetPolicyVersion(v *PolicyVersion) *GetPolicyVersionOutput {
- s.PolicyVersion = v
- return s
-}
-
-type GetRoleInput struct {
- _ struct{} `type:"structure"`
-
- // The name of the IAM role to get information about.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // RoleName is a required field
- RoleName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s GetRoleInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GetRoleInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *GetRoleInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "GetRoleInput"}
- if s.RoleName == nil {
- invalidParams.Add(request.NewErrParamRequired("RoleName"))
- }
- if s.RoleName != nil && len(*s.RoleName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("RoleName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetRoleName sets the RoleName field's value.
-func (s *GetRoleInput) SetRoleName(v string) *GetRoleInput {
- s.RoleName = &v
- return s
-}
-
-// Contains the response to a successful GetRole request.
-type GetRoleOutput struct {
- _ struct{} `type:"structure"`
-
- // A structure containing details about the IAM role.
- //
- // Role is a required field
- Role *Role `type:"structure" required:"true"`
-}
-
-// String returns the string representation
-func (s GetRoleOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GetRoleOutput) GoString() string {
- return s.String()
-}
-
-// SetRole sets the Role field's value.
-func (s *GetRoleOutput) SetRole(v *Role) *GetRoleOutput {
- s.Role = v
- return s
-}
-
-type GetRolePolicyInput struct {
- _ struct{} `type:"structure"`
-
- // The name of the policy document to get.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // PolicyName is a required field
- PolicyName *string `min:"1" type:"string" required:"true"`
-
- // The name of the role associated with the policy.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // RoleName is a required field
- RoleName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s GetRolePolicyInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GetRolePolicyInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *GetRolePolicyInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "GetRolePolicyInput"}
- if s.PolicyName == nil {
- invalidParams.Add(request.NewErrParamRequired("PolicyName"))
- }
- if s.PolicyName != nil && len(*s.PolicyName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("PolicyName", 1))
- }
- if s.RoleName == nil {
- invalidParams.Add(request.NewErrParamRequired("RoleName"))
- }
- if s.RoleName != nil && len(*s.RoleName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("RoleName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetPolicyName sets the PolicyName field's value.
-func (s *GetRolePolicyInput) SetPolicyName(v string) *GetRolePolicyInput {
- s.PolicyName = &v
- return s
-}
-
-// SetRoleName sets the RoleName field's value.
-func (s *GetRolePolicyInput) SetRoleName(v string) *GetRolePolicyInput {
- s.RoleName = &v
- return s
-}
-
-// Contains the response to a successful GetRolePolicy request.
-type GetRolePolicyOutput struct {
- _ struct{} `type:"structure"`
-
- // The policy document.
- //
- // IAM stores policies in JSON format. However, resources that were created
- // using AWS CloudFormation templates can be formatted in YAML. AWS CloudFormation
- // always converts a YAML policy to JSON format before submitting it to IAM.
- //
- // PolicyDocument is a required field
- PolicyDocument *string `min:"1" type:"string" required:"true"`
-
- // The name of the policy.
- //
- // PolicyName is a required field
- PolicyName *string `min:"1" type:"string" required:"true"`
-
- // The role the policy is associated with.
- //
- // RoleName is a required field
- RoleName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s GetRolePolicyOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GetRolePolicyOutput) GoString() string {
- return s.String()
-}
-
-// SetPolicyDocument sets the PolicyDocument field's value.
-func (s *GetRolePolicyOutput) SetPolicyDocument(v string) *GetRolePolicyOutput {
- s.PolicyDocument = &v
- return s
-}
-
-// SetPolicyName sets the PolicyName field's value.
-func (s *GetRolePolicyOutput) SetPolicyName(v string) *GetRolePolicyOutput {
- s.PolicyName = &v
- return s
-}
-
-// SetRoleName sets the RoleName field's value.
-func (s *GetRolePolicyOutput) SetRoleName(v string) *GetRolePolicyOutput {
- s.RoleName = &v
- return s
-}
-
-type GetSAMLProviderInput struct {
- _ struct{} `type:"structure"`
-
- // The Amazon Resource Name (ARN) of the SAML provider resource object in IAM
- // to get 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.
- //
- // SAMLProviderArn is a required field
- SAMLProviderArn *string `min:"20" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s GetSAMLProviderInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GetSAMLProviderInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *GetSAMLProviderInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "GetSAMLProviderInput"}
- if s.SAMLProviderArn == nil {
- invalidParams.Add(request.NewErrParamRequired("SAMLProviderArn"))
- }
- if s.SAMLProviderArn != nil && len(*s.SAMLProviderArn) < 20 {
- invalidParams.Add(request.NewErrParamMinLen("SAMLProviderArn", 20))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetSAMLProviderArn sets the SAMLProviderArn field's value.
-func (s *GetSAMLProviderInput) SetSAMLProviderArn(v string) *GetSAMLProviderInput {
- s.SAMLProviderArn = &v
- return s
-}
-
-// Contains the response to a successful GetSAMLProvider request.
-type GetSAMLProviderOutput struct {
- _ struct{} `type:"structure"`
-
- // The date and time when the SAML provider was created.
- CreateDate *time.Time `type:"timestamp"`
-
- // The XML metadata document that includes information about an identity provider.
- SAMLMetadataDocument *string `min:"1000" type:"string"`
-
- // The expiration date and time for the SAML provider.
- ValidUntil *time.Time `type:"timestamp"`
-}
-
-// String returns the string representation
-func (s GetSAMLProviderOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GetSAMLProviderOutput) GoString() string {
- return s.String()
-}
-
-// SetCreateDate sets the CreateDate field's value.
-func (s *GetSAMLProviderOutput) SetCreateDate(v time.Time) *GetSAMLProviderOutput {
- s.CreateDate = &v
- return s
-}
-
-// SetSAMLMetadataDocument sets the SAMLMetadataDocument field's value.
-func (s *GetSAMLProviderOutput) SetSAMLMetadataDocument(v string) *GetSAMLProviderOutput {
- s.SAMLMetadataDocument = &v
- return s
-}
-
-// SetValidUntil sets the ValidUntil field's value.
-func (s *GetSAMLProviderOutput) SetValidUntil(v time.Time) *GetSAMLProviderOutput {
- s.ValidUntil = &v
- return s
-}
-
-type GetSSHPublicKeyInput struct {
- _ struct{} `type:"structure"`
-
- // Specifies the public key encoding format to use in the response. To retrieve
- // the public key in ssh-rsa format, use SSH. To retrieve the public key in
- // PEM format, use PEM.
- //
- // Encoding is a required field
- Encoding *string `type:"string" required:"true" enum:"encodingType"`
-
- // The unique identifier for the SSH public key.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters that can consist of any upper or lowercased letter
- // or digit.
- //
- // SSHPublicKeyId is a required field
- SSHPublicKeyId *string `min:"20" type:"string" required:"true"`
-
- // The name of the IAM user associated with the SSH public key.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // UserName is a required field
- UserName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s GetSSHPublicKeyInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GetSSHPublicKeyInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *GetSSHPublicKeyInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "GetSSHPublicKeyInput"}
- if s.Encoding == nil {
- invalidParams.Add(request.NewErrParamRequired("Encoding"))
- }
- if s.SSHPublicKeyId == nil {
- invalidParams.Add(request.NewErrParamRequired("SSHPublicKeyId"))
- }
- if s.SSHPublicKeyId != nil && len(*s.SSHPublicKeyId) < 20 {
- invalidParams.Add(request.NewErrParamMinLen("SSHPublicKeyId", 20))
- }
- if s.UserName == nil {
- invalidParams.Add(request.NewErrParamRequired("UserName"))
- }
- if s.UserName != nil && len(*s.UserName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetEncoding sets the Encoding field's value.
-func (s *GetSSHPublicKeyInput) SetEncoding(v string) *GetSSHPublicKeyInput {
- s.Encoding = &v
- return s
-}
-
-// SetSSHPublicKeyId sets the SSHPublicKeyId field's value.
-func (s *GetSSHPublicKeyInput) SetSSHPublicKeyId(v string) *GetSSHPublicKeyInput {
- s.SSHPublicKeyId = &v
- return s
-}
-
-// SetUserName sets the UserName field's value.
-func (s *GetSSHPublicKeyInput) SetUserName(v string) *GetSSHPublicKeyInput {
- s.UserName = &v
- return s
-}
-
-// Contains the response to a successful GetSSHPublicKey request.
-type GetSSHPublicKeyOutput struct {
- _ struct{} `type:"structure"`
-
- // A structure containing details about the SSH public key.
- SSHPublicKey *SSHPublicKey `type:"structure"`
-}
-
-// String returns the string representation
-func (s GetSSHPublicKeyOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GetSSHPublicKeyOutput) GoString() string {
- return s.String()
-}
-
-// SetSSHPublicKey sets the SSHPublicKey field's value.
-func (s *GetSSHPublicKeyOutput) SetSSHPublicKey(v *SSHPublicKey) *GetSSHPublicKeyOutput {
- s.SSHPublicKey = v
- return s
-}
-
-type GetServerCertificateInput struct {
- _ struct{} `type:"structure"`
-
- // The name of the server certificate you want to retrieve information about.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // ServerCertificateName is a required field
- ServerCertificateName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s GetServerCertificateInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GetServerCertificateInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *GetServerCertificateInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "GetServerCertificateInput"}
- if s.ServerCertificateName == nil {
- invalidParams.Add(request.NewErrParamRequired("ServerCertificateName"))
- }
- if s.ServerCertificateName != nil && len(*s.ServerCertificateName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("ServerCertificateName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetServerCertificateName sets the ServerCertificateName field's value.
-func (s *GetServerCertificateInput) SetServerCertificateName(v string) *GetServerCertificateInput {
- s.ServerCertificateName = &v
- return s
-}
-
-// Contains the response to a successful GetServerCertificate request.
-type GetServerCertificateOutput struct {
- _ struct{} `type:"structure"`
-
- // A structure containing details about the server certificate.
- //
- // ServerCertificate is a required field
- ServerCertificate *ServerCertificate `type:"structure" required:"true"`
-}
-
-// String returns the string representation
-func (s GetServerCertificateOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GetServerCertificateOutput) GoString() string {
- return s.String()
-}
-
-// SetServerCertificate sets the ServerCertificate field's value.
-func (s *GetServerCertificateOutput) SetServerCertificate(v *ServerCertificate) *GetServerCertificateOutput {
- s.ServerCertificate = v
- return s
-}
-
-type GetServiceLastAccessedDetailsInput struct {
- _ struct{} `type:"structure"`
-
- // The ID of the request generated by the GenerateServiceLastAccessedDetails
- // operation.
- //
- // JobId is a required field
- JobId *string `min:"36" type:"string" required:"true"`
-
- // Use this parameter only when paginating results and only after you receive
- // a response indicating that the results are truncated. Set it to the value
- // of the Marker element in the response that you received to indicate where
- // the next call should start.
- Marker *string `min:"1" type:"string"`
-
- // Use this only when paginating results to indicate the maximum number of items
- // you want in the response. If additional items exist beyond the maximum you
- // specify, the IsTruncated response element is true.
- //
- // If you do not include this parameter, the number of items defaults to 100.
- // Note that IAM might return fewer results, even when there are more results
- // available. In that case, the IsTruncated response element returns true, and
- // Marker contains a value to include in the subsequent call that tells the
- // service where to continue from.
- MaxItems *int64 `min:"1" type:"integer"`
-}
-
-// String returns the string representation
-func (s GetServiceLastAccessedDetailsInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GetServiceLastAccessedDetailsInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *GetServiceLastAccessedDetailsInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "GetServiceLastAccessedDetailsInput"}
- if s.JobId == nil {
- invalidParams.Add(request.NewErrParamRequired("JobId"))
- }
- if s.JobId != nil && len(*s.JobId) < 36 {
- invalidParams.Add(request.NewErrParamMinLen("JobId", 36))
- }
- if s.Marker != nil && len(*s.Marker) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
- }
- if s.MaxItems != nil && *s.MaxItems < 1 {
- invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetJobId sets the JobId field's value.
-func (s *GetServiceLastAccessedDetailsInput) SetJobId(v string) *GetServiceLastAccessedDetailsInput {
- s.JobId = &v
- return s
-}
-
-// SetMarker sets the Marker field's value.
-func (s *GetServiceLastAccessedDetailsInput) SetMarker(v string) *GetServiceLastAccessedDetailsInput {
- s.Marker = &v
- return s
-}
-
-// SetMaxItems sets the MaxItems field's value.
-func (s *GetServiceLastAccessedDetailsInput) SetMaxItems(v int64) *GetServiceLastAccessedDetailsInput {
- s.MaxItems = &v
- return s
-}
-
-type GetServiceLastAccessedDetailsOutput struct {
- _ struct{} `type:"structure"`
-
- // An object that contains details about the reason the operation failed.
- Error *ErrorDetails `type:"structure"`
-
- // A flag that indicates whether there are more items to return. If your results
- // were truncated, you can make a subsequent pagination request using the Marker
- // request parameter to retrieve more items. Note that IAM might return fewer
- // than the MaxItems number of results even when there are more results available.
- // We recommend that you check IsTruncated after every call to ensure that you
- // receive all your results.
- IsTruncated *bool `type:"boolean"`
-
- // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
- // when the generated report job was completed or failed.
- //
- // This field is null if the job is still in progress, as indicated by a job
- // status value of IN_PROGRESS.
- //
- // JobCompletionDate is a required field
- JobCompletionDate *time.Time `type:"timestamp" required:"true"`
-
- // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
- // when the report job was created.
- //
- // JobCreationDate is a required field
- JobCreationDate *time.Time `type:"timestamp" required:"true"`
-
- // The status of the job.
- //
- // JobStatus is a required field
- JobStatus *string `type:"string" required:"true" enum:"jobStatusType"`
-
- // When IsTruncated is true, this element is present and contains the value
- // to use for the Marker parameter in a subsequent pagination request.
- Marker *string `type:"string"`
-
- // A ServiceLastAccessed object that contains details about the most recent
- // attempt to access the service.
- //
- // ServicesLastAccessed is a required field
- ServicesLastAccessed []*ServiceLastAccessed `type:"list" required:"true"`
-}
-
-// String returns the string representation
-func (s GetServiceLastAccessedDetailsOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GetServiceLastAccessedDetailsOutput) GoString() string {
- return s.String()
-}
-
-// SetError sets the Error field's value.
-func (s *GetServiceLastAccessedDetailsOutput) SetError(v *ErrorDetails) *GetServiceLastAccessedDetailsOutput {
- s.Error = v
- return s
-}
-
-// SetIsTruncated sets the IsTruncated field's value.
-func (s *GetServiceLastAccessedDetailsOutput) SetIsTruncated(v bool) *GetServiceLastAccessedDetailsOutput {
- s.IsTruncated = &v
- return s
-}
-
-// SetJobCompletionDate sets the JobCompletionDate field's value.
-func (s *GetServiceLastAccessedDetailsOutput) SetJobCompletionDate(v time.Time) *GetServiceLastAccessedDetailsOutput {
- s.JobCompletionDate = &v
- return s
-}
-
-// SetJobCreationDate sets the JobCreationDate field's value.
-func (s *GetServiceLastAccessedDetailsOutput) SetJobCreationDate(v time.Time) *GetServiceLastAccessedDetailsOutput {
- s.JobCreationDate = &v
- return s
-}
-
-// SetJobStatus sets the JobStatus field's value.
-func (s *GetServiceLastAccessedDetailsOutput) SetJobStatus(v string) *GetServiceLastAccessedDetailsOutput {
- s.JobStatus = &v
- return s
-}
-
-// SetMarker sets the Marker field's value.
-func (s *GetServiceLastAccessedDetailsOutput) SetMarker(v string) *GetServiceLastAccessedDetailsOutput {
- s.Marker = &v
- return s
-}
-
-// SetServicesLastAccessed sets the ServicesLastAccessed field's value.
-func (s *GetServiceLastAccessedDetailsOutput) SetServicesLastAccessed(v []*ServiceLastAccessed) *GetServiceLastAccessedDetailsOutput {
- s.ServicesLastAccessed = v
- return s
-}
-
-type GetServiceLastAccessedDetailsWithEntitiesInput struct {
- _ struct{} `type:"structure"`
-
- // The ID of the request generated by the GenerateServiceLastAccessedDetails
- // operation.
- //
- // JobId is a required field
- JobId *string `min:"36" type:"string" required:"true"`
-
- // Use this parameter only when paginating results and only after you receive
- // a response indicating that the results are truncated. Set it to the value
- // of the Marker element in the response that you received to indicate where
- // the next call should start.
- Marker *string `min:"1" type:"string"`
-
- // Use this only when paginating results to indicate the maximum number of items
- // you want in the response. If additional items exist beyond the maximum you
- // specify, the IsTruncated response element is true.
- //
- // If you do not include this parameter, the number of items defaults to 100.
- // Note that IAM might return fewer results, even when there are more results
- // available. In that case, the IsTruncated response element returns true, and
- // Marker contains a value to include in the subsequent call that tells the
- // service where to continue from.
- MaxItems *int64 `min:"1" type:"integer"`
-
- // The service namespace for an AWS service. Provide the service namespace to
- // learn when the IAM entity last attempted to access the specified service.
- //
- // To learn the service namespace for a service, go to Actions, Resources, and
- // Condition Keys for AWS Services (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_actions-resources-contextkeys.html)
- // in the IAM User Guide. Choose the name of the service to view details for
- // that service. In the first paragraph, find the service prefix. For example,
- // (service prefix: a4b). For more information about service namespaces, see
- // AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces)
- // in the AWS General Reference.
- //
- // ServiceNamespace is a required field
- ServiceNamespace *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s GetServiceLastAccessedDetailsWithEntitiesInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GetServiceLastAccessedDetailsWithEntitiesInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *GetServiceLastAccessedDetailsWithEntitiesInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "GetServiceLastAccessedDetailsWithEntitiesInput"}
- if s.JobId == nil {
- invalidParams.Add(request.NewErrParamRequired("JobId"))
- }
- if s.JobId != nil && len(*s.JobId) < 36 {
- invalidParams.Add(request.NewErrParamMinLen("JobId", 36))
- }
- if s.Marker != nil && len(*s.Marker) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
- }
- if s.MaxItems != nil && *s.MaxItems < 1 {
- invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
- }
- if s.ServiceNamespace == nil {
- invalidParams.Add(request.NewErrParamRequired("ServiceNamespace"))
- }
- if s.ServiceNamespace != nil && len(*s.ServiceNamespace) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("ServiceNamespace", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetJobId sets the JobId field's value.
-func (s *GetServiceLastAccessedDetailsWithEntitiesInput) SetJobId(v string) *GetServiceLastAccessedDetailsWithEntitiesInput {
- s.JobId = &v
- return s
-}
-
-// SetMarker sets the Marker field's value.
-func (s *GetServiceLastAccessedDetailsWithEntitiesInput) SetMarker(v string) *GetServiceLastAccessedDetailsWithEntitiesInput {
- s.Marker = &v
- return s
-}
-
-// SetMaxItems sets the MaxItems field's value.
-func (s *GetServiceLastAccessedDetailsWithEntitiesInput) SetMaxItems(v int64) *GetServiceLastAccessedDetailsWithEntitiesInput {
- s.MaxItems = &v
- return s
-}
-
-// SetServiceNamespace sets the ServiceNamespace field's value.
-func (s *GetServiceLastAccessedDetailsWithEntitiesInput) SetServiceNamespace(v string) *GetServiceLastAccessedDetailsWithEntitiesInput {
- s.ServiceNamespace = &v
- return s
-}
-
-type GetServiceLastAccessedDetailsWithEntitiesOutput struct {
- _ struct{} `type:"structure"`
-
- // An EntityDetailsList object that contains details about when an IAM entity
- // (user or role) used group or policy permissions in an attempt to access the
- // specified AWS service.
- //
- // EntityDetailsList is a required field
- EntityDetailsList []*EntityDetails `type:"list" required:"true"`
-
- // An object that contains details about the reason the operation failed.
- Error *ErrorDetails `type:"structure"`
-
- // A flag that indicates whether there are more items to return. If your results
- // were truncated, you can make a subsequent pagination request using the Marker
- // request parameter to retrieve more items. Note that IAM might return fewer
- // than the MaxItems number of results even when there are more results available.
- // We recommend that you check IsTruncated after every call to ensure that you
- // receive all your results.
- IsTruncated *bool `type:"boolean"`
-
- // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
- // when the generated report job was completed or failed.
- //
- // This field is null if the job is still in progress, as indicated by a job
- // status value of IN_PROGRESS.
- //
- // JobCompletionDate is a required field
- JobCompletionDate *time.Time `type:"timestamp" required:"true"`
-
- // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
- // when the report job was created.
- //
- // JobCreationDate is a required field
- JobCreationDate *time.Time `type:"timestamp" required:"true"`
-
- // The status of the job.
- //
- // JobStatus is a required field
- JobStatus *string `type:"string" required:"true" enum:"jobStatusType"`
-
- // When IsTruncated is true, this element is present and contains the value
- // to use for the Marker parameter in a subsequent pagination request.
- Marker *string `type:"string"`
-}
-
-// String returns the string representation
-func (s GetServiceLastAccessedDetailsWithEntitiesOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GetServiceLastAccessedDetailsWithEntitiesOutput) GoString() string {
- return s.String()
-}
-
-// SetEntityDetailsList sets the EntityDetailsList field's value.
-func (s *GetServiceLastAccessedDetailsWithEntitiesOutput) SetEntityDetailsList(v []*EntityDetails) *GetServiceLastAccessedDetailsWithEntitiesOutput {
- s.EntityDetailsList = v
- return s
-}
-
-// SetError sets the Error field's value.
-func (s *GetServiceLastAccessedDetailsWithEntitiesOutput) SetError(v *ErrorDetails) *GetServiceLastAccessedDetailsWithEntitiesOutput {
- s.Error = v
- return s
-}
-
-// SetIsTruncated sets the IsTruncated field's value.
-func (s *GetServiceLastAccessedDetailsWithEntitiesOutput) SetIsTruncated(v bool) *GetServiceLastAccessedDetailsWithEntitiesOutput {
- s.IsTruncated = &v
- return s
-}
-
-// SetJobCompletionDate sets the JobCompletionDate field's value.
-func (s *GetServiceLastAccessedDetailsWithEntitiesOutput) SetJobCompletionDate(v time.Time) *GetServiceLastAccessedDetailsWithEntitiesOutput {
- s.JobCompletionDate = &v
- return s
-}
-
-// SetJobCreationDate sets the JobCreationDate field's value.
-func (s *GetServiceLastAccessedDetailsWithEntitiesOutput) SetJobCreationDate(v time.Time) *GetServiceLastAccessedDetailsWithEntitiesOutput {
- s.JobCreationDate = &v
- return s
-}
-
-// SetJobStatus sets the JobStatus field's value.
-func (s *GetServiceLastAccessedDetailsWithEntitiesOutput) SetJobStatus(v string) *GetServiceLastAccessedDetailsWithEntitiesOutput {
- s.JobStatus = &v
- return s
-}
-
-// SetMarker sets the Marker field's value.
-func (s *GetServiceLastAccessedDetailsWithEntitiesOutput) SetMarker(v string) *GetServiceLastAccessedDetailsWithEntitiesOutput {
- s.Marker = &v
- return s
-}
-
-type GetServiceLinkedRoleDeletionStatusInput struct {
- _ struct{} `type:"structure"`
-
- // The deletion task identifier. This identifier is returned by the DeleteServiceLinkedRole
- // operation in the format task/aws-service-role///.
- //
- // DeletionTaskId is a required field
- DeletionTaskId *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s GetServiceLinkedRoleDeletionStatusInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GetServiceLinkedRoleDeletionStatusInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *GetServiceLinkedRoleDeletionStatusInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "GetServiceLinkedRoleDeletionStatusInput"}
- if s.DeletionTaskId == nil {
- invalidParams.Add(request.NewErrParamRequired("DeletionTaskId"))
- }
- if s.DeletionTaskId != nil && len(*s.DeletionTaskId) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("DeletionTaskId", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetDeletionTaskId sets the DeletionTaskId field's value.
-func (s *GetServiceLinkedRoleDeletionStatusInput) SetDeletionTaskId(v string) *GetServiceLinkedRoleDeletionStatusInput {
- s.DeletionTaskId = &v
- return s
-}
-
-type GetServiceLinkedRoleDeletionStatusOutput struct {
- _ struct{} `type:"structure"`
-
- // An object that contains details about the reason the deletion failed.
- Reason *DeletionTaskFailureReasonType `type:"structure"`
-
- // The status of the deletion.
- //
- // Status is a required field
- Status *string `type:"string" required:"true" enum:"DeletionTaskStatusType"`
-}
-
-// String returns the string representation
-func (s GetServiceLinkedRoleDeletionStatusOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GetServiceLinkedRoleDeletionStatusOutput) GoString() string {
- return s.String()
-}
-
-// SetReason sets the Reason field's value.
-func (s *GetServiceLinkedRoleDeletionStatusOutput) SetReason(v *DeletionTaskFailureReasonType) *GetServiceLinkedRoleDeletionStatusOutput {
- s.Reason = v
- return s
-}
-
-// SetStatus sets the Status field's value.
-func (s *GetServiceLinkedRoleDeletionStatusOutput) SetStatus(v string) *GetServiceLinkedRoleDeletionStatusOutput {
- s.Status = &v
- return s
-}
-
-type GetUserInput struct {
- _ struct{} `type:"structure"`
-
- // The name of the user to get information about.
- //
- // This parameter is optional. If it is not included, it defaults to the user
- // making the request. This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- UserName *string `min:"1" type:"string"`
-}
-
-// String returns the string representation
-func (s GetUserInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GetUserInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *GetUserInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "GetUserInput"}
- if s.UserName != nil && len(*s.UserName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetUserName sets the UserName field's value.
-func (s *GetUserInput) SetUserName(v string) *GetUserInput {
- s.UserName = &v
- return s
-}
-
-// Contains the response to a successful GetUser request.
-type GetUserOutput struct {
- _ struct{} `type:"structure"`
-
- // A structure containing details about the IAM user.
- //
- // Due to a service issue, password last used data does not include password
- // use from May 3, 2018 22:50 PDT to May 23, 2018 14:08 PDT. This affects last
- // sign-in (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_finding-unused.html)
- // dates shown in the IAM console and password last used dates in the IAM credential
- // report (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_getting-report.html),
- // and returned by this GetUser API. If users signed in during the affected
- // time, the password last used date that is returned is the date the user last
- // signed in before May 3, 2018. For users that signed in after May 23, 2018
- // 14:08 PDT, the returned password last used date is accurate.
- //
- // You can use password last used information to identify unused credentials
- // for deletion. For example, you might delete users who did not sign in to
- // AWS in the last 90 days. In cases like this, we recommend that you adjust
- // your evaluation window to include dates after May 23, 2018. Alternatively,
- // if your users use access keys to access AWS programmatically you can refer
- // to access key last used information because it is accurate for all dates.
- //
- // User is a required field
- User *User `type:"structure" required:"true"`
-}
-
-// String returns the string representation
-func (s GetUserOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GetUserOutput) GoString() string {
- return s.String()
-}
-
-// SetUser sets the User field's value.
-func (s *GetUserOutput) SetUser(v *User) *GetUserOutput {
- s.User = v
- return s
-}
-
-type GetUserPolicyInput struct {
- _ struct{} `type:"structure"`
-
- // The name of the policy document to get.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // PolicyName is a required field
- PolicyName *string `min:"1" type:"string" required:"true"`
-
- // The name of the user who the policy is associated with.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // UserName is a required field
- UserName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s GetUserPolicyInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GetUserPolicyInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *GetUserPolicyInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "GetUserPolicyInput"}
- if s.PolicyName == nil {
- invalidParams.Add(request.NewErrParamRequired("PolicyName"))
- }
- if s.PolicyName != nil && len(*s.PolicyName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("PolicyName", 1))
- }
- if s.UserName == nil {
- invalidParams.Add(request.NewErrParamRequired("UserName"))
- }
- if s.UserName != nil && len(*s.UserName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetPolicyName sets the PolicyName field's value.
-func (s *GetUserPolicyInput) SetPolicyName(v string) *GetUserPolicyInput {
- s.PolicyName = &v
- return s
-}
-
-// SetUserName sets the UserName field's value.
-func (s *GetUserPolicyInput) SetUserName(v string) *GetUserPolicyInput {
- s.UserName = &v
- return s
-}
-
-// Contains the response to a successful GetUserPolicy request.
-type GetUserPolicyOutput struct {
- _ struct{} `type:"structure"`
-
- // The policy document.
- //
- // IAM stores policies in JSON format. However, resources that were created
- // using AWS CloudFormation templates can be formatted in YAML. AWS CloudFormation
- // always converts a YAML policy to JSON format before submitting it to IAM.
- //
- // PolicyDocument is a required field
- PolicyDocument *string `min:"1" type:"string" required:"true"`
-
- // The name of the policy.
- //
- // PolicyName is a required field
- PolicyName *string `min:"1" type:"string" required:"true"`
-
- // The user the policy is associated with.
- //
- // UserName is a required field
- UserName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s GetUserPolicyOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GetUserPolicyOutput) GoString() string {
- return s.String()
-}
-
-// SetPolicyDocument sets the PolicyDocument field's value.
-func (s *GetUserPolicyOutput) SetPolicyDocument(v string) *GetUserPolicyOutput {
- s.PolicyDocument = &v
- return s
-}
-
-// SetPolicyName sets the PolicyName field's value.
-func (s *GetUserPolicyOutput) SetPolicyName(v string) *GetUserPolicyOutput {
- s.PolicyName = &v
- return s
-}
-
-// SetUserName sets the UserName field's value.
-func (s *GetUserPolicyOutput) SetUserName(v string) *GetUserPolicyOutput {
- s.UserName = &v
- return s
-}
-
-// Contains information about an IAM group entity.
-//
-// This data type is used as a response element in the following operations:
-//
-// * CreateGroup
-//
-// * GetGroup
-//
-// * ListGroups
-type Group struct {
- _ struct{} `type:"structure"`
-
- // The Amazon Resource Name (ARN) specifying the group. For more information
- // about ARNs and how to use them in policies, see IAM Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
- // in the IAM User Guide.
- //
- // Arn is a required field
- Arn *string `min:"20" type:"string" required:"true"`
-
- // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
- // when the group was created.
- //
- // CreateDate is a required field
- CreateDate *time.Time `type:"timestamp" required:"true"`
-
- // The stable and unique string identifying the group. For more information
- // about IDs, see IAM Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
- // in the IAM User Guide.
- //
- // GroupId is a required field
- GroupId *string `min:"16" type:"string" required:"true"`
-
- // The friendly name that identifies the group.
- //
- // GroupName is a required field
- GroupName *string `min:"1" type:"string" required:"true"`
-
- // The path to the group. For more information about paths, see IAM Identifiers
- // (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
- // in the IAM User Guide.
- //
- // Path is a required field
- Path *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s Group) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s Group) GoString() string {
- return s.String()
-}
-
-// SetArn sets the Arn field's value.
-func (s *Group) SetArn(v string) *Group {
- s.Arn = &v
- return s
-}
-
-// SetCreateDate sets the CreateDate field's value.
-func (s *Group) SetCreateDate(v time.Time) *Group {
- s.CreateDate = &v
- return s
-}
-
-// SetGroupId sets the GroupId field's value.
-func (s *Group) SetGroupId(v string) *Group {
- s.GroupId = &v
- return s
-}
-
-// SetGroupName sets the GroupName field's value.
-func (s *Group) SetGroupName(v string) *Group {
- s.GroupName = &v
- return s
-}
-
-// SetPath sets the Path field's value.
-func (s *Group) SetPath(v string) *Group {
- s.Path = &v
- return s
-}
-
-// Contains information about an IAM group, including all of the group's policies.
-//
-// This data type is used as a response element in the GetAccountAuthorizationDetails
-// operation.
-type GroupDetail struct {
- _ struct{} `type:"structure"`
-
- // The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.
- //
- // For more information about ARNs, go to 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.
- Arn *string `min:"20" type:"string"`
-
- // A list of the managed policies attached to the group.
- AttachedManagedPolicies []*AttachedPolicy `type:"list"`
-
- // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
- // when the group was created.
- CreateDate *time.Time `type:"timestamp"`
-
- // The stable and unique string identifying the group. For more information
- // about IDs, see IAM Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
- // in the IAM User Guide.
- GroupId *string `min:"16" type:"string"`
-
- // The friendly name that identifies the group.
- GroupName *string `min:"1" type:"string"`
-
- // A list of the inline policies embedded in the group.
- GroupPolicyList []*PolicyDetail `type:"list"`
-
- // The path to the group. For more information about paths, see IAM Identifiers
- // (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
- // in the IAM User Guide.
- Path *string `min:"1" type:"string"`
-}
-
-// String returns the string representation
-func (s GroupDetail) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s GroupDetail) GoString() string {
- return s.String()
-}
-
-// SetArn sets the Arn field's value.
-func (s *GroupDetail) SetArn(v string) *GroupDetail {
- s.Arn = &v
- return s
-}
-
-// SetAttachedManagedPolicies sets the AttachedManagedPolicies field's value.
-func (s *GroupDetail) SetAttachedManagedPolicies(v []*AttachedPolicy) *GroupDetail {
- s.AttachedManagedPolicies = v
- return s
-}
-
-// SetCreateDate sets the CreateDate field's value.
-func (s *GroupDetail) SetCreateDate(v time.Time) *GroupDetail {
- s.CreateDate = &v
- return s
-}
-
-// SetGroupId sets the GroupId field's value.
-func (s *GroupDetail) SetGroupId(v string) *GroupDetail {
- s.GroupId = &v
- return s
-}
-
-// SetGroupName sets the GroupName field's value.
-func (s *GroupDetail) SetGroupName(v string) *GroupDetail {
- s.GroupName = &v
- return s
-}
-
-// SetGroupPolicyList sets the GroupPolicyList field's value.
-func (s *GroupDetail) SetGroupPolicyList(v []*PolicyDetail) *GroupDetail {
- s.GroupPolicyList = v
- return s
-}
-
-// SetPath sets the Path field's value.
-func (s *GroupDetail) SetPath(v string) *GroupDetail {
- s.Path = &v
- return s
-}
-
-// Contains information about an instance profile.
-//
-// This data type is used as a response element in the following operations:
-//
-// * CreateInstanceProfile
-//
-// * GetInstanceProfile
-//
-// * ListInstanceProfiles
-//
-// * ListInstanceProfilesForRole
-type InstanceProfile struct {
- _ struct{} `type:"structure"`
-
- // The Amazon Resource Name (ARN) specifying the instance profile. For more
- // information about ARNs and how to use them in policies, see IAM Identifiers
- // (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
- // in the IAM User Guide.
- //
- // Arn is a required field
- Arn *string `min:"20" type:"string" required:"true"`
-
- // The date when the instance profile was created.
- //
- // CreateDate is a required field
- CreateDate *time.Time `type:"timestamp" required:"true"`
-
- // The stable and unique string identifying the instance profile. For more information
- // about IDs, see IAM Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
- // in the IAM User Guide.
- //
- // InstanceProfileId is a required field
- InstanceProfileId *string `min:"16" type:"string" required:"true"`
-
- // The name identifying the instance profile.
- //
- // InstanceProfileName is a required field
- InstanceProfileName *string `min:"1" type:"string" required:"true"`
-
- // The path to the instance profile. For more information about paths, see IAM
- // Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
- // in the IAM User Guide.
- //
- // Path is a required field
- Path *string `min:"1" type:"string" required:"true"`
-
- // The role associated with the instance profile.
- //
- // Roles is a required field
- Roles []*Role `type:"list" required:"true"`
-}
-
-// String returns the string representation
-func (s InstanceProfile) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s InstanceProfile) GoString() string {
- return s.String()
-}
-
-// SetArn sets the Arn field's value.
-func (s *InstanceProfile) SetArn(v string) *InstanceProfile {
- s.Arn = &v
- return s
-}
-
-// SetCreateDate sets the CreateDate field's value.
-func (s *InstanceProfile) SetCreateDate(v time.Time) *InstanceProfile {
- s.CreateDate = &v
- return s
-}
-
-// SetInstanceProfileId sets the InstanceProfileId field's value.
-func (s *InstanceProfile) SetInstanceProfileId(v string) *InstanceProfile {
- s.InstanceProfileId = &v
- return s
-}
-
-// SetInstanceProfileName sets the InstanceProfileName field's value.
-func (s *InstanceProfile) SetInstanceProfileName(v string) *InstanceProfile {
- s.InstanceProfileName = &v
- return s
-}
-
-// SetPath sets the Path field's value.
-func (s *InstanceProfile) SetPath(v string) *InstanceProfile {
- s.Path = &v
- return s
-}
-
-// SetRoles sets the Roles field's value.
-func (s *InstanceProfile) SetRoles(v []*Role) *InstanceProfile {
- s.Roles = v
- return s
-}
-
-type ListAccessKeysInput struct {
- _ struct{} `type:"structure"`
-
- // Use this parameter only when paginating results and only after you receive
- // a response indicating that the results are truncated. Set it to the value
- // of the Marker element in the response that you received to indicate where
- // the next call should start.
- Marker *string `min:"1" type:"string"`
-
- // Use this only when paginating results to indicate the maximum number of items
- // you want in the response. If additional items exist beyond the maximum you
- // specify, the IsTruncated response element is true.
- //
- // If you do not include this parameter, the number of items defaults to 100.
- // Note that IAM might return fewer results, even when there are more results
- // available. In that case, the IsTruncated response element returns true, and
- // Marker contains a value to include in the subsequent call that tells the
- // service where to continue from.
- MaxItems *int64 `min:"1" type:"integer"`
-
- // The name of the user.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- UserName *string `min:"1" type:"string"`
-}
-
-// String returns the string representation
-func (s ListAccessKeysInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListAccessKeysInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *ListAccessKeysInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListAccessKeysInput"}
- if s.Marker != nil && len(*s.Marker) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
- }
- if s.MaxItems != nil && *s.MaxItems < 1 {
- invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
- }
- if s.UserName != nil && len(*s.UserName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetMarker sets the Marker field's value.
-func (s *ListAccessKeysInput) SetMarker(v string) *ListAccessKeysInput {
- s.Marker = &v
- return s
-}
-
-// SetMaxItems sets the MaxItems field's value.
-func (s *ListAccessKeysInput) SetMaxItems(v int64) *ListAccessKeysInput {
- s.MaxItems = &v
- return s
-}
-
-// SetUserName sets the UserName field's value.
-func (s *ListAccessKeysInput) SetUserName(v string) *ListAccessKeysInput {
- s.UserName = &v
- return s
-}
-
-// Contains the response to a successful ListAccessKeys request.
-type ListAccessKeysOutput struct {
- _ struct{} `type:"structure"`
-
- // A list of objects containing metadata about the access keys.
- //
- // AccessKeyMetadata is a required field
- AccessKeyMetadata []*AccessKeyMetadata `type:"list" required:"true"`
-
- // A flag that indicates whether there are more items to return. If your results
- // were truncated, you can make a subsequent pagination request using the Marker
- // request parameter to retrieve more items. Note that IAM might return fewer
- // than the MaxItems number of results even when there are more results available.
- // We recommend that you check IsTruncated after every call to ensure that you
- // receive all your results.
- IsTruncated *bool `type:"boolean"`
-
- // When IsTruncated is true, this element is present and contains the value
- // to use for the Marker parameter in a subsequent pagination request.
- Marker *string `type:"string"`
-}
-
-// String returns the string representation
-func (s ListAccessKeysOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListAccessKeysOutput) GoString() string {
- return s.String()
-}
-
-// SetAccessKeyMetadata sets the AccessKeyMetadata field's value.
-func (s *ListAccessKeysOutput) SetAccessKeyMetadata(v []*AccessKeyMetadata) *ListAccessKeysOutput {
- s.AccessKeyMetadata = v
- return s
-}
-
-// SetIsTruncated sets the IsTruncated field's value.
-func (s *ListAccessKeysOutput) SetIsTruncated(v bool) *ListAccessKeysOutput {
- s.IsTruncated = &v
- return s
-}
-
-// SetMarker sets the Marker field's value.
-func (s *ListAccessKeysOutput) SetMarker(v string) *ListAccessKeysOutput {
- s.Marker = &v
- return s
-}
-
-type ListAccountAliasesInput struct {
- _ struct{} `type:"structure"`
-
- // Use this parameter only when paginating results and only after you receive
- // a response indicating that the results are truncated. Set it to the value
- // of the Marker element in the response that you received to indicate where
- // the next call should start.
- Marker *string `min:"1" type:"string"`
-
- // Use this only when paginating results to indicate the maximum number of items
- // you want in the response. If additional items exist beyond the maximum you
- // specify, the IsTruncated response element is true.
- //
- // If you do not include this parameter, the number of items defaults to 100.
- // Note that IAM might return fewer results, even when there are more results
- // available. In that case, the IsTruncated response element returns true, and
- // Marker contains a value to include in the subsequent call that tells the
- // service where to continue from.
- MaxItems *int64 `min:"1" type:"integer"`
-}
-
-// String returns the string representation
-func (s ListAccountAliasesInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListAccountAliasesInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *ListAccountAliasesInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListAccountAliasesInput"}
- if s.Marker != nil && len(*s.Marker) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
- }
- if s.MaxItems != nil && *s.MaxItems < 1 {
- invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetMarker sets the Marker field's value.
-func (s *ListAccountAliasesInput) SetMarker(v string) *ListAccountAliasesInput {
- s.Marker = &v
- return s
-}
-
-// SetMaxItems sets the MaxItems field's value.
-func (s *ListAccountAliasesInput) SetMaxItems(v int64) *ListAccountAliasesInput {
- s.MaxItems = &v
- return s
-}
-
-// Contains the response to a successful ListAccountAliases request.
-type ListAccountAliasesOutput struct {
- _ struct{} `type:"structure"`
-
- // A list of aliases associated with the account. AWS supports only one alias
- // per account.
- //
- // AccountAliases is a required field
- AccountAliases []*string `type:"list" required:"true"`
-
- // A flag that indicates whether there are more items to return. If your results
- // were truncated, you can make a subsequent pagination request using the Marker
- // request parameter to retrieve more items. Note that IAM might return fewer
- // than the MaxItems number of results even when there are more results available.
- // We recommend that you check IsTruncated after every call to ensure that you
- // receive all your results.
- IsTruncated *bool `type:"boolean"`
-
- // When IsTruncated is true, this element is present and contains the value
- // to use for the Marker parameter in a subsequent pagination request.
- Marker *string `type:"string"`
-}
-
-// String returns the string representation
-func (s ListAccountAliasesOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListAccountAliasesOutput) GoString() string {
- return s.String()
-}
-
-// SetAccountAliases sets the AccountAliases field's value.
-func (s *ListAccountAliasesOutput) SetAccountAliases(v []*string) *ListAccountAliasesOutput {
- s.AccountAliases = v
- return s
-}
-
-// SetIsTruncated sets the IsTruncated field's value.
-func (s *ListAccountAliasesOutput) SetIsTruncated(v bool) *ListAccountAliasesOutput {
- s.IsTruncated = &v
- return s
-}
-
-// SetMarker sets the Marker field's value.
-func (s *ListAccountAliasesOutput) SetMarker(v string) *ListAccountAliasesOutput {
- s.Marker = &v
- return s
-}
-
-type ListAttachedGroupPoliciesInput struct {
- _ struct{} `type:"structure"`
-
- // The name (friendly name, not ARN) of the group to list attached policies
- // for.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // GroupName is a required field
- GroupName *string `min:"1" type:"string" required:"true"`
-
- // Use this parameter only when paginating results and only after you receive
- // a response indicating that the results are truncated. Set it to the value
- // of the Marker element in the response that you received to indicate where
- // the next call should start.
- Marker *string `min:"1" type:"string"`
-
- // Use this only when paginating results to indicate the maximum number of items
- // you want in the response. If additional items exist beyond the maximum you
- // specify, the IsTruncated response element is true.
- //
- // If you do not include this parameter, the number of items defaults to 100.
- // Note that IAM might return fewer results, even when there are more results
- // available. In that case, the IsTruncated response element returns true, and
- // Marker contains a value to include in the subsequent call that tells the
- // service where to continue from.
- MaxItems *int64 `min:"1" type:"integer"`
-
- // The path prefix for filtering the results. This parameter is optional. If
- // it is not included, it defaults to a slash (/), listing all policies.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of either a forward slash (/) by itself
- // or a string that must begin and end with forward slashes. In addition, it
- // can contain any ASCII character from the ! (\u0021) through the DEL character
- // (\u007F), including most punctuation characters, digits, and upper and lowercased
- // letters.
- PathPrefix *string `min:"1" type:"string"`
-}
-
-// String returns the string representation
-func (s ListAttachedGroupPoliciesInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListAttachedGroupPoliciesInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *ListAttachedGroupPoliciesInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListAttachedGroupPoliciesInput"}
- if s.GroupName == nil {
- invalidParams.Add(request.NewErrParamRequired("GroupName"))
- }
- if s.GroupName != nil && len(*s.GroupName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("GroupName", 1))
- }
- if s.Marker != nil && len(*s.Marker) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
- }
- if s.MaxItems != nil && *s.MaxItems < 1 {
- invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
- }
- if s.PathPrefix != nil && len(*s.PathPrefix) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("PathPrefix", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetGroupName sets the GroupName field's value.
-func (s *ListAttachedGroupPoliciesInput) SetGroupName(v string) *ListAttachedGroupPoliciesInput {
- s.GroupName = &v
- return s
-}
-
-// SetMarker sets the Marker field's value.
-func (s *ListAttachedGroupPoliciesInput) SetMarker(v string) *ListAttachedGroupPoliciesInput {
- s.Marker = &v
- return s
-}
-
-// SetMaxItems sets the MaxItems field's value.
-func (s *ListAttachedGroupPoliciesInput) SetMaxItems(v int64) *ListAttachedGroupPoliciesInput {
- s.MaxItems = &v
- return s
-}
-
-// SetPathPrefix sets the PathPrefix field's value.
-func (s *ListAttachedGroupPoliciesInput) SetPathPrefix(v string) *ListAttachedGroupPoliciesInput {
- s.PathPrefix = &v
- return s
-}
-
-// Contains the response to a successful ListAttachedGroupPolicies request.
-type ListAttachedGroupPoliciesOutput struct {
- _ struct{} `type:"structure"`
-
- // A list of the attached policies.
- AttachedPolicies []*AttachedPolicy `type:"list"`
-
- // A flag that indicates whether there are more items to return. If your results
- // were truncated, you can make a subsequent pagination request using the Marker
- // request parameter to retrieve more items. Note that IAM might return fewer
- // than the MaxItems number of results even when there are more results available.
- // We recommend that you check IsTruncated after every call to ensure that you
- // receive all your results.
- IsTruncated *bool `type:"boolean"`
-
- // When IsTruncated is true, this element is present and contains the value
- // to use for the Marker parameter in a subsequent pagination request.
- Marker *string `type:"string"`
-}
-
-// String returns the string representation
-func (s ListAttachedGroupPoliciesOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListAttachedGroupPoliciesOutput) GoString() string {
- return s.String()
-}
-
-// SetAttachedPolicies sets the AttachedPolicies field's value.
-func (s *ListAttachedGroupPoliciesOutput) SetAttachedPolicies(v []*AttachedPolicy) *ListAttachedGroupPoliciesOutput {
- s.AttachedPolicies = v
- return s
-}
-
-// SetIsTruncated sets the IsTruncated field's value.
-func (s *ListAttachedGroupPoliciesOutput) SetIsTruncated(v bool) *ListAttachedGroupPoliciesOutput {
- s.IsTruncated = &v
- return s
-}
-
-// SetMarker sets the Marker field's value.
-func (s *ListAttachedGroupPoliciesOutput) SetMarker(v string) *ListAttachedGroupPoliciesOutput {
- s.Marker = &v
- return s
-}
-
-type ListAttachedRolePoliciesInput struct {
- _ struct{} `type:"structure"`
-
- // Use this parameter only when paginating results and only after you receive
- // a response indicating that the results are truncated. Set it to the value
- // of the Marker element in the response that you received to indicate where
- // the next call should start.
- Marker *string `min:"1" type:"string"`
-
- // Use this only when paginating results to indicate the maximum number of items
- // you want in the response. If additional items exist beyond the maximum you
- // specify, the IsTruncated response element is true.
- //
- // If you do not include this parameter, the number of items defaults to 100.
- // Note that IAM might return fewer results, even when there are more results
- // available. In that case, the IsTruncated response element returns true, and
- // Marker contains a value to include in the subsequent call that tells the
- // service where to continue from.
- MaxItems *int64 `min:"1" type:"integer"`
-
- // The path prefix for filtering the results. This parameter is optional. If
- // it is not included, it defaults to a slash (/), listing all policies.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of either a forward slash (/) by itself
- // or a string that must begin and end with forward slashes. In addition, it
- // can contain any ASCII character from the ! (\u0021) through the DEL character
- // (\u007F), including most punctuation characters, digits, and upper and lowercased
- // letters.
- PathPrefix *string `min:"1" type:"string"`
-
- // The name (friendly name, not ARN) of the role to list attached policies for.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // RoleName is a required field
- RoleName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s ListAttachedRolePoliciesInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListAttachedRolePoliciesInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *ListAttachedRolePoliciesInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListAttachedRolePoliciesInput"}
- if s.Marker != nil && len(*s.Marker) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
- }
- if s.MaxItems != nil && *s.MaxItems < 1 {
- invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
- }
- if s.PathPrefix != nil && len(*s.PathPrefix) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("PathPrefix", 1))
- }
- if s.RoleName == nil {
- invalidParams.Add(request.NewErrParamRequired("RoleName"))
- }
- if s.RoleName != nil && len(*s.RoleName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("RoleName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetMarker sets the Marker field's value.
-func (s *ListAttachedRolePoliciesInput) SetMarker(v string) *ListAttachedRolePoliciesInput {
- s.Marker = &v
- return s
-}
-
-// SetMaxItems sets the MaxItems field's value.
-func (s *ListAttachedRolePoliciesInput) SetMaxItems(v int64) *ListAttachedRolePoliciesInput {
- s.MaxItems = &v
- return s
-}
-
-// SetPathPrefix sets the PathPrefix field's value.
-func (s *ListAttachedRolePoliciesInput) SetPathPrefix(v string) *ListAttachedRolePoliciesInput {
- s.PathPrefix = &v
- return s
-}
-
-// SetRoleName sets the RoleName field's value.
-func (s *ListAttachedRolePoliciesInput) SetRoleName(v string) *ListAttachedRolePoliciesInput {
- s.RoleName = &v
- return s
-}
-
-// Contains the response to a successful ListAttachedRolePolicies request.
-type ListAttachedRolePoliciesOutput struct {
- _ struct{} `type:"structure"`
-
- // A list of the attached policies.
- AttachedPolicies []*AttachedPolicy `type:"list"`
-
- // A flag that indicates whether there are more items to return. If your results
- // were truncated, you can make a subsequent pagination request using the Marker
- // request parameter to retrieve more items. Note that IAM might return fewer
- // than the MaxItems number of results even when there are more results available.
- // We recommend that you check IsTruncated after every call to ensure that you
- // receive all your results.
- IsTruncated *bool `type:"boolean"`
-
- // When IsTruncated is true, this element is present and contains the value
- // to use for the Marker parameter in a subsequent pagination request.
- Marker *string `type:"string"`
-}
-
-// String returns the string representation
-func (s ListAttachedRolePoliciesOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListAttachedRolePoliciesOutput) GoString() string {
- return s.String()
-}
-
-// SetAttachedPolicies sets the AttachedPolicies field's value.
-func (s *ListAttachedRolePoliciesOutput) SetAttachedPolicies(v []*AttachedPolicy) *ListAttachedRolePoliciesOutput {
- s.AttachedPolicies = v
- return s
-}
-
-// SetIsTruncated sets the IsTruncated field's value.
-func (s *ListAttachedRolePoliciesOutput) SetIsTruncated(v bool) *ListAttachedRolePoliciesOutput {
- s.IsTruncated = &v
- return s
-}
-
-// SetMarker sets the Marker field's value.
-func (s *ListAttachedRolePoliciesOutput) SetMarker(v string) *ListAttachedRolePoliciesOutput {
- s.Marker = &v
- return s
-}
-
-type ListAttachedUserPoliciesInput struct {
- _ struct{} `type:"structure"`
-
- // Use this parameter only when paginating results and only after you receive
- // a response indicating that the results are truncated. Set it to the value
- // of the Marker element in the response that you received to indicate where
- // the next call should start.
- Marker *string `min:"1" type:"string"`
-
- // Use this only when paginating results to indicate the maximum number of items
- // you want in the response. If additional items exist beyond the maximum you
- // specify, the IsTruncated response element is true.
- //
- // If you do not include this parameter, the number of items defaults to 100.
- // Note that IAM might return fewer results, even when there are more results
- // available. In that case, the IsTruncated response element returns true, and
- // Marker contains a value to include in the subsequent call that tells the
- // service where to continue from.
- MaxItems *int64 `min:"1" type:"integer"`
-
- // The path prefix for filtering the results. This parameter is optional. If
- // it is not included, it defaults to a slash (/), listing all policies.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of either a forward slash (/) by itself
- // or a string that must begin and end with forward slashes. In addition, it
- // can contain any ASCII character from the ! (\u0021) through the DEL character
- // (\u007F), including most punctuation characters, digits, and upper and lowercased
- // letters.
- PathPrefix *string `min:"1" type:"string"`
-
- // The name (friendly name, not ARN) of the user to list attached policies for.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // UserName is a required field
- UserName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s ListAttachedUserPoliciesInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListAttachedUserPoliciesInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *ListAttachedUserPoliciesInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListAttachedUserPoliciesInput"}
- if s.Marker != nil && len(*s.Marker) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
- }
- if s.MaxItems != nil && *s.MaxItems < 1 {
- invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
- }
- if s.PathPrefix != nil && len(*s.PathPrefix) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("PathPrefix", 1))
- }
- if s.UserName == nil {
- invalidParams.Add(request.NewErrParamRequired("UserName"))
- }
- if s.UserName != nil && len(*s.UserName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetMarker sets the Marker field's value.
-func (s *ListAttachedUserPoliciesInput) SetMarker(v string) *ListAttachedUserPoliciesInput {
- s.Marker = &v
- return s
-}
-
-// SetMaxItems sets the MaxItems field's value.
-func (s *ListAttachedUserPoliciesInput) SetMaxItems(v int64) *ListAttachedUserPoliciesInput {
- s.MaxItems = &v
- return s
-}
-
-// SetPathPrefix sets the PathPrefix field's value.
-func (s *ListAttachedUserPoliciesInput) SetPathPrefix(v string) *ListAttachedUserPoliciesInput {
- s.PathPrefix = &v
- return s
-}
-
-// SetUserName sets the UserName field's value.
-func (s *ListAttachedUserPoliciesInput) SetUserName(v string) *ListAttachedUserPoliciesInput {
- s.UserName = &v
- return s
-}
-
-// Contains the response to a successful ListAttachedUserPolicies request.
-type ListAttachedUserPoliciesOutput struct {
- _ struct{} `type:"structure"`
-
- // A list of the attached policies.
- AttachedPolicies []*AttachedPolicy `type:"list"`
-
- // A flag that indicates whether there are more items to return. If your results
- // were truncated, you can make a subsequent pagination request using the Marker
- // request parameter to retrieve more items. Note that IAM might return fewer
- // than the MaxItems number of results even when there are more results available.
- // We recommend that you check IsTruncated after every call to ensure that you
- // receive all your results.
- IsTruncated *bool `type:"boolean"`
-
- // When IsTruncated is true, this element is present and contains the value
- // to use for the Marker parameter in a subsequent pagination request.
- Marker *string `type:"string"`
-}
-
-// String returns the string representation
-func (s ListAttachedUserPoliciesOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListAttachedUserPoliciesOutput) GoString() string {
- return s.String()
-}
-
-// SetAttachedPolicies sets the AttachedPolicies field's value.
-func (s *ListAttachedUserPoliciesOutput) SetAttachedPolicies(v []*AttachedPolicy) *ListAttachedUserPoliciesOutput {
- s.AttachedPolicies = v
- return s
-}
-
-// SetIsTruncated sets the IsTruncated field's value.
-func (s *ListAttachedUserPoliciesOutput) SetIsTruncated(v bool) *ListAttachedUserPoliciesOutput {
- s.IsTruncated = &v
- return s
-}
-
-// SetMarker sets the Marker field's value.
-func (s *ListAttachedUserPoliciesOutput) SetMarker(v string) *ListAttachedUserPoliciesOutput {
- s.Marker = &v
- return s
-}
-
-type ListEntitiesForPolicyInput struct {
- _ struct{} `type:"structure"`
-
- // The entity type to use for filtering the results.
- //
- // For example, when EntityFilter is Role, only the roles that are attached
- // to the specified policy are returned. This parameter is optional. If it is
- // not included, all attached entities (users, groups, and roles) are returned.
- // The argument for this parameter must be one of the valid values listed below.
- EntityFilter *string `type:"string" enum:"EntityType"`
-
- // Use this parameter only when paginating results and only after you receive
- // a response indicating that the results are truncated. Set it to the value
- // of the Marker element in the response that you received to indicate where
- // the next call should start.
- Marker *string `min:"1" type:"string"`
-
- // Use this only when paginating results to indicate the maximum number of items
- // you want in the response. If additional items exist beyond the maximum you
- // specify, the IsTruncated response element is true.
- //
- // If you do not include this parameter, the number of items defaults to 100.
- // Note that IAM might return fewer results, even when there are more results
- // available. In that case, the IsTruncated response element returns true, and
- // Marker contains a value to include in the subsequent call that tells the
- // service where to continue from.
- MaxItems *int64 `min:"1" type:"integer"`
-
- // The path prefix for filtering the results. This parameter is optional. If
- // it is not included, it defaults to a slash (/), listing all entities.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of either a forward slash (/) by itself
- // or a string that must begin and end with forward slashes. In addition, it
- // can contain any ASCII character from the ! (\u0021) through the DEL character
- // (\u007F), including most punctuation characters, digits, and upper and lowercased
- // letters.
- PathPrefix *string `min:"1" type:"string"`
-
- // The Amazon Resource Name (ARN) of the IAM policy for which you want the versions.
- //
- // 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"`
-
- // The policy usage method to use for filtering the results.
- //
- // To list only permissions policies, set PolicyUsageFilter to PermissionsPolicy.
- // To list only the policies used to set permissions boundaries, set the value
- // to PermissionsBoundary.
- //
- // This parameter is optional. If it is not included, all policies are returned.
- PolicyUsageFilter *string `type:"string" enum:"PolicyUsageType"`
-}
-
-// String returns the string representation
-func (s ListEntitiesForPolicyInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListEntitiesForPolicyInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *ListEntitiesForPolicyInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListEntitiesForPolicyInput"}
- if s.Marker != nil && len(*s.Marker) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
- }
- if s.MaxItems != nil && *s.MaxItems < 1 {
- invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
- }
- if s.PathPrefix != nil && len(*s.PathPrefix) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("PathPrefix", 1))
- }
- if s.PolicyArn == nil {
- invalidParams.Add(request.NewErrParamRequired("PolicyArn"))
- }
- if s.PolicyArn != nil && len(*s.PolicyArn) < 20 {
- invalidParams.Add(request.NewErrParamMinLen("PolicyArn", 20))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetEntityFilter sets the EntityFilter field's value.
-func (s *ListEntitiesForPolicyInput) SetEntityFilter(v string) *ListEntitiesForPolicyInput {
- s.EntityFilter = &v
- return s
-}
-
-// SetMarker sets the Marker field's value.
-func (s *ListEntitiesForPolicyInput) SetMarker(v string) *ListEntitiesForPolicyInput {
- s.Marker = &v
- return s
-}
-
-// SetMaxItems sets the MaxItems field's value.
-func (s *ListEntitiesForPolicyInput) SetMaxItems(v int64) *ListEntitiesForPolicyInput {
- s.MaxItems = &v
- return s
-}
-
-// SetPathPrefix sets the PathPrefix field's value.
-func (s *ListEntitiesForPolicyInput) SetPathPrefix(v string) *ListEntitiesForPolicyInput {
- s.PathPrefix = &v
- return s
-}
-
-// SetPolicyArn sets the PolicyArn field's value.
-func (s *ListEntitiesForPolicyInput) SetPolicyArn(v string) *ListEntitiesForPolicyInput {
- s.PolicyArn = &v
- return s
-}
-
-// SetPolicyUsageFilter sets the PolicyUsageFilter field's value.
-func (s *ListEntitiesForPolicyInput) SetPolicyUsageFilter(v string) *ListEntitiesForPolicyInput {
- s.PolicyUsageFilter = &v
- return s
-}
-
-// Contains the response to a successful ListEntitiesForPolicy request.
-type ListEntitiesForPolicyOutput struct {
- _ struct{} `type:"structure"`
-
- // A flag that indicates whether there are more items to return. If your results
- // were truncated, you can make a subsequent pagination request using the Marker
- // request parameter to retrieve more items. Note that IAM might return fewer
- // than the MaxItems number of results even when there are more results available.
- // We recommend that you check IsTruncated after every call to ensure that you
- // receive all your results.
- IsTruncated *bool `type:"boolean"`
-
- // When IsTruncated is true, this element is present and contains the value
- // to use for the Marker parameter in a subsequent pagination request.
- Marker *string `type:"string"`
-
- // A list of IAM groups that the policy is attached to.
- PolicyGroups []*PolicyGroup `type:"list"`
-
- // A list of IAM roles that the policy is attached to.
- PolicyRoles []*PolicyRole `type:"list"`
-
- // A list of IAM users that the policy is attached to.
- PolicyUsers []*PolicyUser `type:"list"`
-}
-
-// String returns the string representation
-func (s ListEntitiesForPolicyOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListEntitiesForPolicyOutput) GoString() string {
- return s.String()
-}
-
-// SetIsTruncated sets the IsTruncated field's value.
-func (s *ListEntitiesForPolicyOutput) SetIsTruncated(v bool) *ListEntitiesForPolicyOutput {
- s.IsTruncated = &v
- return s
-}
-
-// SetMarker sets the Marker field's value.
-func (s *ListEntitiesForPolicyOutput) SetMarker(v string) *ListEntitiesForPolicyOutput {
- s.Marker = &v
- return s
-}
-
-// SetPolicyGroups sets the PolicyGroups field's value.
-func (s *ListEntitiesForPolicyOutput) SetPolicyGroups(v []*PolicyGroup) *ListEntitiesForPolicyOutput {
- s.PolicyGroups = v
- return s
-}
-
-// SetPolicyRoles sets the PolicyRoles field's value.
-func (s *ListEntitiesForPolicyOutput) SetPolicyRoles(v []*PolicyRole) *ListEntitiesForPolicyOutput {
- s.PolicyRoles = v
- return s
-}
-
-// SetPolicyUsers sets the PolicyUsers field's value.
-func (s *ListEntitiesForPolicyOutput) SetPolicyUsers(v []*PolicyUser) *ListEntitiesForPolicyOutput {
- s.PolicyUsers = v
- return s
-}
-
-type ListGroupPoliciesInput struct {
- _ struct{} `type:"structure"`
-
- // The name of the group to list policies for.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // GroupName is a required field
- GroupName *string `min:"1" type:"string" required:"true"`
-
- // Use this parameter only when paginating results and only after you receive
- // a response indicating that the results are truncated. Set it to the value
- // of the Marker element in the response that you received to indicate where
- // the next call should start.
- Marker *string `min:"1" type:"string"`
-
- // Use this only when paginating results to indicate the maximum number of items
- // you want in the response. If additional items exist beyond the maximum you
- // specify, the IsTruncated response element is true.
- //
- // If you do not include this parameter, the number of items defaults to 100.
- // Note that IAM might return fewer results, even when there are more results
- // available. In that case, the IsTruncated response element returns true, and
- // Marker contains a value to include in the subsequent call that tells the
- // service where to continue from.
- MaxItems *int64 `min:"1" type:"integer"`
-}
-
-// String returns the string representation
-func (s ListGroupPoliciesInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListGroupPoliciesInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *ListGroupPoliciesInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListGroupPoliciesInput"}
- if s.GroupName == nil {
- invalidParams.Add(request.NewErrParamRequired("GroupName"))
- }
- if s.GroupName != nil && len(*s.GroupName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("GroupName", 1))
- }
- if s.Marker != nil && len(*s.Marker) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
- }
- if s.MaxItems != nil && *s.MaxItems < 1 {
- invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetGroupName sets the GroupName field's value.
-func (s *ListGroupPoliciesInput) SetGroupName(v string) *ListGroupPoliciesInput {
- s.GroupName = &v
- return s
-}
-
-// SetMarker sets the Marker field's value.
-func (s *ListGroupPoliciesInput) SetMarker(v string) *ListGroupPoliciesInput {
- s.Marker = &v
- return s
-}
-
-// SetMaxItems sets the MaxItems field's value.
-func (s *ListGroupPoliciesInput) SetMaxItems(v int64) *ListGroupPoliciesInput {
- s.MaxItems = &v
- return s
-}
-
-// Contains the response to a successful ListGroupPolicies request.
-type ListGroupPoliciesOutput struct {
- _ struct{} `type:"structure"`
-
- // A flag that indicates whether there are more items to return. If your results
- // were truncated, you can make a subsequent pagination request using the Marker
- // request parameter to retrieve more items. Note that IAM might return fewer
- // than the MaxItems number of results even when there are more results available.
- // We recommend that you check IsTruncated after every call to ensure that you
- // receive all your results.
- IsTruncated *bool `type:"boolean"`
-
- // When IsTruncated is true, this element is present and contains the value
- // to use for the Marker parameter in a subsequent pagination request.
- Marker *string `type:"string"`
-
- // A list of policy names.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // PolicyNames is a required field
- PolicyNames []*string `type:"list" required:"true"`
-}
-
-// String returns the string representation
-func (s ListGroupPoliciesOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListGroupPoliciesOutput) GoString() string {
- return s.String()
-}
-
-// SetIsTruncated sets the IsTruncated field's value.
-func (s *ListGroupPoliciesOutput) SetIsTruncated(v bool) *ListGroupPoliciesOutput {
- s.IsTruncated = &v
- return s
-}
-
-// SetMarker sets the Marker field's value.
-func (s *ListGroupPoliciesOutput) SetMarker(v string) *ListGroupPoliciesOutput {
- s.Marker = &v
- return s
-}
-
-// SetPolicyNames sets the PolicyNames field's value.
-func (s *ListGroupPoliciesOutput) SetPolicyNames(v []*string) *ListGroupPoliciesOutput {
- s.PolicyNames = v
- return s
-}
-
-type ListGroupsForUserInput struct {
- _ struct{} `type:"structure"`
-
- // Use this parameter only when paginating results and only after you receive
- // a response indicating that the results are truncated. Set it to the value
- // of the Marker element in the response that you received to indicate where
- // the next call should start.
- Marker *string `min:"1" type:"string"`
-
- // Use this only when paginating results to indicate the maximum number of items
- // you want in the response. If additional items exist beyond the maximum you
- // specify, the IsTruncated response element is true.
- //
- // If you do not include this parameter, the number of items defaults to 100.
- // Note that IAM might return fewer results, even when there are more results
- // available. In that case, the IsTruncated response element returns true, and
- // Marker contains a value to include in the subsequent call that tells the
- // service where to continue from.
- MaxItems *int64 `min:"1" type:"integer"`
-
- // The name of the user to list groups for.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // UserName is a required field
- UserName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s ListGroupsForUserInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListGroupsForUserInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *ListGroupsForUserInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListGroupsForUserInput"}
- if s.Marker != nil && len(*s.Marker) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
- }
- if s.MaxItems != nil && *s.MaxItems < 1 {
- invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
- }
- if s.UserName == nil {
- invalidParams.Add(request.NewErrParamRequired("UserName"))
- }
- if s.UserName != nil && len(*s.UserName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetMarker sets the Marker field's value.
-func (s *ListGroupsForUserInput) SetMarker(v string) *ListGroupsForUserInput {
- s.Marker = &v
- return s
-}
-
-// SetMaxItems sets the MaxItems field's value.
-func (s *ListGroupsForUserInput) SetMaxItems(v int64) *ListGroupsForUserInput {
- s.MaxItems = &v
- return s
-}
-
-// SetUserName sets the UserName field's value.
-func (s *ListGroupsForUserInput) SetUserName(v string) *ListGroupsForUserInput {
- s.UserName = &v
- return s
-}
-
-// Contains the response to a successful ListGroupsForUser request.
-type ListGroupsForUserOutput struct {
- _ struct{} `type:"structure"`
-
- // A list of groups.
- //
- // Groups is a required field
- Groups []*Group `type:"list" required:"true"`
-
- // A flag that indicates whether there are more items to return. If your results
- // were truncated, you can make a subsequent pagination request using the Marker
- // request parameter to retrieve more items. Note that IAM might return fewer
- // than the MaxItems number of results even when there are more results available.
- // We recommend that you check IsTruncated after every call to ensure that you
- // receive all your results.
- IsTruncated *bool `type:"boolean"`
-
- // When IsTruncated is true, this element is present and contains the value
- // to use for the Marker parameter in a subsequent pagination request.
- Marker *string `type:"string"`
-}
-
-// String returns the string representation
-func (s ListGroupsForUserOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListGroupsForUserOutput) GoString() string {
- return s.String()
-}
-
-// SetGroups sets the Groups field's value.
-func (s *ListGroupsForUserOutput) SetGroups(v []*Group) *ListGroupsForUserOutput {
- s.Groups = v
- return s
-}
-
-// SetIsTruncated sets the IsTruncated field's value.
-func (s *ListGroupsForUserOutput) SetIsTruncated(v bool) *ListGroupsForUserOutput {
- s.IsTruncated = &v
- return s
-}
-
-// SetMarker sets the Marker field's value.
-func (s *ListGroupsForUserOutput) SetMarker(v string) *ListGroupsForUserOutput {
- s.Marker = &v
- return s
-}
-
-type ListGroupsInput struct {
- _ struct{} `type:"structure"`
-
- // Use this parameter only when paginating results and only after you receive
- // a response indicating that the results are truncated. Set it to the value
- // of the Marker element in the response that you received to indicate where
- // the next call should start.
- Marker *string `min:"1" type:"string"`
-
- // Use this only when paginating results to indicate the maximum number of items
- // you want in the response. If additional items exist beyond the maximum you
- // specify, the IsTruncated response element is true.
- //
- // If you do not include this parameter, the number of items defaults to 100.
- // Note that IAM might return fewer results, even when there are more results
- // available. In that case, the IsTruncated response element returns true, and
- // Marker contains a value to include in the subsequent call that tells the
- // service where to continue from.
- MaxItems *int64 `min:"1" type:"integer"`
-
- // The path prefix for filtering the results. For example, the prefix /division_abc/subdivision_xyz/
- // gets all groups whose path starts with /division_abc/subdivision_xyz/.
- //
- // This parameter is optional. If it is not included, it defaults to a slash
- // (/), listing all groups. This parameter allows (through its regex pattern
- // (http://wikipedia.org/wiki/regex)) a string of characters consisting of either
- // a forward slash (/) by itself or a string that must begin and end with forward
- // slashes. In addition, it can contain any ASCII character from the ! (\u0021)
- // through the DEL character (\u007F), including most punctuation characters,
- // digits, and upper and lowercased letters.
- PathPrefix *string `min:"1" type:"string"`
-}
-
-// String returns the string representation
-func (s ListGroupsInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListGroupsInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *ListGroupsInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListGroupsInput"}
- if s.Marker != nil && len(*s.Marker) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
- }
- if s.MaxItems != nil && *s.MaxItems < 1 {
- invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
- }
- if s.PathPrefix != nil && len(*s.PathPrefix) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("PathPrefix", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetMarker sets the Marker field's value.
-func (s *ListGroupsInput) SetMarker(v string) *ListGroupsInput {
- s.Marker = &v
- return s
-}
-
-// SetMaxItems sets the MaxItems field's value.
-func (s *ListGroupsInput) SetMaxItems(v int64) *ListGroupsInput {
- s.MaxItems = &v
- return s
-}
-
-// SetPathPrefix sets the PathPrefix field's value.
-func (s *ListGroupsInput) SetPathPrefix(v string) *ListGroupsInput {
- s.PathPrefix = &v
- return s
-}
-
-// Contains the response to a successful ListGroups request.
-type ListGroupsOutput struct {
- _ struct{} `type:"structure"`
-
- // A list of groups.
- //
- // Groups is a required field
- Groups []*Group `type:"list" required:"true"`
-
- // A flag that indicates whether there are more items to return. If your results
- // were truncated, you can make a subsequent pagination request using the Marker
- // request parameter to retrieve more items. Note that IAM might return fewer
- // than the MaxItems number of results even when there are more results available.
- // We recommend that you check IsTruncated after every call to ensure that you
- // receive all your results.
- IsTruncated *bool `type:"boolean"`
-
- // When IsTruncated is true, this element is present and contains the value
- // to use for the Marker parameter in a subsequent pagination request.
- Marker *string `type:"string"`
-}
-
-// String returns the string representation
-func (s ListGroupsOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListGroupsOutput) GoString() string {
- return s.String()
-}
-
-// SetGroups sets the Groups field's value.
-func (s *ListGroupsOutput) SetGroups(v []*Group) *ListGroupsOutput {
- s.Groups = v
- return s
-}
-
-// SetIsTruncated sets the IsTruncated field's value.
-func (s *ListGroupsOutput) SetIsTruncated(v bool) *ListGroupsOutput {
- s.IsTruncated = &v
- return s
-}
-
-// SetMarker sets the Marker field's value.
-func (s *ListGroupsOutput) SetMarker(v string) *ListGroupsOutput {
- s.Marker = &v
- return s
-}
-
-type ListInstanceProfilesForRoleInput struct {
- _ struct{} `type:"structure"`
-
- // Use this parameter only when paginating results and only after you receive
- // a response indicating that the results are truncated. Set it to the value
- // of the Marker element in the response that you received to indicate where
- // the next call should start.
- Marker *string `min:"1" type:"string"`
-
- // Use this only when paginating results to indicate the maximum number of items
- // you want in the response. If additional items exist beyond the maximum you
- // specify, the IsTruncated response element is true.
- //
- // If you do not include this parameter, the number of items defaults to 100.
- // Note that IAM might return fewer results, even when there are more results
- // available. In that case, the IsTruncated response element returns true, and
- // Marker contains a value to include in the subsequent call that tells the
- // service where to continue from.
- MaxItems *int64 `min:"1" type:"integer"`
-
- // The name of the role to list instance profiles for.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // RoleName is a required field
- RoleName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s ListInstanceProfilesForRoleInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListInstanceProfilesForRoleInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *ListInstanceProfilesForRoleInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListInstanceProfilesForRoleInput"}
- if s.Marker != nil && len(*s.Marker) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
- }
- if s.MaxItems != nil && *s.MaxItems < 1 {
- invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
- }
- if s.RoleName == nil {
- invalidParams.Add(request.NewErrParamRequired("RoleName"))
- }
- if s.RoleName != nil && len(*s.RoleName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("RoleName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetMarker sets the Marker field's value.
-func (s *ListInstanceProfilesForRoleInput) SetMarker(v string) *ListInstanceProfilesForRoleInput {
- s.Marker = &v
- return s
-}
-
-// SetMaxItems sets the MaxItems field's value.
-func (s *ListInstanceProfilesForRoleInput) SetMaxItems(v int64) *ListInstanceProfilesForRoleInput {
- s.MaxItems = &v
- return s
-}
-
-// SetRoleName sets the RoleName field's value.
-func (s *ListInstanceProfilesForRoleInput) SetRoleName(v string) *ListInstanceProfilesForRoleInput {
- s.RoleName = &v
- return s
-}
-
-// Contains the response to a successful ListInstanceProfilesForRole request.
-type ListInstanceProfilesForRoleOutput struct {
- _ struct{} `type:"structure"`
-
- // A list of instance profiles.
- //
- // InstanceProfiles is a required field
- InstanceProfiles []*InstanceProfile `type:"list" required:"true"`
-
- // A flag that indicates whether there are more items to return. If your results
- // were truncated, you can make a subsequent pagination request using the Marker
- // request parameter to retrieve more items. Note that IAM might return fewer
- // than the MaxItems number of results even when there are more results available.
- // We recommend that you check IsTruncated after every call to ensure that you
- // receive all your results.
- IsTruncated *bool `type:"boolean"`
-
- // When IsTruncated is true, this element is present and contains the value
- // to use for the Marker parameter in a subsequent pagination request.
- Marker *string `type:"string"`
-}
-
-// String returns the string representation
-func (s ListInstanceProfilesForRoleOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListInstanceProfilesForRoleOutput) GoString() string {
- return s.String()
-}
-
-// SetInstanceProfiles sets the InstanceProfiles field's value.
-func (s *ListInstanceProfilesForRoleOutput) SetInstanceProfiles(v []*InstanceProfile) *ListInstanceProfilesForRoleOutput {
- s.InstanceProfiles = v
- return s
-}
-
-// SetIsTruncated sets the IsTruncated field's value.
-func (s *ListInstanceProfilesForRoleOutput) SetIsTruncated(v bool) *ListInstanceProfilesForRoleOutput {
- s.IsTruncated = &v
- return s
-}
-
-// SetMarker sets the Marker field's value.
-func (s *ListInstanceProfilesForRoleOutput) SetMarker(v string) *ListInstanceProfilesForRoleOutput {
- s.Marker = &v
- return s
-}
-
-type ListInstanceProfilesInput struct {
- _ struct{} `type:"structure"`
-
- // Use this parameter only when paginating results and only after you receive
- // a response indicating that the results are truncated. Set it to the value
- // of the Marker element in the response that you received to indicate where
- // the next call should start.
- Marker *string `min:"1" type:"string"`
-
- // Use this only when paginating results to indicate the maximum number of items
- // you want in the response. If additional items exist beyond the maximum you
- // specify, the IsTruncated response element is true.
- //
- // If you do not include this parameter, the number of items defaults to 100.
- // Note that IAM might return fewer results, even when there are more results
- // available. In that case, the IsTruncated response element returns true, and
- // Marker contains a value to include in the subsequent call that tells the
- // service where to continue from.
- MaxItems *int64 `min:"1" type:"integer"`
-
- // The path prefix for filtering the results. For example, the prefix /application_abc/component_xyz/
- // gets all instance profiles whose path starts with /application_abc/component_xyz/.
- //
- // This parameter is optional. If it is not included, it defaults to a slash
- // (/), listing all instance profiles. This parameter allows (through its regex
- // pattern (http://wikipedia.org/wiki/regex)) a string of characters consisting
- // of either a forward slash (/) by itself or a string that must begin and end
- // with forward slashes. In addition, it can contain any ASCII character from
- // the ! (\u0021) through the DEL character (\u007F), including most punctuation
- // characters, digits, and upper and lowercased letters.
- PathPrefix *string `min:"1" type:"string"`
-}
-
-// String returns the string representation
-func (s ListInstanceProfilesInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListInstanceProfilesInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *ListInstanceProfilesInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListInstanceProfilesInput"}
- if s.Marker != nil && len(*s.Marker) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
- }
- if s.MaxItems != nil && *s.MaxItems < 1 {
- invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
- }
- if s.PathPrefix != nil && len(*s.PathPrefix) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("PathPrefix", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetMarker sets the Marker field's value.
-func (s *ListInstanceProfilesInput) SetMarker(v string) *ListInstanceProfilesInput {
- s.Marker = &v
- return s
-}
-
-// SetMaxItems sets the MaxItems field's value.
-func (s *ListInstanceProfilesInput) SetMaxItems(v int64) *ListInstanceProfilesInput {
- s.MaxItems = &v
- return s
-}
-
-// SetPathPrefix sets the PathPrefix field's value.
-func (s *ListInstanceProfilesInput) SetPathPrefix(v string) *ListInstanceProfilesInput {
- s.PathPrefix = &v
- return s
-}
-
-// Contains the response to a successful ListInstanceProfiles request.
-type ListInstanceProfilesOutput struct {
- _ struct{} `type:"structure"`
-
- // A list of instance profiles.
- //
- // InstanceProfiles is a required field
- InstanceProfiles []*InstanceProfile `type:"list" required:"true"`
-
- // A flag that indicates whether there are more items to return. If your results
- // were truncated, you can make a subsequent pagination request using the Marker
- // request parameter to retrieve more items. Note that IAM might return fewer
- // than the MaxItems number of results even when there are more results available.
- // We recommend that you check IsTruncated after every call to ensure that you
- // receive all your results.
- IsTruncated *bool `type:"boolean"`
-
- // When IsTruncated is true, this element is present and contains the value
- // to use for the Marker parameter in a subsequent pagination request.
- Marker *string `type:"string"`
-}
-
-// String returns the string representation
-func (s ListInstanceProfilesOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListInstanceProfilesOutput) GoString() string {
- return s.String()
-}
-
-// SetInstanceProfiles sets the InstanceProfiles field's value.
-func (s *ListInstanceProfilesOutput) SetInstanceProfiles(v []*InstanceProfile) *ListInstanceProfilesOutput {
- s.InstanceProfiles = v
- return s
-}
-
-// SetIsTruncated sets the IsTruncated field's value.
-func (s *ListInstanceProfilesOutput) SetIsTruncated(v bool) *ListInstanceProfilesOutput {
- s.IsTruncated = &v
- return s
-}
-
-// SetMarker sets the Marker field's value.
-func (s *ListInstanceProfilesOutput) SetMarker(v string) *ListInstanceProfilesOutput {
- s.Marker = &v
- return s
-}
-
-type ListMFADevicesInput struct {
- _ struct{} `type:"structure"`
-
- // Use this parameter only when paginating results and only after you receive
- // a response indicating that the results are truncated. Set it to the value
- // of the Marker element in the response that you received to indicate where
- // the next call should start.
- Marker *string `min:"1" type:"string"`
-
- // Use this only when paginating results to indicate the maximum number of items
- // you want in the response. If additional items exist beyond the maximum you
- // specify, the IsTruncated response element is true.
- //
- // If you do not include this parameter, the number of items defaults to 100.
- // Note that IAM might return fewer results, even when there are more results
- // available. In that case, the IsTruncated response element returns true, and
- // Marker contains a value to include in the subsequent call that tells the
- // service where to continue from.
- MaxItems *int64 `min:"1" type:"integer"`
-
- // The name of the user whose MFA devices you want to list.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- UserName *string `min:"1" type:"string"`
-}
-
-// String returns the string representation
-func (s ListMFADevicesInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListMFADevicesInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *ListMFADevicesInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListMFADevicesInput"}
- if s.Marker != nil && len(*s.Marker) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
- }
- if s.MaxItems != nil && *s.MaxItems < 1 {
- invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
- }
- if s.UserName != nil && len(*s.UserName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetMarker sets the Marker field's value.
-func (s *ListMFADevicesInput) SetMarker(v string) *ListMFADevicesInput {
- s.Marker = &v
- return s
-}
-
-// SetMaxItems sets the MaxItems field's value.
-func (s *ListMFADevicesInput) SetMaxItems(v int64) *ListMFADevicesInput {
- s.MaxItems = &v
- return s
-}
-
-// SetUserName sets the UserName field's value.
-func (s *ListMFADevicesInput) SetUserName(v string) *ListMFADevicesInput {
- s.UserName = &v
- return s
-}
-
-// Contains the response to a successful ListMFADevices request.
-type ListMFADevicesOutput struct {
- _ struct{} `type:"structure"`
-
- // A flag that indicates whether there are more items to return. If your results
- // were truncated, you can make a subsequent pagination request using the Marker
- // request parameter to retrieve more items. Note that IAM might return fewer
- // than the MaxItems number of results even when there are more results available.
- // We recommend that you check IsTruncated after every call to ensure that you
- // receive all your results.
- IsTruncated *bool `type:"boolean"`
-
- // A list of MFA devices.
- //
- // MFADevices is a required field
- MFADevices []*MFADevice `type:"list" required:"true"`
-
- // When IsTruncated is true, this element is present and contains the value
- // to use for the Marker parameter in a subsequent pagination request.
- Marker *string `type:"string"`
-}
-
-// String returns the string representation
-func (s ListMFADevicesOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListMFADevicesOutput) GoString() string {
- return s.String()
-}
-
-// SetIsTruncated sets the IsTruncated field's value.
-func (s *ListMFADevicesOutput) SetIsTruncated(v bool) *ListMFADevicesOutput {
- s.IsTruncated = &v
- return s
-}
-
-// SetMFADevices sets the MFADevices field's value.
-func (s *ListMFADevicesOutput) SetMFADevices(v []*MFADevice) *ListMFADevicesOutput {
- s.MFADevices = v
- return s
-}
-
-// SetMarker sets the Marker field's value.
-func (s *ListMFADevicesOutput) SetMarker(v string) *ListMFADevicesOutput {
- s.Marker = &v
- return s
-}
-
-type ListOpenIDConnectProvidersInput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s ListOpenIDConnectProvidersInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListOpenIDConnectProvidersInput) GoString() string {
- return s.String()
-}
-
-// Contains the response to a successful ListOpenIDConnectProviders request.
-type ListOpenIDConnectProvidersOutput struct {
- _ struct{} `type:"structure"`
-
- // The list of IAM OIDC provider resource objects defined in the AWS account.
- OpenIDConnectProviderList []*OpenIDConnectProviderListEntry `type:"list"`
-}
-
-// String returns the string representation
-func (s ListOpenIDConnectProvidersOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListOpenIDConnectProvidersOutput) GoString() string {
- return s.String()
-}
-
-// SetOpenIDConnectProviderList sets the OpenIDConnectProviderList field's value.
-func (s *ListOpenIDConnectProvidersOutput) SetOpenIDConnectProviderList(v []*OpenIDConnectProviderListEntry) *ListOpenIDConnectProvidersOutput {
- s.OpenIDConnectProviderList = v
- return s
-}
-
-// Contains details about the permissions policies that are attached to the
-// specified identity (user, group, or role).
-//
-// This data type is used as a response element in the ListPoliciesGrantingServiceAccess
-// operation.
-type ListPoliciesGrantingServiceAccessEntry struct {
- _ struct{} `type:"structure"`
-
- // The PoliciesGrantingServiceAccess object that contains details about the
- // policy.
- Policies []*PolicyGrantingServiceAccess `type:"list"`
-
- // The namespace of the service that was accessed.
- //
- // To learn the service namespace of a service, go to Actions, Resources, and
- // Condition Keys for AWS Services (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_actions-resources-contextkeys.html)
- // in the IAM User Guide. Choose the name of the service to view details for
- // that service. In the first paragraph, find the service prefix. For example,
- // (service prefix: a4b). For more information about service namespaces, see
- // AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces)
- // in the AWS General Reference.
- ServiceNamespace *string `min:"1" type:"string"`
-}
-
-// String returns the string representation
-func (s ListPoliciesGrantingServiceAccessEntry) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListPoliciesGrantingServiceAccessEntry) GoString() string {
- return s.String()
-}
-
-// SetPolicies sets the Policies field's value.
-func (s *ListPoliciesGrantingServiceAccessEntry) SetPolicies(v []*PolicyGrantingServiceAccess) *ListPoliciesGrantingServiceAccessEntry {
- s.Policies = v
- return s
-}
-
-// SetServiceNamespace sets the ServiceNamespace field's value.
-func (s *ListPoliciesGrantingServiceAccessEntry) SetServiceNamespace(v string) *ListPoliciesGrantingServiceAccessEntry {
- s.ServiceNamespace = &v
- return s
-}
-
-type ListPoliciesGrantingServiceAccessInput struct {
- _ struct{} `type:"structure"`
-
- // The ARN of the IAM identity (user, group, or role) whose policies you want
- // to list.
- //
- // Arn is a required field
- Arn *string `min:"20" type:"string" required:"true"`
-
- // Use this parameter only when paginating results and only after you receive
- // a response indicating that the results are truncated. Set it to the value
- // of the Marker element in the response that you received to indicate where
- // the next call should start.
- Marker *string `min:"1" type:"string"`
-
- // The service namespace for the AWS services whose policies you want to list.
- //
- // To learn the service namespace for a service, go to Actions, Resources, and
- // Condition Keys for AWS Services (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_actions-resources-contextkeys.html)
- // in the IAM User Guide. Choose the name of the service to view details for
- // that service. In the first paragraph, find the service prefix. For example,
- // (service prefix: a4b). For more information about service namespaces, see
- // AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces)
- // in the AWS General Reference.
- //
- // ServiceNamespaces is a required field
- ServiceNamespaces []*string `min:"1" type:"list" required:"true"`
-}
-
-// String returns the string representation
-func (s ListPoliciesGrantingServiceAccessInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListPoliciesGrantingServiceAccessInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *ListPoliciesGrantingServiceAccessInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListPoliciesGrantingServiceAccessInput"}
- if s.Arn == nil {
- invalidParams.Add(request.NewErrParamRequired("Arn"))
- }
- if s.Arn != nil && len(*s.Arn) < 20 {
- invalidParams.Add(request.NewErrParamMinLen("Arn", 20))
- }
- if s.Marker != nil && len(*s.Marker) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
- }
- if s.ServiceNamespaces == nil {
- invalidParams.Add(request.NewErrParamRequired("ServiceNamespaces"))
- }
- if s.ServiceNamespaces != nil && len(s.ServiceNamespaces) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("ServiceNamespaces", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetArn sets the Arn field's value.
-func (s *ListPoliciesGrantingServiceAccessInput) SetArn(v string) *ListPoliciesGrantingServiceAccessInput {
- s.Arn = &v
- return s
-}
-
-// SetMarker sets the Marker field's value.
-func (s *ListPoliciesGrantingServiceAccessInput) SetMarker(v string) *ListPoliciesGrantingServiceAccessInput {
- s.Marker = &v
- return s
-}
-
-// SetServiceNamespaces sets the ServiceNamespaces field's value.
-func (s *ListPoliciesGrantingServiceAccessInput) SetServiceNamespaces(v []*string) *ListPoliciesGrantingServiceAccessInput {
- s.ServiceNamespaces = v
- return s
-}
-
-type ListPoliciesGrantingServiceAccessOutput struct {
- _ struct{} `type:"structure"`
-
- // A flag that indicates whether there are more items to return. If your results
- // were truncated, you can make a subsequent pagination request using the Marker
- // request parameter to retrieve more items. We recommend that you check IsTruncated
- // after every call to ensure that you receive all your results.
- IsTruncated *bool `type:"boolean"`
-
- // When IsTruncated is true, this element is present and contains the value
- // to use for the Marker parameter in a subsequent pagination request.
- Marker *string `type:"string"`
-
- // A ListPoliciesGrantingServiceAccess object that contains details about the
- // permissions policies attached to the specified identity (user, group, or
- // role).
- //
- // PoliciesGrantingServiceAccess is a required field
- PoliciesGrantingServiceAccess []*ListPoliciesGrantingServiceAccessEntry `type:"list" required:"true"`
-}
-
-// String returns the string representation
-func (s ListPoliciesGrantingServiceAccessOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListPoliciesGrantingServiceAccessOutput) GoString() string {
- return s.String()
-}
-
-// SetIsTruncated sets the IsTruncated field's value.
-func (s *ListPoliciesGrantingServiceAccessOutput) SetIsTruncated(v bool) *ListPoliciesGrantingServiceAccessOutput {
- s.IsTruncated = &v
- return s
-}
-
-// SetMarker sets the Marker field's value.
-func (s *ListPoliciesGrantingServiceAccessOutput) SetMarker(v string) *ListPoliciesGrantingServiceAccessOutput {
- s.Marker = &v
- return s
-}
-
-// SetPoliciesGrantingServiceAccess sets the PoliciesGrantingServiceAccess field's value.
-func (s *ListPoliciesGrantingServiceAccessOutput) SetPoliciesGrantingServiceAccess(v []*ListPoliciesGrantingServiceAccessEntry) *ListPoliciesGrantingServiceAccessOutput {
- s.PoliciesGrantingServiceAccess = v
- return s
-}
-
-type ListPoliciesInput struct {
- _ struct{} `type:"structure"`
-
- // Use this parameter only when paginating results and only after you receive
- // a response indicating that the results are truncated. Set it to the value
- // of the Marker element in the response that you received to indicate where
- // the next call should start.
- Marker *string `min:"1" type:"string"`
-
- // Use this only when paginating results to indicate the maximum number of items
- // you want in the response. If additional items exist beyond the maximum you
- // specify, the IsTruncated response element is true.
- //
- // If you do not include this parameter, the number of items defaults to 100.
- // Note that IAM might return fewer results, even when there are more results
- // available. In that case, the IsTruncated response element returns true, and
- // Marker contains a value to include in the subsequent call that tells the
- // service where to continue from.
- MaxItems *int64 `min:"1" type:"integer"`
-
- // A flag to filter the results to only the attached policies.
- //
- // When OnlyAttached is true, the returned list contains only the policies that
- // are attached to an IAM user, group, or role. When OnlyAttached is false,
- // or when the parameter is not included, all policies are returned.
- OnlyAttached *bool `type:"boolean"`
-
- // The path prefix for filtering the results. This parameter is optional. If
- // it is not included, it defaults to a slash (/), listing all policies. This
- // parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of either a forward slash (/) by itself
- // or a string that must begin and end with forward slashes. In addition, it
- // can contain any ASCII character from the ! (\u0021) through the DEL character
- // (\u007F), including most punctuation characters, digits, and upper and lowercased
- // letters.
- PathPrefix *string `min:"1" type:"string"`
-
- // The policy usage method to use for filtering the results.
- //
- // To list only permissions policies, set PolicyUsageFilter to PermissionsPolicy.
- // To list only the policies used to set permissions boundaries, set the value
- // to PermissionsBoundary.
- //
- // This parameter is optional. If it is not included, all policies are returned.
- PolicyUsageFilter *string `type:"string" enum:"PolicyUsageType"`
-
- // The scope to use for filtering the results.
- //
- // To list only AWS managed policies, set Scope to AWS. To list only the customer
- // managed policies in your AWS account, set Scope to Local.
- //
- // This parameter is optional. If it is not included, or if it is set to All,
- // all policies are returned.
- Scope *string `type:"string" enum:"policyScopeType"`
-}
-
-// String returns the string representation
-func (s ListPoliciesInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListPoliciesInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *ListPoliciesInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListPoliciesInput"}
- if s.Marker != nil && len(*s.Marker) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
- }
- if s.MaxItems != nil && *s.MaxItems < 1 {
- invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
- }
- if s.PathPrefix != nil && len(*s.PathPrefix) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("PathPrefix", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetMarker sets the Marker field's value.
-func (s *ListPoliciesInput) SetMarker(v string) *ListPoliciesInput {
- s.Marker = &v
- return s
-}
-
-// SetMaxItems sets the MaxItems field's value.
-func (s *ListPoliciesInput) SetMaxItems(v int64) *ListPoliciesInput {
- s.MaxItems = &v
- return s
-}
-
-// SetOnlyAttached sets the OnlyAttached field's value.
-func (s *ListPoliciesInput) SetOnlyAttached(v bool) *ListPoliciesInput {
- s.OnlyAttached = &v
- return s
-}
-
-// SetPathPrefix sets the PathPrefix field's value.
-func (s *ListPoliciesInput) SetPathPrefix(v string) *ListPoliciesInput {
- s.PathPrefix = &v
- return s
-}
-
-// SetPolicyUsageFilter sets the PolicyUsageFilter field's value.
-func (s *ListPoliciesInput) SetPolicyUsageFilter(v string) *ListPoliciesInput {
- s.PolicyUsageFilter = &v
- return s
-}
-
-// SetScope sets the Scope field's value.
-func (s *ListPoliciesInput) SetScope(v string) *ListPoliciesInput {
- s.Scope = &v
- return s
-}
-
-// Contains the response to a successful ListPolicies request.
-type ListPoliciesOutput struct {
- _ struct{} `type:"structure"`
-
- // A flag that indicates whether there are more items to return. If your results
- // were truncated, you can make a subsequent pagination request using the Marker
- // request parameter to retrieve more items. Note that IAM might return fewer
- // than the MaxItems number of results even when there are more results available.
- // We recommend that you check IsTruncated after every call to ensure that you
- // receive all your results.
- IsTruncated *bool `type:"boolean"`
-
- // When IsTruncated is true, this element is present and contains the value
- // to use for the Marker parameter in a subsequent pagination request.
- Marker *string `type:"string"`
-
- // A list of policies.
- Policies []*Policy `type:"list"`
-}
-
-// String returns the string representation
-func (s ListPoliciesOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListPoliciesOutput) GoString() string {
- return s.String()
-}
-
-// SetIsTruncated sets the IsTruncated field's value.
-func (s *ListPoliciesOutput) SetIsTruncated(v bool) *ListPoliciesOutput {
- s.IsTruncated = &v
- return s
-}
-
-// SetMarker sets the Marker field's value.
-func (s *ListPoliciesOutput) SetMarker(v string) *ListPoliciesOutput {
- s.Marker = &v
- return s
-}
-
-// SetPolicies sets the Policies field's value.
-func (s *ListPoliciesOutput) SetPolicies(v []*Policy) *ListPoliciesOutput {
- s.Policies = v
- return s
-}
-
-type ListPolicyVersionsInput struct {
- _ struct{} `type:"structure"`
-
- // Use this parameter only when paginating results and only after you receive
- // a response indicating that the results are truncated. Set it to the value
- // of the Marker element in the response that you received to indicate where
- // the next call should start.
- Marker *string `min:"1" type:"string"`
-
- // Use this only when paginating results to indicate the maximum number of items
- // you want in the response. If additional items exist beyond the maximum you
- // specify, the IsTruncated response element is true.
- //
- // If you do not include this parameter, the number of items defaults to 100.
- // Note that IAM might return fewer results, even when there are more results
- // available. In that case, the IsTruncated response element returns true, and
- // Marker contains a value to include in the subsequent call that tells the
- // service where to continue from.
- MaxItems *int64 `min:"1" type:"integer"`
-
- // The Amazon Resource Name (ARN) of the IAM policy for which you want the versions.
- //
- // 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 ListPolicyVersionsInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListPolicyVersionsInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *ListPolicyVersionsInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListPolicyVersionsInput"}
- if s.Marker != nil && len(*s.Marker) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
- }
- if s.MaxItems != nil && *s.MaxItems < 1 {
- invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
- }
- if s.PolicyArn == nil {
- invalidParams.Add(request.NewErrParamRequired("PolicyArn"))
- }
- if s.PolicyArn != nil && len(*s.PolicyArn) < 20 {
- invalidParams.Add(request.NewErrParamMinLen("PolicyArn", 20))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetMarker sets the Marker field's value.
-func (s *ListPolicyVersionsInput) SetMarker(v string) *ListPolicyVersionsInput {
- s.Marker = &v
- return s
-}
-
-// SetMaxItems sets the MaxItems field's value.
-func (s *ListPolicyVersionsInput) SetMaxItems(v int64) *ListPolicyVersionsInput {
- s.MaxItems = &v
- return s
-}
-
-// SetPolicyArn sets the PolicyArn field's value.
-func (s *ListPolicyVersionsInput) SetPolicyArn(v string) *ListPolicyVersionsInput {
- s.PolicyArn = &v
- return s
-}
-
-// Contains the response to a successful ListPolicyVersions request.
-type ListPolicyVersionsOutput struct {
- _ struct{} `type:"structure"`
-
- // A flag that indicates whether there are more items to return. If your results
- // were truncated, you can make a subsequent pagination request using the Marker
- // request parameter to retrieve more items. Note that IAM might return fewer
- // than the MaxItems number of results even when there are more results available.
- // We recommend that you check IsTruncated after every call to ensure that you
- // receive all your results.
- IsTruncated *bool `type:"boolean"`
-
- // When IsTruncated is true, this element is present and contains the value
- // to use for the Marker parameter in a subsequent pagination request.
- Marker *string `type:"string"`
-
- // A list of policy versions.
- //
- // For more information about managed policy versions, see Versioning for Managed
- // Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html)
- // in the IAM User Guide.
- Versions []*PolicyVersion `type:"list"`
-}
-
-// String returns the string representation
-func (s ListPolicyVersionsOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListPolicyVersionsOutput) GoString() string {
- return s.String()
-}
-
-// SetIsTruncated sets the IsTruncated field's value.
-func (s *ListPolicyVersionsOutput) SetIsTruncated(v bool) *ListPolicyVersionsOutput {
- s.IsTruncated = &v
- return s
-}
-
-// SetMarker sets the Marker field's value.
-func (s *ListPolicyVersionsOutput) SetMarker(v string) *ListPolicyVersionsOutput {
- s.Marker = &v
- return s
-}
-
-// SetVersions sets the Versions field's value.
-func (s *ListPolicyVersionsOutput) SetVersions(v []*PolicyVersion) *ListPolicyVersionsOutput {
- s.Versions = v
- return s
-}
-
-type ListRolePoliciesInput struct {
- _ struct{} `type:"structure"`
-
- // Use this parameter only when paginating results and only after you receive
- // a response indicating that the results are truncated. Set it to the value
- // of the Marker element in the response that you received to indicate where
- // the next call should start.
- Marker *string `min:"1" type:"string"`
-
- // Use this only when paginating results to indicate the maximum number of items
- // you want in the response. If additional items exist beyond the maximum you
- // specify, the IsTruncated response element is true.
- //
- // If you do not include this parameter, the number of items defaults to 100.
- // Note that IAM might return fewer results, even when there are more results
- // available. In that case, the IsTruncated response element returns true, and
- // Marker contains a value to include in the subsequent call that tells the
- // service where to continue from.
- MaxItems *int64 `min:"1" type:"integer"`
-
- // The name of the role to list policies for.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // RoleName is a required field
- RoleName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s ListRolePoliciesInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListRolePoliciesInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *ListRolePoliciesInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListRolePoliciesInput"}
- if s.Marker != nil && len(*s.Marker) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
- }
- if s.MaxItems != nil && *s.MaxItems < 1 {
- invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
- }
- if s.RoleName == nil {
- invalidParams.Add(request.NewErrParamRequired("RoleName"))
- }
- if s.RoleName != nil && len(*s.RoleName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("RoleName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetMarker sets the Marker field's value.
-func (s *ListRolePoliciesInput) SetMarker(v string) *ListRolePoliciesInput {
- s.Marker = &v
- return s
-}
-
-// SetMaxItems sets the MaxItems field's value.
-func (s *ListRolePoliciesInput) SetMaxItems(v int64) *ListRolePoliciesInput {
- s.MaxItems = &v
- return s
-}
-
-// SetRoleName sets the RoleName field's value.
-func (s *ListRolePoliciesInput) SetRoleName(v string) *ListRolePoliciesInput {
- s.RoleName = &v
- return s
-}
-
-// Contains the response to a successful ListRolePolicies request.
-type ListRolePoliciesOutput struct {
- _ struct{} `type:"structure"`
-
- // A flag that indicates whether there are more items to return. If your results
- // were truncated, you can make a subsequent pagination request using the Marker
- // request parameter to retrieve more items. Note that IAM might return fewer
- // than the MaxItems number of results even when there are more results available.
- // We recommend that you check IsTruncated after every call to ensure that you
- // receive all your results.
- IsTruncated *bool `type:"boolean"`
-
- // When IsTruncated is true, this element is present and contains the value
- // to use for the Marker parameter in a subsequent pagination request.
- Marker *string `type:"string"`
-
- // A list of policy names.
- //
- // PolicyNames is a required field
- PolicyNames []*string `type:"list" required:"true"`
-}
-
-// String returns the string representation
-func (s ListRolePoliciesOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListRolePoliciesOutput) GoString() string {
- return s.String()
-}
-
-// SetIsTruncated sets the IsTruncated field's value.
-func (s *ListRolePoliciesOutput) SetIsTruncated(v bool) *ListRolePoliciesOutput {
- s.IsTruncated = &v
- return s
-}
-
-// SetMarker sets the Marker field's value.
-func (s *ListRolePoliciesOutput) SetMarker(v string) *ListRolePoliciesOutput {
- s.Marker = &v
- return s
-}
-
-// SetPolicyNames sets the PolicyNames field's value.
-func (s *ListRolePoliciesOutput) SetPolicyNames(v []*string) *ListRolePoliciesOutput {
- s.PolicyNames = v
- return s
-}
-
-type ListRoleTagsInput struct {
- _ struct{} `type:"structure"`
-
- // Use this parameter only when paginating results and only after you receive
- // a response indicating that the results are truncated. Set it to the value
- // of the Marker element in the response that you received to indicate where
- // the next call should start.
- Marker *string `min:"1" type:"string"`
-
- // (Optional) Use this only when paginating results to indicate the maximum
- // number of items that you want in the response. If additional items exist
- // beyond the maximum that you specify, the IsTruncated response element is
- // true.
- //
- // If you do not include this parameter, it defaults to 100. Note that IAM might
- // return fewer results, even when more results are available. In that case,
- // the IsTruncated response element returns true, and Marker contains a value
- // to include in the subsequent call that tells the service where to continue
- // from.
- MaxItems *int64 `min:"1" type:"integer"`
-
- // The name of the IAM role for which you want to see the list of tags.
- //
- // This parameter accepts (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters that consist of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // RoleName is a required field
- RoleName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s ListRoleTagsInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListRoleTagsInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *ListRoleTagsInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListRoleTagsInput"}
- if s.Marker != nil && len(*s.Marker) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
- }
- if s.MaxItems != nil && *s.MaxItems < 1 {
- invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
- }
- if s.RoleName == nil {
- invalidParams.Add(request.NewErrParamRequired("RoleName"))
- }
- if s.RoleName != nil && len(*s.RoleName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("RoleName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetMarker sets the Marker field's value.
-func (s *ListRoleTagsInput) SetMarker(v string) *ListRoleTagsInput {
- s.Marker = &v
- return s
-}
-
-// SetMaxItems sets the MaxItems field's value.
-func (s *ListRoleTagsInput) SetMaxItems(v int64) *ListRoleTagsInput {
- s.MaxItems = &v
- return s
-}
-
-// SetRoleName sets the RoleName field's value.
-func (s *ListRoleTagsInput) SetRoleName(v string) *ListRoleTagsInput {
- s.RoleName = &v
- return s
-}
-
-type ListRoleTagsOutput struct {
- _ struct{} `type:"structure"`
-
- // A flag that indicates whether there are more items to return. If your results
- // were truncated, you can use the Marker request parameter to make a subsequent
- // pagination request that retrieves more items. Note that IAM might return
- // fewer than the MaxItems number of results even when more results are available.
- // Check IsTruncated after every call to ensure that you receive all of your
- // results.
- IsTruncated *bool `type:"boolean"`
-
- // When IsTruncated is true, this element is present and contains the value
- // to use for the Marker parameter in a subsequent pagination request.
- Marker *string `type:"string"`
-
- // The list of tags currently that is attached to the role. Each tag consists
- // of a key name and an associated value. If no tags are attached to the specified
- // role, the response contains an empty list.
- //
- // Tags is a required field
- Tags []*Tag `type:"list" required:"true"`
-}
-
-// String returns the string representation
-func (s ListRoleTagsOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListRoleTagsOutput) GoString() string {
- return s.String()
-}
-
-// SetIsTruncated sets the IsTruncated field's value.
-func (s *ListRoleTagsOutput) SetIsTruncated(v bool) *ListRoleTagsOutput {
- s.IsTruncated = &v
- return s
-}
-
-// SetMarker sets the Marker field's value.
-func (s *ListRoleTagsOutput) SetMarker(v string) *ListRoleTagsOutput {
- s.Marker = &v
- return s
-}
-
-// SetTags sets the Tags field's value.
-func (s *ListRoleTagsOutput) SetTags(v []*Tag) *ListRoleTagsOutput {
- s.Tags = v
- return s
-}
-
-type ListRolesInput struct {
- _ struct{} `type:"structure"`
-
- // Use this parameter only when paginating results and only after you receive
- // a response indicating that the results are truncated. Set it to the value
- // of the Marker element in the response that you received to indicate where
- // the next call should start.
- Marker *string `min:"1" type:"string"`
-
- // Use this only when paginating results to indicate the maximum number of items
- // you want in the response. If additional items exist beyond the maximum you
- // specify, the IsTruncated response element is true.
- //
- // If you do not include this parameter, the number of items defaults to 100.
- // Note that IAM might return fewer results, even when there are more results
- // available. In that case, the IsTruncated response element returns true, and
- // Marker contains a value to include in the subsequent call that tells the
- // service where to continue from.
- MaxItems *int64 `min:"1" type:"integer"`
-
- // The path prefix for filtering the results. For example, the prefix /application_abc/component_xyz/
- // gets all roles whose path starts with /application_abc/component_xyz/.
- //
- // This parameter is optional. If it is not included, it defaults to a slash
- // (/), listing all roles. This parameter allows (through its regex pattern
- // (http://wikipedia.org/wiki/regex)) a string of characters consisting of either
- // a forward slash (/) by itself or a string that must begin and end with forward
- // slashes. In addition, it can contain any ASCII character from the ! (\u0021)
- // through the DEL character (\u007F), including most punctuation characters,
- // digits, and upper and lowercased letters.
- PathPrefix *string `min:"1" type:"string"`
-}
-
-// String returns the string representation
-func (s ListRolesInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListRolesInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *ListRolesInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListRolesInput"}
- if s.Marker != nil && len(*s.Marker) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
- }
- if s.MaxItems != nil && *s.MaxItems < 1 {
- invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
- }
- if s.PathPrefix != nil && len(*s.PathPrefix) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("PathPrefix", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetMarker sets the Marker field's value.
-func (s *ListRolesInput) SetMarker(v string) *ListRolesInput {
- s.Marker = &v
- return s
-}
-
-// SetMaxItems sets the MaxItems field's value.
-func (s *ListRolesInput) SetMaxItems(v int64) *ListRolesInput {
- s.MaxItems = &v
- return s
-}
-
-// SetPathPrefix sets the PathPrefix field's value.
-func (s *ListRolesInput) SetPathPrefix(v string) *ListRolesInput {
- s.PathPrefix = &v
- return s
-}
-
-// Contains the response to a successful ListRoles request.
-type ListRolesOutput struct {
- _ struct{} `type:"structure"`
-
- // A flag that indicates whether there are more items to return. If your results
- // were truncated, you can make a subsequent pagination request using the Marker
- // request parameter to retrieve more items. Note that IAM might return fewer
- // than the MaxItems number of results even when there are more results available.
- // We recommend that you check IsTruncated after every call to ensure that you
- // receive all your results.
- IsTruncated *bool `type:"boolean"`
-
- // When IsTruncated is true, this element is present and contains the value
- // to use for the Marker parameter in a subsequent pagination request.
- Marker *string `type:"string"`
-
- // A list of roles.
- //
- // Roles is a required field
- Roles []*Role `type:"list" required:"true"`
-}
-
-// String returns the string representation
-func (s ListRolesOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListRolesOutput) GoString() string {
- return s.String()
-}
-
-// SetIsTruncated sets the IsTruncated field's value.
-func (s *ListRolesOutput) SetIsTruncated(v bool) *ListRolesOutput {
- s.IsTruncated = &v
- return s
-}
-
-// SetMarker sets the Marker field's value.
-func (s *ListRolesOutput) SetMarker(v string) *ListRolesOutput {
- s.Marker = &v
- return s
-}
-
-// SetRoles sets the Roles field's value.
-func (s *ListRolesOutput) SetRoles(v []*Role) *ListRolesOutput {
- s.Roles = v
- return s
-}
-
-type ListSAMLProvidersInput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s ListSAMLProvidersInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListSAMLProvidersInput) GoString() string {
- return s.String()
-}
-
-// Contains the response to a successful ListSAMLProviders request.
-type ListSAMLProvidersOutput struct {
- _ struct{} `type:"structure"`
-
- // The list of SAML provider resource objects defined in IAM for this AWS account.
- SAMLProviderList []*SAMLProviderListEntry `type:"list"`
-}
-
-// String returns the string representation
-func (s ListSAMLProvidersOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListSAMLProvidersOutput) GoString() string {
- return s.String()
-}
-
-// SetSAMLProviderList sets the SAMLProviderList field's value.
-func (s *ListSAMLProvidersOutput) SetSAMLProviderList(v []*SAMLProviderListEntry) *ListSAMLProvidersOutput {
- s.SAMLProviderList = v
- return s
-}
-
-type ListSSHPublicKeysInput struct {
- _ struct{} `type:"structure"`
-
- // Use this parameter only when paginating results and only after you receive
- // a response indicating that the results are truncated. Set it to the value
- // of the Marker element in the response that you received to indicate where
- // the next call should start.
- Marker *string `min:"1" type:"string"`
-
- // Use this only when paginating results to indicate the maximum number of items
- // you want in the response. If additional items exist beyond the maximum you
- // specify, the IsTruncated response element is true.
- //
- // If you do not include this parameter, the number of items defaults to 100.
- // Note that IAM might return fewer results, even when there are more results
- // available. In that case, the IsTruncated response element returns true, and
- // Marker contains a value to include in the subsequent call that tells the
- // service where to continue from.
- MaxItems *int64 `min:"1" type:"integer"`
-
- // The name of the IAM user to list SSH public keys for. If none is specified,
- // the UserName field is determined implicitly based on the AWS access key used
- // to sign the request.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- UserName *string `min:"1" type:"string"`
-}
-
-// String returns the string representation
-func (s ListSSHPublicKeysInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListSSHPublicKeysInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *ListSSHPublicKeysInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListSSHPublicKeysInput"}
- if s.Marker != nil && len(*s.Marker) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
- }
- if s.MaxItems != nil && *s.MaxItems < 1 {
- invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
- }
- if s.UserName != nil && len(*s.UserName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetMarker sets the Marker field's value.
-func (s *ListSSHPublicKeysInput) SetMarker(v string) *ListSSHPublicKeysInput {
- s.Marker = &v
- return s
-}
-
-// SetMaxItems sets the MaxItems field's value.
-func (s *ListSSHPublicKeysInput) SetMaxItems(v int64) *ListSSHPublicKeysInput {
- s.MaxItems = &v
- return s
-}
-
-// SetUserName sets the UserName field's value.
-func (s *ListSSHPublicKeysInput) SetUserName(v string) *ListSSHPublicKeysInput {
- s.UserName = &v
- return s
-}
-
-// Contains the response to a successful ListSSHPublicKeys request.
-type ListSSHPublicKeysOutput struct {
- _ struct{} `type:"structure"`
-
- // A flag that indicates whether there are more items to return. If your results
- // were truncated, you can make a subsequent pagination request using the Marker
- // request parameter to retrieve more items. Note that IAM might return fewer
- // than the MaxItems number of results even when there are more results available.
- // We recommend that you check IsTruncated after every call to ensure that you
- // receive all your results.
- IsTruncated *bool `type:"boolean"`
-
- // When IsTruncated is true, this element is present and contains the value
- // to use for the Marker parameter in a subsequent pagination request.
- Marker *string `type:"string"`
-
- // A list of the SSH public keys assigned to IAM user.
- SSHPublicKeys []*SSHPublicKeyMetadata `type:"list"`
-}
-
-// String returns the string representation
-func (s ListSSHPublicKeysOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListSSHPublicKeysOutput) GoString() string {
- return s.String()
-}
-
-// SetIsTruncated sets the IsTruncated field's value.
-func (s *ListSSHPublicKeysOutput) SetIsTruncated(v bool) *ListSSHPublicKeysOutput {
- s.IsTruncated = &v
- return s
-}
-
-// SetMarker sets the Marker field's value.
-func (s *ListSSHPublicKeysOutput) SetMarker(v string) *ListSSHPublicKeysOutput {
- s.Marker = &v
- return s
-}
-
-// SetSSHPublicKeys sets the SSHPublicKeys field's value.
-func (s *ListSSHPublicKeysOutput) SetSSHPublicKeys(v []*SSHPublicKeyMetadata) *ListSSHPublicKeysOutput {
- s.SSHPublicKeys = v
- return s
-}
-
-type ListServerCertificatesInput struct {
- _ struct{} `type:"structure"`
-
- // Use this parameter only when paginating results and only after you receive
- // a response indicating that the results are truncated. Set it to the value
- // of the Marker element in the response that you received to indicate where
- // the next call should start.
- Marker *string `min:"1" type:"string"`
-
- // Use this only when paginating results to indicate the maximum number of items
- // you want in the response. If additional items exist beyond the maximum you
- // specify, the IsTruncated response element is true.
- //
- // If you do not include this parameter, the number of items defaults to 100.
- // Note that IAM might return fewer results, even when there are more results
- // available. In that case, the IsTruncated response element returns true, and
- // Marker contains a value to include in the subsequent call that tells the
- // service where to continue from.
- MaxItems *int64 `min:"1" type:"integer"`
-
- // The path prefix for filtering the results. For example: /company/servercerts
- // would get all server certificates for which the path starts with /company/servercerts.
- //
- // This parameter is optional. If it is not included, it defaults to a slash
- // (/), listing all server certificates. This parameter allows (through its
- // regex pattern (http://wikipedia.org/wiki/regex)) a string of characters consisting
- // of either a forward slash (/) by itself or a string that must begin and end
- // with forward slashes. In addition, it can contain any ASCII character from
- // the ! (\u0021) through the DEL character (\u007F), including most punctuation
- // characters, digits, and upper and lowercased letters.
- PathPrefix *string `min:"1" type:"string"`
-}
-
-// String returns the string representation
-func (s ListServerCertificatesInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListServerCertificatesInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *ListServerCertificatesInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListServerCertificatesInput"}
- if s.Marker != nil && len(*s.Marker) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
- }
- if s.MaxItems != nil && *s.MaxItems < 1 {
- invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
- }
- if s.PathPrefix != nil && len(*s.PathPrefix) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("PathPrefix", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetMarker sets the Marker field's value.
-func (s *ListServerCertificatesInput) SetMarker(v string) *ListServerCertificatesInput {
- s.Marker = &v
- return s
-}
-
-// SetMaxItems sets the MaxItems field's value.
-func (s *ListServerCertificatesInput) SetMaxItems(v int64) *ListServerCertificatesInput {
- s.MaxItems = &v
- return s
-}
-
-// SetPathPrefix sets the PathPrefix field's value.
-func (s *ListServerCertificatesInput) SetPathPrefix(v string) *ListServerCertificatesInput {
- s.PathPrefix = &v
- return s
-}
-
-// Contains the response to a successful ListServerCertificates request.
-type ListServerCertificatesOutput struct {
- _ struct{} `type:"structure"`
-
- // A flag that indicates whether there are more items to return. If your results
- // were truncated, you can make a subsequent pagination request using the Marker
- // request parameter to retrieve more items. Note that IAM might return fewer
- // than the MaxItems number of results even when there are more results available.
- // We recommend that you check IsTruncated after every call to ensure that you
- // receive all your results.
- IsTruncated *bool `type:"boolean"`
-
- // When IsTruncated is true, this element is present and contains the value
- // to use for the Marker parameter in a subsequent pagination request.
- Marker *string `type:"string"`
-
- // A list of server certificates.
- //
- // ServerCertificateMetadataList is a required field
- ServerCertificateMetadataList []*ServerCertificateMetadata `type:"list" required:"true"`
-}
-
-// String returns the string representation
-func (s ListServerCertificatesOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListServerCertificatesOutput) GoString() string {
- return s.String()
-}
-
-// SetIsTruncated sets the IsTruncated field's value.
-func (s *ListServerCertificatesOutput) SetIsTruncated(v bool) *ListServerCertificatesOutput {
- s.IsTruncated = &v
- return s
-}
-
-// SetMarker sets the Marker field's value.
-func (s *ListServerCertificatesOutput) SetMarker(v string) *ListServerCertificatesOutput {
- s.Marker = &v
- return s
-}
-
-// SetServerCertificateMetadataList sets the ServerCertificateMetadataList field's value.
-func (s *ListServerCertificatesOutput) SetServerCertificateMetadataList(v []*ServerCertificateMetadata) *ListServerCertificatesOutput {
- s.ServerCertificateMetadataList = v
- return s
-}
-
-type ListServiceSpecificCredentialsInput struct {
- _ struct{} `type:"structure"`
-
- // Filters the returned results to only those for the specified AWS service.
- // If not specified, then AWS returns service-specific credentials for all services.
- ServiceName *string `type:"string"`
-
- // The name of the user whose service-specific credentials you want information
- // about. If this value is not specified, then the operation assumes the user
- // whose credentials are used to call the operation.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- UserName *string `min:"1" type:"string"`
-}
-
-// String returns the string representation
-func (s ListServiceSpecificCredentialsInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListServiceSpecificCredentialsInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *ListServiceSpecificCredentialsInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListServiceSpecificCredentialsInput"}
- if s.UserName != nil && len(*s.UserName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetServiceName sets the ServiceName field's value.
-func (s *ListServiceSpecificCredentialsInput) SetServiceName(v string) *ListServiceSpecificCredentialsInput {
- s.ServiceName = &v
- return s
-}
-
-// SetUserName sets the UserName field's value.
-func (s *ListServiceSpecificCredentialsInput) SetUserName(v string) *ListServiceSpecificCredentialsInput {
- s.UserName = &v
- return s
-}
-
-type ListServiceSpecificCredentialsOutput struct {
- _ struct{} `type:"structure"`
-
- // A list of structures that each contain details about a service-specific credential.
- ServiceSpecificCredentials []*ServiceSpecificCredentialMetadata `type:"list"`
-}
-
-// String returns the string representation
-func (s ListServiceSpecificCredentialsOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListServiceSpecificCredentialsOutput) GoString() string {
- return s.String()
-}
-
-// SetServiceSpecificCredentials sets the ServiceSpecificCredentials field's value.
-func (s *ListServiceSpecificCredentialsOutput) SetServiceSpecificCredentials(v []*ServiceSpecificCredentialMetadata) *ListServiceSpecificCredentialsOutput {
- s.ServiceSpecificCredentials = v
- return s
-}
-
-type ListSigningCertificatesInput struct {
- _ struct{} `type:"structure"`
-
- // Use this parameter only when paginating results and only after you receive
- // a response indicating that the results are truncated. Set it to the value
- // of the Marker element in the response that you received to indicate where
- // the next call should start.
- Marker *string `min:"1" type:"string"`
-
- // Use this only when paginating results to indicate the maximum number of items
- // you want in the response. If additional items exist beyond the maximum you
- // specify, the IsTruncated response element is true.
- //
- // If you do not include this parameter, the number of items defaults to 100.
- // Note that IAM might return fewer results, even when there are more results
- // available. In that case, the IsTruncated response element returns true, and
- // Marker contains a value to include in the subsequent call that tells the
- // service where to continue from.
- MaxItems *int64 `min:"1" type:"integer"`
-
- // The name of the IAM user whose signing certificates you want to examine.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- UserName *string `min:"1" type:"string"`
-}
-
-// String returns the string representation
-func (s ListSigningCertificatesInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListSigningCertificatesInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *ListSigningCertificatesInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListSigningCertificatesInput"}
- if s.Marker != nil && len(*s.Marker) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
- }
- if s.MaxItems != nil && *s.MaxItems < 1 {
- invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
- }
- if s.UserName != nil && len(*s.UserName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetMarker sets the Marker field's value.
-func (s *ListSigningCertificatesInput) SetMarker(v string) *ListSigningCertificatesInput {
- s.Marker = &v
- return s
-}
-
-// SetMaxItems sets the MaxItems field's value.
-func (s *ListSigningCertificatesInput) SetMaxItems(v int64) *ListSigningCertificatesInput {
- s.MaxItems = &v
- return s
-}
-
-// SetUserName sets the UserName field's value.
-func (s *ListSigningCertificatesInput) SetUserName(v string) *ListSigningCertificatesInput {
- s.UserName = &v
- return s
-}
-
-// Contains the response to a successful ListSigningCertificates request.
-type ListSigningCertificatesOutput struct {
- _ struct{} `type:"structure"`
-
- // A list of the user's signing certificate information.
- //
- // Certificates is a required field
- Certificates []*SigningCertificate `type:"list" required:"true"`
-
- // A flag that indicates whether there are more items to return. If your results
- // were truncated, you can make a subsequent pagination request using the Marker
- // request parameter to retrieve more items. Note that IAM might return fewer
- // than the MaxItems number of results even when there are more results available.
- // We recommend that you check IsTruncated after every call to ensure that you
- // receive all your results.
- IsTruncated *bool `type:"boolean"`
-
- // When IsTruncated is true, this element is present and contains the value
- // to use for the Marker parameter in a subsequent pagination request.
- Marker *string `type:"string"`
-}
-
-// String returns the string representation
-func (s ListSigningCertificatesOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListSigningCertificatesOutput) GoString() string {
- return s.String()
-}
-
-// SetCertificates sets the Certificates field's value.
-func (s *ListSigningCertificatesOutput) SetCertificates(v []*SigningCertificate) *ListSigningCertificatesOutput {
- s.Certificates = v
- return s
-}
-
-// SetIsTruncated sets the IsTruncated field's value.
-func (s *ListSigningCertificatesOutput) SetIsTruncated(v bool) *ListSigningCertificatesOutput {
- s.IsTruncated = &v
- return s
-}
-
-// SetMarker sets the Marker field's value.
-func (s *ListSigningCertificatesOutput) SetMarker(v string) *ListSigningCertificatesOutput {
- s.Marker = &v
- return s
-}
-
-type ListUserPoliciesInput struct {
- _ struct{} `type:"structure"`
-
- // Use this parameter only when paginating results and only after you receive
- // a response indicating that the results are truncated. Set it to the value
- // of the Marker element in the response that you received to indicate where
- // the next call should start.
- Marker *string `min:"1" type:"string"`
-
- // Use this only when paginating results to indicate the maximum number of items
- // you want in the response. If additional items exist beyond the maximum you
- // specify, the IsTruncated response element is true.
- //
- // If you do not include this parameter, the number of items defaults to 100.
- // Note that IAM might return fewer results, even when there are more results
- // available. In that case, the IsTruncated response element returns true, and
- // Marker contains a value to include in the subsequent call that tells the
- // service where to continue from.
- MaxItems *int64 `min:"1" type:"integer"`
-
- // The name of the user to list policies for.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // UserName is a required field
- UserName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s ListUserPoliciesInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListUserPoliciesInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *ListUserPoliciesInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListUserPoliciesInput"}
- if s.Marker != nil && len(*s.Marker) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
- }
- if s.MaxItems != nil && *s.MaxItems < 1 {
- invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
- }
- if s.UserName == nil {
- invalidParams.Add(request.NewErrParamRequired("UserName"))
- }
- if s.UserName != nil && len(*s.UserName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetMarker sets the Marker field's value.
-func (s *ListUserPoliciesInput) SetMarker(v string) *ListUserPoliciesInput {
- s.Marker = &v
- return s
-}
-
-// SetMaxItems sets the MaxItems field's value.
-func (s *ListUserPoliciesInput) SetMaxItems(v int64) *ListUserPoliciesInput {
- s.MaxItems = &v
- return s
-}
-
-// SetUserName sets the UserName field's value.
-func (s *ListUserPoliciesInput) SetUserName(v string) *ListUserPoliciesInput {
- s.UserName = &v
- return s
-}
-
-// Contains the response to a successful ListUserPolicies request.
-type ListUserPoliciesOutput struct {
- _ struct{} `type:"structure"`
-
- // A flag that indicates whether there are more items to return. If your results
- // were truncated, you can make a subsequent pagination request using the Marker
- // request parameter to retrieve more items. Note that IAM might return fewer
- // than the MaxItems number of results even when there are more results available.
- // We recommend that you check IsTruncated after every call to ensure that you
- // receive all your results.
- IsTruncated *bool `type:"boolean"`
-
- // When IsTruncated is true, this element is present and contains the value
- // to use for the Marker parameter in a subsequent pagination request.
- Marker *string `type:"string"`
-
- // A list of policy names.
- //
- // PolicyNames is a required field
- PolicyNames []*string `type:"list" required:"true"`
-}
-
-// String returns the string representation
-func (s ListUserPoliciesOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListUserPoliciesOutput) GoString() string {
- return s.String()
-}
-
-// SetIsTruncated sets the IsTruncated field's value.
-func (s *ListUserPoliciesOutput) SetIsTruncated(v bool) *ListUserPoliciesOutput {
- s.IsTruncated = &v
- return s
-}
-
-// SetMarker sets the Marker field's value.
-func (s *ListUserPoliciesOutput) SetMarker(v string) *ListUserPoliciesOutput {
- s.Marker = &v
- return s
-}
-
-// SetPolicyNames sets the PolicyNames field's value.
-func (s *ListUserPoliciesOutput) SetPolicyNames(v []*string) *ListUserPoliciesOutput {
- s.PolicyNames = v
- return s
-}
-
-type ListUserTagsInput struct {
- _ struct{} `type:"structure"`
-
- // Use this parameter only when paginating results and only after you receive
- // a response indicating that the results are truncated. Set it to the value
- // of the Marker element in the response that you received to indicate where
- // the next call should start.
- Marker *string `min:"1" type:"string"`
-
- // (Optional) Use this only when paginating results to indicate the maximum
- // number of items that you want in the response. If additional items exist
- // beyond the maximum that you specify, the IsTruncated response element is
- // true.
- //
- // If you do not include this parameter, it defaults to 100. Note that IAM might
- // return fewer results, even when more results are available. In that case,
- // the IsTruncated response element returns true, and Marker contains a value
- // to include in the subsequent call that tells the service where to continue
- // from.
- MaxItems *int64 `min:"1" type:"integer"`
-
- // The name of the IAM user whose tags you want to see.
- //
- // This parameter accepts (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters that consist of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: =,.@-
- //
- // UserName is a required field
- UserName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s ListUserTagsInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListUserTagsInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *ListUserTagsInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListUserTagsInput"}
- if s.Marker != nil && len(*s.Marker) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
- }
- if s.MaxItems != nil && *s.MaxItems < 1 {
- invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
- }
- if s.UserName == nil {
- invalidParams.Add(request.NewErrParamRequired("UserName"))
- }
- if s.UserName != nil && len(*s.UserName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetMarker sets the Marker field's value.
-func (s *ListUserTagsInput) SetMarker(v string) *ListUserTagsInput {
- s.Marker = &v
- return s
-}
-
-// SetMaxItems sets the MaxItems field's value.
-func (s *ListUserTagsInput) SetMaxItems(v int64) *ListUserTagsInput {
- s.MaxItems = &v
- return s
-}
-
-// SetUserName sets the UserName field's value.
-func (s *ListUserTagsInput) SetUserName(v string) *ListUserTagsInput {
- s.UserName = &v
- return s
-}
-
-type ListUserTagsOutput struct {
- _ struct{} `type:"structure"`
-
- // A flag that indicates whether there are more items to return. If your results
- // were truncated, you can use the Marker request parameter to make a subsequent
- // pagination request that retrieves more items. Note that IAM might return
- // fewer than the MaxItems number of results even when more results are available.
- // Check IsTruncated after every call to ensure that you receive all of your
- // results.
- IsTruncated *bool `type:"boolean"`
-
- // When IsTruncated is true, this element is present and contains the value
- // to use for the Marker parameter in a subsequent pagination request.
- Marker *string `type:"string"`
-
- // The list of tags that are currently attached to the user. Each tag consists
- // of a key name and an associated value. If no tags are attached to the specified
- // user, the response contains an empty list.
- //
- // Tags is a required field
- Tags []*Tag `type:"list" required:"true"`
-}
-
-// String returns the string representation
-func (s ListUserTagsOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListUserTagsOutput) GoString() string {
- return s.String()
-}
-
-// SetIsTruncated sets the IsTruncated field's value.
-func (s *ListUserTagsOutput) SetIsTruncated(v bool) *ListUserTagsOutput {
- s.IsTruncated = &v
- return s
-}
-
-// SetMarker sets the Marker field's value.
-func (s *ListUserTagsOutput) SetMarker(v string) *ListUserTagsOutput {
- s.Marker = &v
- return s
-}
-
-// SetTags sets the Tags field's value.
-func (s *ListUserTagsOutput) SetTags(v []*Tag) *ListUserTagsOutput {
- s.Tags = v
- return s
-}
-
-type ListUsersInput struct {
- _ struct{} `type:"structure"`
-
- // Use this parameter only when paginating results and only after you receive
- // a response indicating that the results are truncated. Set it to the value
- // of the Marker element in the response that you received to indicate where
- // the next call should start.
- Marker *string `min:"1" type:"string"`
-
- // Use this only when paginating results to indicate the maximum number of items
- // you want in the response. If additional items exist beyond the maximum you
- // specify, the IsTruncated response element is true.
- //
- // If you do not include this parameter, the number of items defaults to 100.
- // Note that IAM might return fewer results, even when there are more results
- // available. In that case, the IsTruncated response element returns true, and
- // Marker contains a value to include in the subsequent call that tells the
- // service where to continue from.
- MaxItems *int64 `min:"1" type:"integer"`
-
- // The path prefix for filtering the results. For example: /division_abc/subdivision_xyz/,
- // which would get all user names whose path starts with /division_abc/subdivision_xyz/.
- //
- // This parameter is optional. If it is not included, it defaults to a slash
- // (/), listing all user names. This parameter allows (through its regex pattern
- // (http://wikipedia.org/wiki/regex)) a string of characters consisting of either
- // a forward slash (/) by itself or a string that must begin and end with forward
- // slashes. In addition, it can contain any ASCII character from the ! (\u0021)
- // through the DEL character (\u007F), including most punctuation characters,
- // digits, and upper and lowercased letters.
- PathPrefix *string `min:"1" type:"string"`
-}
-
-// String returns the string representation
-func (s ListUsersInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListUsersInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *ListUsersInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListUsersInput"}
- if s.Marker != nil && len(*s.Marker) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
- }
- if s.MaxItems != nil && *s.MaxItems < 1 {
- invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
- }
- if s.PathPrefix != nil && len(*s.PathPrefix) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("PathPrefix", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetMarker sets the Marker field's value.
-func (s *ListUsersInput) SetMarker(v string) *ListUsersInput {
- s.Marker = &v
- return s
-}
-
-// SetMaxItems sets the MaxItems field's value.
-func (s *ListUsersInput) SetMaxItems(v int64) *ListUsersInput {
- s.MaxItems = &v
- return s
-}
-
-// SetPathPrefix sets the PathPrefix field's value.
-func (s *ListUsersInput) SetPathPrefix(v string) *ListUsersInput {
- s.PathPrefix = &v
- return s
-}
-
-// Contains the response to a successful ListUsers request.
-type ListUsersOutput struct {
- _ struct{} `type:"structure"`
-
- // A flag that indicates whether there are more items to return. If your results
- // were truncated, you can make a subsequent pagination request using the Marker
- // request parameter to retrieve more items. Note that IAM might return fewer
- // than the MaxItems number of results even when there are more results available.
- // We recommend that you check IsTruncated after every call to ensure that you
- // receive all your results.
- IsTruncated *bool `type:"boolean"`
-
- // When IsTruncated is true, this element is present and contains the value
- // to use for the Marker parameter in a subsequent pagination request.
- Marker *string `type:"string"`
-
- // A list of users.
- //
- // Users is a required field
- Users []*User `type:"list" required:"true"`
-}
-
-// String returns the string representation
-func (s ListUsersOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListUsersOutput) GoString() string {
- return s.String()
-}
-
-// SetIsTruncated sets the IsTruncated field's value.
-func (s *ListUsersOutput) SetIsTruncated(v bool) *ListUsersOutput {
- s.IsTruncated = &v
- return s
-}
-
-// SetMarker sets the Marker field's value.
-func (s *ListUsersOutput) SetMarker(v string) *ListUsersOutput {
- s.Marker = &v
- return s
-}
-
-// SetUsers sets the Users field's value.
-func (s *ListUsersOutput) SetUsers(v []*User) *ListUsersOutput {
- s.Users = v
- return s
-}
-
-type ListVirtualMFADevicesInput struct {
- _ struct{} `type:"structure"`
-
- // The status (Unassigned or Assigned) of the devices to list. If you do not
- // specify an AssignmentStatus, the operation defaults to Any, which lists both
- // assigned and unassigned virtual MFA devices.,
- AssignmentStatus *string `type:"string" enum:"assignmentStatusType"`
-
- // Use this parameter only when paginating results and only after you receive
- // a response indicating that the results are truncated. Set it to the value
- // of the Marker element in the response that you received to indicate where
- // the next call should start.
- Marker *string `min:"1" type:"string"`
-
- // Use this only when paginating results to indicate the maximum number of items
- // you want in the response. If additional items exist beyond the maximum you
- // specify, the IsTruncated response element is true.
- //
- // If you do not include this parameter, the number of items defaults to 100.
- // Note that IAM might return fewer results, even when there are more results
- // available. In that case, the IsTruncated response element returns true, and
- // Marker contains a value to include in the subsequent call that tells the
- // service where to continue from.
- MaxItems *int64 `min:"1" type:"integer"`
-}
-
-// String returns the string representation
-func (s ListVirtualMFADevicesInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListVirtualMFADevicesInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *ListVirtualMFADevicesInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListVirtualMFADevicesInput"}
- if s.Marker != nil && len(*s.Marker) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
- }
- if s.MaxItems != nil && *s.MaxItems < 1 {
- invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetAssignmentStatus sets the AssignmentStatus field's value.
-func (s *ListVirtualMFADevicesInput) SetAssignmentStatus(v string) *ListVirtualMFADevicesInput {
- s.AssignmentStatus = &v
- return s
-}
-
-// SetMarker sets the Marker field's value.
-func (s *ListVirtualMFADevicesInput) SetMarker(v string) *ListVirtualMFADevicesInput {
- s.Marker = &v
- return s
-}
-
-// SetMaxItems sets the MaxItems field's value.
-func (s *ListVirtualMFADevicesInput) SetMaxItems(v int64) *ListVirtualMFADevicesInput {
- s.MaxItems = &v
- return s
-}
-
-// Contains the response to a successful ListVirtualMFADevices request.
-type ListVirtualMFADevicesOutput struct {
- _ struct{} `type:"structure"`
-
- // A flag that indicates whether there are more items to return. If your results
- // were truncated, you can make a subsequent pagination request using the Marker
- // request parameter to retrieve more items. Note that IAM might return fewer
- // than the MaxItems number of results even when there are more results available.
- // We recommend that you check IsTruncated after every call to ensure that you
- // receive all your results.
- IsTruncated *bool `type:"boolean"`
-
- // When IsTruncated is true, this element is present and contains the value
- // to use for the Marker parameter in a subsequent pagination request.
- Marker *string `type:"string"`
-
- // The list of virtual MFA devices in the current account that match the AssignmentStatus
- // value that was passed in the request.
- //
- // VirtualMFADevices is a required field
- VirtualMFADevices []*VirtualMFADevice `type:"list" required:"true"`
-}
-
-// String returns the string representation
-func (s ListVirtualMFADevicesOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ListVirtualMFADevicesOutput) GoString() string {
- return s.String()
-}
-
-// SetIsTruncated sets the IsTruncated field's value.
-func (s *ListVirtualMFADevicesOutput) SetIsTruncated(v bool) *ListVirtualMFADevicesOutput {
- s.IsTruncated = &v
- return s
-}
-
-// SetMarker sets the Marker field's value.
-func (s *ListVirtualMFADevicesOutput) SetMarker(v string) *ListVirtualMFADevicesOutput {
- s.Marker = &v
- return s
-}
-
-// SetVirtualMFADevices sets the VirtualMFADevices field's value.
-func (s *ListVirtualMFADevicesOutput) SetVirtualMFADevices(v []*VirtualMFADevice) *ListVirtualMFADevicesOutput {
- s.VirtualMFADevices = v
- return s
-}
-
-// Contains the user name and password create date for a user.
-//
-// This data type is used as a response element in the CreateLoginProfile and
-// GetLoginProfile operations.
-type LoginProfile struct {
- _ struct{} `type:"structure"`
-
- // The date when the password for the user was created.
- //
- // CreateDate is a required field
- CreateDate *time.Time `type:"timestamp" required:"true"`
-
- // Specifies whether the user is required to set a new password on next sign-in.
- PasswordResetRequired *bool `type:"boolean"`
-
- // The name of the user, which can be used for signing in to the AWS Management
- // Console.
- //
- // UserName is a required field
- UserName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s LoginProfile) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s LoginProfile) GoString() string {
- return s.String()
-}
-
-// SetCreateDate sets the CreateDate field's value.
-func (s *LoginProfile) SetCreateDate(v time.Time) *LoginProfile {
- s.CreateDate = &v
- return s
-}
-
-// SetPasswordResetRequired sets the PasswordResetRequired field's value.
-func (s *LoginProfile) SetPasswordResetRequired(v bool) *LoginProfile {
- s.PasswordResetRequired = &v
- return s
-}
-
-// SetUserName sets the UserName field's value.
-func (s *LoginProfile) SetUserName(v string) *LoginProfile {
- s.UserName = &v
- return s
-}
-
-// Contains information about an MFA device.
-//
-// This data type is used as a response element in the ListMFADevices operation.
-type MFADevice struct {
- _ struct{} `type:"structure"`
-
- // The date when the MFA device was enabled for the user.
- //
- // EnableDate is a required field
- EnableDate *time.Time `type:"timestamp" required:"true"`
-
- // The serial number that uniquely identifies the MFA device. For virtual MFA
- // devices, the serial number is the device ARN.
- //
- // SerialNumber is a required field
- SerialNumber *string `min:"9" type:"string" required:"true"`
-
- // The user with whom the MFA device is associated.
- //
- // UserName is a required field
- UserName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s MFADevice) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s MFADevice) GoString() string {
- return s.String()
-}
-
-// SetEnableDate sets the EnableDate field's value.
-func (s *MFADevice) SetEnableDate(v time.Time) *MFADevice {
- s.EnableDate = &v
- return s
-}
-
-// SetSerialNumber sets the SerialNumber field's value.
-func (s *MFADevice) SetSerialNumber(v string) *MFADevice {
- s.SerialNumber = &v
- return s
-}
-
-// SetUserName sets the UserName field's value.
-func (s *MFADevice) SetUserName(v string) *MFADevice {
- s.UserName = &v
- return s
-}
-
-// Contains information about a managed policy, including the policy's ARN,
-// versions, and the number of principal entities (users, groups, and roles)
-// that the policy is attached to.
-//
-// This data type is used as a response element in the GetAccountAuthorizationDetails
-// operation.
-//
-// For more information about managed 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.
-type ManagedPolicyDetail struct {
- _ struct{} `type:"structure"`
-
- // The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.
- //
- // For more information about ARNs, go to 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.
- Arn *string `min:"20" type:"string"`
-
- // The number of principal entities (users, groups, and roles) that the policy
- // is attached to.
- AttachmentCount *int64 `type:"integer"`
-
- // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
- // when the policy was created.
- CreateDate *time.Time `type:"timestamp"`
-
- // The identifier for the version of the policy that is set as the default (operative)
- // version.
- //
- // For more information about policy versions, see Versioning for Managed Policies
- // (https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html)
- // in the IAM User Guide.
- DefaultVersionId *string `type:"string"`
-
- // A friendly description of the policy.
- Description *string `type:"string"`
-
- // Specifies whether the policy can be attached to an IAM user, group, or role.
- IsAttachable *bool `type:"boolean"`
-
- // The path to the policy.
- //
- // For more information about paths, see IAM Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
- // in the IAM User Guide.
- Path *string `min:"1" type:"string"`
-
- // The number of entities (users and roles) for which the policy is used as
- // the permissions boundary.
- //
- // For more information about permissions boundaries, see Permissions Boundaries
- // for IAM Identities (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html)
- // in the IAM User Guide.
- PermissionsBoundaryUsageCount *int64 `type:"integer"`
-
- // The stable and unique string identifying the policy.
- //
- // For more information about IDs, see IAM Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
- // in the IAM User Guide.
- PolicyId *string `min:"16" type:"string"`
-
- // The friendly name (not ARN) identifying the policy.
- PolicyName *string `min:"1" type:"string"`
-
- // A list containing information about the versions of the policy.
- PolicyVersionList []*PolicyVersion `type:"list"`
-
- // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
- // when the policy was last updated.
- //
- // When a policy has only one version, this field contains the date and time
- // when the policy was created. When a policy has more than one version, this
- // field contains the date and time when the most recent policy version was
- // created.
- UpdateDate *time.Time `type:"timestamp"`
-}
-
-// String returns the string representation
-func (s ManagedPolicyDetail) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ManagedPolicyDetail) GoString() string {
- return s.String()
-}
-
-// SetArn sets the Arn field's value.
-func (s *ManagedPolicyDetail) SetArn(v string) *ManagedPolicyDetail {
- s.Arn = &v
- return s
-}
-
-// SetAttachmentCount sets the AttachmentCount field's value.
-func (s *ManagedPolicyDetail) SetAttachmentCount(v int64) *ManagedPolicyDetail {
- s.AttachmentCount = &v
- return s
-}
-
-// SetCreateDate sets the CreateDate field's value.
-func (s *ManagedPolicyDetail) SetCreateDate(v time.Time) *ManagedPolicyDetail {
- s.CreateDate = &v
- return s
-}
-
-// SetDefaultVersionId sets the DefaultVersionId field's value.
-func (s *ManagedPolicyDetail) SetDefaultVersionId(v string) *ManagedPolicyDetail {
- s.DefaultVersionId = &v
- return s
-}
-
-// SetDescription sets the Description field's value.
-func (s *ManagedPolicyDetail) SetDescription(v string) *ManagedPolicyDetail {
- s.Description = &v
- return s
-}
-
-// SetIsAttachable sets the IsAttachable field's value.
-func (s *ManagedPolicyDetail) SetIsAttachable(v bool) *ManagedPolicyDetail {
- s.IsAttachable = &v
- return s
-}
-
-// SetPath sets the Path field's value.
-func (s *ManagedPolicyDetail) SetPath(v string) *ManagedPolicyDetail {
- s.Path = &v
- return s
-}
-
-// SetPermissionsBoundaryUsageCount sets the PermissionsBoundaryUsageCount field's value.
-func (s *ManagedPolicyDetail) SetPermissionsBoundaryUsageCount(v int64) *ManagedPolicyDetail {
- s.PermissionsBoundaryUsageCount = &v
- return s
-}
-
-// SetPolicyId sets the PolicyId field's value.
-func (s *ManagedPolicyDetail) SetPolicyId(v string) *ManagedPolicyDetail {
- s.PolicyId = &v
- return s
-}
-
-// SetPolicyName sets the PolicyName field's value.
-func (s *ManagedPolicyDetail) SetPolicyName(v string) *ManagedPolicyDetail {
- s.PolicyName = &v
- return s
-}
-
-// SetPolicyVersionList sets the PolicyVersionList field's value.
-func (s *ManagedPolicyDetail) SetPolicyVersionList(v []*PolicyVersion) *ManagedPolicyDetail {
- s.PolicyVersionList = v
- return s
-}
-
-// SetUpdateDate sets the UpdateDate field's value.
-func (s *ManagedPolicyDetail) SetUpdateDate(v time.Time) *ManagedPolicyDetail {
- s.UpdateDate = &v
- return s
-}
-
-// Contains the Amazon Resource Name (ARN) for an IAM OpenID Connect provider.
-type OpenIDConnectProviderListEntry struct {
- _ struct{} `type:"structure"`
-
- // The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.
- //
- // For more information about ARNs, go to 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.
- Arn *string `min:"20" type:"string"`
-}
-
-// String returns the string representation
-func (s OpenIDConnectProviderListEntry) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s OpenIDConnectProviderListEntry) GoString() string {
- return s.String()
-}
-
-// SetArn sets the Arn field's value.
-func (s *OpenIDConnectProviderListEntry) SetArn(v string) *OpenIDConnectProviderListEntry {
- s.Arn = &v
- return s
-}
-
-// Contains information about the effect that Organizations has on a policy
-// simulation.
-type OrganizationsDecisionDetail struct {
- _ struct{} `type:"structure"`
-
- // Specifies whether the simulated operation is allowed by the Organizations
- // service control policies that impact the simulated user's account.
- AllowedByOrganizations *bool `type:"boolean"`
-}
-
-// String returns the string representation
-func (s OrganizationsDecisionDetail) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s OrganizationsDecisionDetail) GoString() string {
- return s.String()
-}
-
-// SetAllowedByOrganizations sets the AllowedByOrganizations field's value.
-func (s *OrganizationsDecisionDetail) SetAllowedByOrganizations(v bool) *OrganizationsDecisionDetail {
- s.AllowedByOrganizations = &v
- return s
-}
-
-// Contains information about the account password policy.
-//
-// This data type is used as a response element in the GetAccountPasswordPolicy
-// operation.
-type PasswordPolicy struct {
- _ struct{} `type:"structure"`
-
- // Specifies whether IAM users are allowed to change their own password.
- AllowUsersToChangePassword *bool `type:"boolean"`
-
- // Indicates whether passwords in the account expire. Returns true if MaxPasswordAge
- // contains a value greater than 0. Returns false if MaxPasswordAge is 0 or
- // not present.
- ExpirePasswords *bool `type:"boolean"`
-
- // Specifies whether IAM users are prevented from setting a new password after
- // their password has expired.
- HardExpiry *bool `type:"boolean"`
-
- // The number of days that an IAM user password is valid.
- MaxPasswordAge *int64 `min:"1" type:"integer"`
-
- // Minimum length to require for IAM user passwords.
- MinimumPasswordLength *int64 `min:"6" type:"integer"`
-
- // Specifies the number of previous passwords that IAM users are prevented from
- // reusing.
- PasswordReusePrevention *int64 `min:"1" type:"integer"`
-
- // Specifies whether to require lowercase characters for IAM user passwords.
- RequireLowercaseCharacters *bool `type:"boolean"`
-
- // Specifies whether to require numbers for IAM user passwords.
- RequireNumbers *bool `type:"boolean"`
-
- // Specifies whether to require symbols for IAM user passwords.
- RequireSymbols *bool `type:"boolean"`
-
- // Specifies whether to require uppercase characters for IAM user passwords.
- RequireUppercaseCharacters *bool `type:"boolean"`
-}
-
-// String returns the string representation
-func (s PasswordPolicy) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s PasswordPolicy) GoString() string {
- return s.String()
-}
-
-// SetAllowUsersToChangePassword sets the AllowUsersToChangePassword field's value.
-func (s *PasswordPolicy) SetAllowUsersToChangePassword(v bool) *PasswordPolicy {
- s.AllowUsersToChangePassword = &v
- return s
-}
-
-// SetExpirePasswords sets the ExpirePasswords field's value.
-func (s *PasswordPolicy) SetExpirePasswords(v bool) *PasswordPolicy {
- s.ExpirePasswords = &v
- return s
-}
-
-// SetHardExpiry sets the HardExpiry field's value.
-func (s *PasswordPolicy) SetHardExpiry(v bool) *PasswordPolicy {
- s.HardExpiry = &v
- return s
-}
-
-// SetMaxPasswordAge sets the MaxPasswordAge field's value.
-func (s *PasswordPolicy) SetMaxPasswordAge(v int64) *PasswordPolicy {
- s.MaxPasswordAge = &v
- return s
-}
-
-// SetMinimumPasswordLength sets the MinimumPasswordLength field's value.
-func (s *PasswordPolicy) SetMinimumPasswordLength(v int64) *PasswordPolicy {
- s.MinimumPasswordLength = &v
- return s
-}
-
-// SetPasswordReusePrevention sets the PasswordReusePrevention field's value.
-func (s *PasswordPolicy) SetPasswordReusePrevention(v int64) *PasswordPolicy {
- s.PasswordReusePrevention = &v
- return s
-}
-
-// SetRequireLowercaseCharacters sets the RequireLowercaseCharacters field's value.
-func (s *PasswordPolicy) SetRequireLowercaseCharacters(v bool) *PasswordPolicy {
- s.RequireLowercaseCharacters = &v
- return s
-}
-
-// SetRequireNumbers sets the RequireNumbers field's value.
-func (s *PasswordPolicy) SetRequireNumbers(v bool) *PasswordPolicy {
- s.RequireNumbers = &v
- return s
-}
-
-// SetRequireSymbols sets the RequireSymbols field's value.
-func (s *PasswordPolicy) SetRequireSymbols(v bool) *PasswordPolicy {
- s.RequireSymbols = &v
- return s
-}
-
-// SetRequireUppercaseCharacters sets the RequireUppercaseCharacters field's value.
-func (s *PasswordPolicy) SetRequireUppercaseCharacters(v bool) *PasswordPolicy {
- s.RequireUppercaseCharacters = &v
- return s
-}
-
-// Contains information about a managed policy.
-//
-// This data type is used as a response element in the CreatePolicy, GetPolicy,
-// and ListPolicies operations.
-//
-// For more information about managed policies, refer to Managed Policies and
-// Inline Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
-// in the IAM User Guide.
-type Policy struct {
- _ struct{} `type:"structure"`
-
- // The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.
- //
- // For more information about ARNs, go to 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.
- Arn *string `min:"20" type:"string"`
-
- // The number of entities (users, groups, and roles) that the policy is attached
- // to.
- AttachmentCount *int64 `type:"integer"`
-
- // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
- // when the policy was created.
- CreateDate *time.Time `type:"timestamp"`
-
- // The identifier for the version of the policy that is set as the default version.
- DefaultVersionId *string `type:"string"`
-
- // A friendly description of the policy.
- //
- // This element is included in the response to the GetPolicy operation. It is
- // not included in the response to the ListPolicies operation.
- Description *string `type:"string"`
-
- // Specifies whether the policy can be attached to an IAM user, group, or role.
- IsAttachable *bool `type:"boolean"`
-
- // The path to the policy.
- //
- // For more information about paths, see IAM Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
- // in the IAM User Guide.
- Path *string `min:"1" type:"string"`
-
- // The number of entities (users and roles) for which the policy is used to
- // set the permissions boundary.
- //
- // For more information about permissions boundaries, see Permissions Boundaries
- // for IAM Identities (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html)
- // in the IAM User Guide.
- PermissionsBoundaryUsageCount *int64 `type:"integer"`
-
- // The stable and unique string identifying the policy.
- //
- // For more information about IDs, see IAM Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
- // in the IAM User Guide.
- PolicyId *string `min:"16" type:"string"`
-
- // The friendly name (not ARN) identifying the policy.
- PolicyName *string `min:"1" type:"string"`
-
- // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
- // when the policy was last updated.
- //
- // When a policy has only one version, this field contains the date and time
- // when the policy was created. When a policy has more than one version, this
- // field contains the date and time when the most recent policy version was
- // created.
- UpdateDate *time.Time `type:"timestamp"`
-}
-
-// String returns the string representation
-func (s Policy) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s Policy) GoString() string {
- return s.String()
-}
-
-// SetArn sets the Arn field's value.
-func (s *Policy) SetArn(v string) *Policy {
- s.Arn = &v
- return s
-}
-
-// SetAttachmentCount sets the AttachmentCount field's value.
-func (s *Policy) SetAttachmentCount(v int64) *Policy {
- s.AttachmentCount = &v
- return s
-}
-
-// SetCreateDate sets the CreateDate field's value.
-func (s *Policy) SetCreateDate(v time.Time) *Policy {
- s.CreateDate = &v
- return s
-}
-
-// SetDefaultVersionId sets the DefaultVersionId field's value.
-func (s *Policy) SetDefaultVersionId(v string) *Policy {
- s.DefaultVersionId = &v
- return s
-}
-
-// SetDescription sets the Description field's value.
-func (s *Policy) SetDescription(v string) *Policy {
- s.Description = &v
- return s
-}
-
-// SetIsAttachable sets the IsAttachable field's value.
-func (s *Policy) SetIsAttachable(v bool) *Policy {
- s.IsAttachable = &v
- return s
-}
-
-// SetPath sets the Path field's value.
-func (s *Policy) SetPath(v string) *Policy {
- s.Path = &v
- return s
-}
-
-// SetPermissionsBoundaryUsageCount sets the PermissionsBoundaryUsageCount field's value.
-func (s *Policy) SetPermissionsBoundaryUsageCount(v int64) *Policy {
- s.PermissionsBoundaryUsageCount = &v
- return s
-}
-
-// SetPolicyId sets the PolicyId field's value.
-func (s *Policy) SetPolicyId(v string) *Policy {
- s.PolicyId = &v
- return s
-}
-
-// SetPolicyName sets the PolicyName field's value.
-func (s *Policy) SetPolicyName(v string) *Policy {
- s.PolicyName = &v
- return s
-}
-
-// SetUpdateDate sets the UpdateDate field's value.
-func (s *Policy) SetUpdateDate(v time.Time) *Policy {
- s.UpdateDate = &v
- return s
-}
-
-// Contains information about an IAM policy, including the policy document.
-//
-// This data type is used as a response element in the GetAccountAuthorizationDetails
-// operation.
-type PolicyDetail struct {
- _ struct{} `type:"structure"`
-
- // The policy document.
- PolicyDocument *string `min:"1" type:"string"`
-
- // The name of the policy.
- PolicyName *string `min:"1" type:"string"`
-}
-
-// String returns the string representation
-func (s PolicyDetail) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s PolicyDetail) GoString() string {
- return s.String()
-}
-
-// SetPolicyDocument sets the PolicyDocument field's value.
-func (s *PolicyDetail) SetPolicyDocument(v string) *PolicyDetail {
- s.PolicyDocument = &v
- return s
-}
-
-// SetPolicyName sets the PolicyName field's value.
-func (s *PolicyDetail) SetPolicyName(v string) *PolicyDetail {
- s.PolicyName = &v
- return s
-}
-
-// Contains details about the permissions policies that are attached to the
-// specified identity (user, group, or role).
-//
-// This data type is an element of the ListPoliciesGrantingServiceAccessEntry
-// object.
-type PolicyGrantingServiceAccess struct {
- _ struct{} `type:"structure"`
-
- // The name of the entity (user or role) to which the inline policy is attached.
- //
- // This field is null for managed policies. For more information about these
- // policy types, see Managed Policies and Inline Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html)
- // in the IAM User Guide.
- EntityName *string `min:"1" type:"string"`
-
- // The type of entity (user or role) that used the policy to access the service
- // to which the inline policy is attached.
- //
- // This field is null for managed policies. For more information about these
- // policy types, see Managed Policies and Inline Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html)
- // in the IAM User Guide.
- EntityType *string `type:"string" enum:"policyOwnerEntityType"`
-
- // The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.
- //
- // For more information about ARNs, go to 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 *string `min:"20" type:"string"`
-
- // The policy name.
- //
- // PolicyName is a required field
- PolicyName *string `min:"1" type:"string" required:"true"`
-
- // The policy type. For more information about these policy types, see Managed
- // Policies and Inline Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html)
- // in the IAM User Guide.
- //
- // PolicyType is a required field
- PolicyType *string `type:"string" required:"true" enum:"policyType"`
-}
-
-// String returns the string representation
-func (s PolicyGrantingServiceAccess) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s PolicyGrantingServiceAccess) GoString() string {
- return s.String()
-}
-
-// SetEntityName sets the EntityName field's value.
-func (s *PolicyGrantingServiceAccess) SetEntityName(v string) *PolicyGrantingServiceAccess {
- s.EntityName = &v
- return s
-}
-
-// SetEntityType sets the EntityType field's value.
-func (s *PolicyGrantingServiceAccess) SetEntityType(v string) *PolicyGrantingServiceAccess {
- s.EntityType = &v
- return s
-}
-
-// SetPolicyArn sets the PolicyArn field's value.
-func (s *PolicyGrantingServiceAccess) SetPolicyArn(v string) *PolicyGrantingServiceAccess {
- s.PolicyArn = &v
- return s
-}
-
-// SetPolicyName sets the PolicyName field's value.
-func (s *PolicyGrantingServiceAccess) SetPolicyName(v string) *PolicyGrantingServiceAccess {
- s.PolicyName = &v
- return s
-}
-
-// SetPolicyType sets the PolicyType field's value.
-func (s *PolicyGrantingServiceAccess) SetPolicyType(v string) *PolicyGrantingServiceAccess {
- s.PolicyType = &v
- return s
-}
-
-// Contains information about a group that a managed policy is attached to.
-//
-// This data type is used as a response element in the ListEntitiesForPolicy
-// operation.
-//
-// For more information about managed policies, refer to Managed Policies and
-// Inline Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
-// in the IAM User Guide.
-type PolicyGroup struct {
- _ struct{} `type:"structure"`
-
- // The stable and unique string identifying the group. For more information
- // about IDs, see IAM Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html)
- // in the IAM User Guide.
- GroupId *string `min:"16" type:"string"`
-
- // The name (friendly name, not ARN) identifying the group.
- GroupName *string `min:"1" type:"string"`
-}
-
-// String returns the string representation
-func (s PolicyGroup) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s PolicyGroup) GoString() string {
- return s.String()
-}
-
-// SetGroupId sets the GroupId field's value.
-func (s *PolicyGroup) SetGroupId(v string) *PolicyGroup {
- s.GroupId = &v
- return s
-}
-
-// SetGroupName sets the GroupName field's value.
-func (s *PolicyGroup) SetGroupName(v string) *PolicyGroup {
- s.GroupName = &v
- return s
-}
-
-// Contains information about a role that a managed policy is attached to.
-//
-// This data type is used as a response element in the ListEntitiesForPolicy
-// operation.
-//
-// For more information about managed policies, refer to Managed Policies and
-// Inline Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
-// in the IAM User Guide.
-type PolicyRole struct {
- _ struct{} `type:"structure"`
-
- // The stable and unique string identifying the role. For more information about
- // IDs, see IAM Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html)
- // in the IAM User Guide.
- RoleId *string `min:"16" type:"string"`
-
- // The name (friendly name, not ARN) identifying the role.
- RoleName *string `min:"1" type:"string"`
-}
-
-// String returns the string representation
-func (s PolicyRole) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s PolicyRole) GoString() string {
- return s.String()
-}
-
-// SetRoleId sets the RoleId field's value.
-func (s *PolicyRole) SetRoleId(v string) *PolicyRole {
- s.RoleId = &v
- return s
-}
-
-// SetRoleName sets the RoleName field's value.
-func (s *PolicyRole) SetRoleName(v string) *PolicyRole {
- s.RoleName = &v
- return s
-}
-
-// Contains information about a user that a managed policy is attached to.
-//
-// This data type is used as a response element in the ListEntitiesForPolicy
-// operation.
-//
-// For more information about managed policies, refer to Managed Policies and
-// Inline Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
-// in the IAM User Guide.
-type PolicyUser struct {
- _ struct{} `type:"structure"`
-
- // The stable and unique string identifying the user. For more information about
- // IDs, see IAM Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html)
- // in the IAM User Guide.
- UserId *string `min:"16" type:"string"`
-
- // The name (friendly name, not ARN) identifying the user.
- UserName *string `min:"1" type:"string"`
-}
-
-// String returns the string representation
-func (s PolicyUser) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s PolicyUser) GoString() string {
- return s.String()
-}
-
-// SetUserId sets the UserId field's value.
-func (s *PolicyUser) SetUserId(v string) *PolicyUser {
- s.UserId = &v
- return s
-}
-
-// SetUserName sets the UserName field's value.
-func (s *PolicyUser) SetUserName(v string) *PolicyUser {
- s.UserName = &v
- return s
-}
-
-// Contains information about a version of a managed policy.
-//
-// This data type is used as a response element in the CreatePolicyVersion,
-// GetPolicyVersion, ListPolicyVersions, and GetAccountAuthorizationDetails
-// operations.
-//
-// For more information about managed policies, refer to Managed Policies and
-// Inline Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
-// in the IAM User Guide.
-type PolicyVersion struct {
- _ struct{} `type:"structure"`
-
- // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
- // when the policy version was created.
- CreateDate *time.Time `type:"timestamp"`
-
- // The policy document.
- //
- // The policy document is returned in the response to the GetPolicyVersion and
- // GetAccountAuthorizationDetails operations. It is not returned in the response
- // to the CreatePolicyVersion or ListPolicyVersions operations.
- //
- // The policy document returned in this structure is URL-encoded compliant with
- // RFC 3986 (https://tools.ietf.org/html/rfc3986). You can use a URL decoding
- // method to convert the policy back to plain JSON text. For example, if you
- // use Java, you can use the decode method of the java.net.URLDecoder utility
- // class in the Java SDK. Other languages and SDKs provide similar functionality.
- Document *string `min:"1" type:"string"`
-
- // Specifies whether the policy version is set as the policy's default version.
- IsDefaultVersion *bool `type:"boolean"`
-
- // The identifier for the policy version.
- //
- // Policy version identifiers always begin with v (always lowercase). When a
- // policy is created, the first policy version is v1.
- VersionId *string `type:"string"`
-}
-
-// String returns the string representation
-func (s PolicyVersion) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s PolicyVersion) GoString() string {
- return s.String()
-}
-
-// SetCreateDate sets the CreateDate field's value.
-func (s *PolicyVersion) SetCreateDate(v time.Time) *PolicyVersion {
- s.CreateDate = &v
- return s
-}
-
-// SetDocument sets the Document field's value.
-func (s *PolicyVersion) SetDocument(v string) *PolicyVersion {
- s.Document = &v
- return s
-}
-
-// SetIsDefaultVersion sets the IsDefaultVersion field's value.
-func (s *PolicyVersion) SetIsDefaultVersion(v bool) *PolicyVersion {
- s.IsDefaultVersion = &v
- return s
-}
-
-// SetVersionId sets the VersionId field's value.
-func (s *PolicyVersion) SetVersionId(v string) *PolicyVersion {
- s.VersionId = &v
- return s
-}
-
-// Contains the row and column of a location of a Statement element in a policy
-// document.
-//
-// This data type is used as a member of the Statement type.
-type Position struct {
- _ struct{} `type:"structure"`
-
- // The column in the line containing the specified position in the document.
- Column *int64 `type:"integer"`
-
- // The line containing the specified position in the document.
- Line *int64 `type:"integer"`
-}
-
-// String returns the string representation
-func (s Position) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s Position) GoString() string {
- return s.String()
-}
-
-// SetColumn sets the Column field's value.
-func (s *Position) SetColumn(v int64) *Position {
- s.Column = &v
- return s
-}
-
-// SetLine sets the Line field's value.
-func (s *Position) SetLine(v int64) *Position {
- s.Line = &v
- return s
-}
-
-type PutGroupPolicyInput struct {
- _ struct{} `type:"structure"`
-
- // The name of the group to associate the policy with.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-.
- //
- // GroupName is a required field
- GroupName *string `min:"1" type:"string" required:"true"`
-
- // The policy document.
- //
- // You must provide policies in JSON format in IAM. However, for AWS CloudFormation
- // templates formatted in YAML, you can provide the policy in JSON or YAML format.
- // AWS CloudFormation always converts a YAML policy to JSON format before submitting
- // it to IAM.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) used to validate this
- // parameter is a string of characters consisting of the following:
- //
- // * Any printable ASCII character ranging from the space character (\u0020)
- // through the end of the ASCII character range
- //
- // * The printable characters in the Basic Latin and Latin-1 Supplement character
- // set (through \u00FF)
- //
- // * The special characters tab (\u0009), line feed (\u000A), and carriage
- // return (\u000D)
- //
- // PolicyDocument is a required field
- PolicyDocument *string `min:"1" type:"string" required:"true"`
-
- // The name of the policy document.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // PolicyName is a required field
- PolicyName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s PutGroupPolicyInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s PutGroupPolicyInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *PutGroupPolicyInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "PutGroupPolicyInput"}
- if s.GroupName == nil {
- invalidParams.Add(request.NewErrParamRequired("GroupName"))
- }
- if s.GroupName != nil && len(*s.GroupName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("GroupName", 1))
- }
- if s.PolicyDocument == nil {
- invalidParams.Add(request.NewErrParamRequired("PolicyDocument"))
- }
- if s.PolicyDocument != nil && len(*s.PolicyDocument) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("PolicyDocument", 1))
- }
- if s.PolicyName == nil {
- invalidParams.Add(request.NewErrParamRequired("PolicyName"))
- }
- if s.PolicyName != nil && len(*s.PolicyName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("PolicyName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetGroupName sets the GroupName field's value.
-func (s *PutGroupPolicyInput) SetGroupName(v string) *PutGroupPolicyInput {
- s.GroupName = &v
- return s
-}
-
-// SetPolicyDocument sets the PolicyDocument field's value.
-func (s *PutGroupPolicyInput) SetPolicyDocument(v string) *PutGroupPolicyInput {
- s.PolicyDocument = &v
- return s
-}
-
-// SetPolicyName sets the PolicyName field's value.
-func (s *PutGroupPolicyInput) SetPolicyName(v string) *PutGroupPolicyInput {
- s.PolicyName = &v
- return s
-}
-
-type PutGroupPolicyOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s PutGroupPolicyOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s PutGroupPolicyOutput) GoString() string {
- return s.String()
-}
-
-type PutRolePermissionsBoundaryInput struct {
- _ struct{} `type:"structure"`
-
- // The ARN of the policy that is used to set the permissions boundary for the
- // role.
- //
- // PermissionsBoundary is a required field
- PermissionsBoundary *string `min:"20" type:"string" required:"true"`
-
- // The name (friendly name, not ARN) of the IAM role for which you want to set
- // the permissions boundary.
- //
- // RoleName is a required field
- RoleName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s PutRolePermissionsBoundaryInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s PutRolePermissionsBoundaryInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *PutRolePermissionsBoundaryInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "PutRolePermissionsBoundaryInput"}
- if s.PermissionsBoundary == nil {
- invalidParams.Add(request.NewErrParamRequired("PermissionsBoundary"))
- }
- if s.PermissionsBoundary != nil && len(*s.PermissionsBoundary) < 20 {
- invalidParams.Add(request.NewErrParamMinLen("PermissionsBoundary", 20))
- }
- if s.RoleName == nil {
- invalidParams.Add(request.NewErrParamRequired("RoleName"))
- }
- if s.RoleName != nil && len(*s.RoleName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("RoleName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetPermissionsBoundary sets the PermissionsBoundary field's value.
-func (s *PutRolePermissionsBoundaryInput) SetPermissionsBoundary(v string) *PutRolePermissionsBoundaryInput {
- s.PermissionsBoundary = &v
- return s
-}
-
-// SetRoleName sets the RoleName field's value.
-func (s *PutRolePermissionsBoundaryInput) SetRoleName(v string) *PutRolePermissionsBoundaryInput {
- s.RoleName = &v
- return s
-}
-
-type PutRolePermissionsBoundaryOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s PutRolePermissionsBoundaryOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s PutRolePermissionsBoundaryOutput) GoString() string {
- return s.String()
-}
-
-type PutRolePolicyInput struct {
- _ struct{} `type:"structure"`
-
- // The policy document.
- //
- // You must provide policies in JSON format in IAM. However, for AWS CloudFormation
- // templates formatted in YAML, you can provide the policy in JSON or YAML format.
- // AWS CloudFormation always converts a YAML policy to JSON format before submitting
- // it to IAM.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) used to validate this
- // parameter is a string of characters consisting of the following:
- //
- // * Any printable ASCII character ranging from the space character (\u0020)
- // through the end of the ASCII character range
- //
- // * The printable characters in the Basic Latin and Latin-1 Supplement character
- // set (through \u00FF)
- //
- // * The special characters tab (\u0009), line feed (\u000A), and carriage
- // return (\u000D)
- //
- // PolicyDocument is a required field
- PolicyDocument *string `min:"1" type:"string" required:"true"`
-
- // The name of the policy document.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // PolicyName is a required field
- PolicyName *string `min:"1" type:"string" required:"true"`
-
- // The name of the role to associate the policy with.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // RoleName is a required field
- RoleName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s PutRolePolicyInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s PutRolePolicyInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *PutRolePolicyInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "PutRolePolicyInput"}
- if s.PolicyDocument == nil {
- invalidParams.Add(request.NewErrParamRequired("PolicyDocument"))
- }
- if s.PolicyDocument != nil && len(*s.PolicyDocument) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("PolicyDocument", 1))
- }
- if s.PolicyName == nil {
- invalidParams.Add(request.NewErrParamRequired("PolicyName"))
- }
- if s.PolicyName != nil && len(*s.PolicyName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("PolicyName", 1))
- }
- if s.RoleName == nil {
- invalidParams.Add(request.NewErrParamRequired("RoleName"))
- }
- if s.RoleName != nil && len(*s.RoleName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("RoleName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetPolicyDocument sets the PolicyDocument field's value.
-func (s *PutRolePolicyInput) SetPolicyDocument(v string) *PutRolePolicyInput {
- s.PolicyDocument = &v
- return s
-}
-
-// SetPolicyName sets the PolicyName field's value.
-func (s *PutRolePolicyInput) SetPolicyName(v string) *PutRolePolicyInput {
- s.PolicyName = &v
- return s
-}
-
-// SetRoleName sets the RoleName field's value.
-func (s *PutRolePolicyInput) SetRoleName(v string) *PutRolePolicyInput {
- s.RoleName = &v
- return s
-}
-
-type PutRolePolicyOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s PutRolePolicyOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s PutRolePolicyOutput) GoString() string {
- return s.String()
-}
-
-type PutUserPermissionsBoundaryInput struct {
- _ struct{} `type:"structure"`
-
- // The ARN of the policy that is used to set the permissions boundary for the
- // user.
- //
- // PermissionsBoundary is a required field
- PermissionsBoundary *string `min:"20" type:"string" required:"true"`
-
- // The name (friendly name, not ARN) of the IAM user for which you want to set
- // the permissions boundary.
- //
- // UserName is a required field
- UserName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s PutUserPermissionsBoundaryInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s PutUserPermissionsBoundaryInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *PutUserPermissionsBoundaryInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "PutUserPermissionsBoundaryInput"}
- if s.PermissionsBoundary == nil {
- invalidParams.Add(request.NewErrParamRequired("PermissionsBoundary"))
- }
- if s.PermissionsBoundary != nil && len(*s.PermissionsBoundary) < 20 {
- invalidParams.Add(request.NewErrParamMinLen("PermissionsBoundary", 20))
- }
- if s.UserName == nil {
- invalidParams.Add(request.NewErrParamRequired("UserName"))
- }
- if s.UserName != nil && len(*s.UserName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetPermissionsBoundary sets the PermissionsBoundary field's value.
-func (s *PutUserPermissionsBoundaryInput) SetPermissionsBoundary(v string) *PutUserPermissionsBoundaryInput {
- s.PermissionsBoundary = &v
- return s
-}
-
-// SetUserName sets the UserName field's value.
-func (s *PutUserPermissionsBoundaryInput) SetUserName(v string) *PutUserPermissionsBoundaryInput {
- s.UserName = &v
- return s
-}
-
-type PutUserPermissionsBoundaryOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s PutUserPermissionsBoundaryOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s PutUserPermissionsBoundaryOutput) GoString() string {
- return s.String()
-}
-
-type PutUserPolicyInput struct {
- _ struct{} `type:"structure"`
-
- // The policy document.
- //
- // You must provide policies in JSON format in IAM. However, for AWS CloudFormation
- // templates formatted in YAML, you can provide the policy in JSON or YAML format.
- // AWS CloudFormation always converts a YAML policy to JSON format before submitting
- // it to IAM.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) used to validate this
- // parameter is a string of characters consisting of the following:
- //
- // * Any printable ASCII character ranging from the space character (\u0020)
- // through the end of the ASCII character range
- //
- // * The printable characters in the Basic Latin and Latin-1 Supplement character
- // set (through \u00FF)
- //
- // * The special characters tab (\u0009), line feed (\u000A), and carriage
- // return (\u000D)
- //
- // PolicyDocument is a required field
- PolicyDocument *string `min:"1" type:"string" required:"true"`
-
- // The name of the policy document.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // PolicyName is a required field
- PolicyName *string `min:"1" type:"string" required:"true"`
-
- // The name of the user to associate the policy with.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // UserName is a required field
- UserName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s PutUserPolicyInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s PutUserPolicyInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *PutUserPolicyInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "PutUserPolicyInput"}
- if s.PolicyDocument == nil {
- invalidParams.Add(request.NewErrParamRequired("PolicyDocument"))
- }
- if s.PolicyDocument != nil && len(*s.PolicyDocument) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("PolicyDocument", 1))
- }
- if s.PolicyName == nil {
- invalidParams.Add(request.NewErrParamRequired("PolicyName"))
- }
- if s.PolicyName != nil && len(*s.PolicyName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("PolicyName", 1))
- }
- if s.UserName == nil {
- invalidParams.Add(request.NewErrParamRequired("UserName"))
- }
- if s.UserName != nil && len(*s.UserName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetPolicyDocument sets the PolicyDocument field's value.
-func (s *PutUserPolicyInput) SetPolicyDocument(v string) *PutUserPolicyInput {
- s.PolicyDocument = &v
- return s
-}
-
-// SetPolicyName sets the PolicyName field's value.
-func (s *PutUserPolicyInput) SetPolicyName(v string) *PutUserPolicyInput {
- s.PolicyName = &v
- return s
-}
-
-// SetUserName sets the UserName field's value.
-func (s *PutUserPolicyInput) SetUserName(v string) *PutUserPolicyInput {
- s.UserName = &v
- return s
-}
-
-type PutUserPolicyOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s PutUserPolicyOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s PutUserPolicyOutput) GoString() string {
- return s.String()
-}
-
-type RemoveClientIDFromOpenIDConnectProviderInput struct {
- _ struct{} `type:"structure"`
-
- // The client ID (also known as audience) to remove from the IAM OIDC provider
- // resource. For more information about client IDs, see CreateOpenIDConnectProvider.
- //
- // ClientID is a required field
- ClientID *string `min:"1" type:"string" required:"true"`
-
- // The Amazon Resource Name (ARN) of the IAM OIDC provider resource to remove
- // the client ID from. You can get a list of OIDC provider ARNs by using the
- // ListOpenIDConnectProviders operation.
- //
- // 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.
- //
- // OpenIDConnectProviderArn is a required field
- OpenIDConnectProviderArn *string `min:"20" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s RemoveClientIDFromOpenIDConnectProviderInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s RemoveClientIDFromOpenIDConnectProviderInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *RemoveClientIDFromOpenIDConnectProviderInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "RemoveClientIDFromOpenIDConnectProviderInput"}
- if s.ClientID == nil {
- invalidParams.Add(request.NewErrParamRequired("ClientID"))
- }
- if s.ClientID != nil && len(*s.ClientID) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("ClientID", 1))
- }
- if s.OpenIDConnectProviderArn == nil {
- invalidParams.Add(request.NewErrParamRequired("OpenIDConnectProviderArn"))
- }
- if s.OpenIDConnectProviderArn != nil && len(*s.OpenIDConnectProviderArn) < 20 {
- invalidParams.Add(request.NewErrParamMinLen("OpenIDConnectProviderArn", 20))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetClientID sets the ClientID field's value.
-func (s *RemoveClientIDFromOpenIDConnectProviderInput) SetClientID(v string) *RemoveClientIDFromOpenIDConnectProviderInput {
- s.ClientID = &v
- return s
-}
-
-// SetOpenIDConnectProviderArn sets the OpenIDConnectProviderArn field's value.
-func (s *RemoveClientIDFromOpenIDConnectProviderInput) SetOpenIDConnectProviderArn(v string) *RemoveClientIDFromOpenIDConnectProviderInput {
- s.OpenIDConnectProviderArn = &v
- return s
-}
-
-type RemoveClientIDFromOpenIDConnectProviderOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s RemoveClientIDFromOpenIDConnectProviderOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s RemoveClientIDFromOpenIDConnectProviderOutput) GoString() string {
- return s.String()
-}
-
-type RemoveRoleFromInstanceProfileInput struct {
- _ struct{} `type:"structure"`
-
- // The name of the instance profile to update.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // InstanceProfileName is a required field
- InstanceProfileName *string `min:"1" type:"string" required:"true"`
-
- // The name of the role to remove.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // RoleName is a required field
- RoleName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s RemoveRoleFromInstanceProfileInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s RemoveRoleFromInstanceProfileInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *RemoveRoleFromInstanceProfileInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "RemoveRoleFromInstanceProfileInput"}
- if s.InstanceProfileName == nil {
- invalidParams.Add(request.NewErrParamRequired("InstanceProfileName"))
- }
- if s.InstanceProfileName != nil && len(*s.InstanceProfileName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("InstanceProfileName", 1))
- }
- if s.RoleName == nil {
- invalidParams.Add(request.NewErrParamRequired("RoleName"))
- }
- if s.RoleName != nil && len(*s.RoleName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("RoleName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetInstanceProfileName sets the InstanceProfileName field's value.
-func (s *RemoveRoleFromInstanceProfileInput) SetInstanceProfileName(v string) *RemoveRoleFromInstanceProfileInput {
- s.InstanceProfileName = &v
- return s
-}
-
-// SetRoleName sets the RoleName field's value.
-func (s *RemoveRoleFromInstanceProfileInput) SetRoleName(v string) *RemoveRoleFromInstanceProfileInput {
- s.RoleName = &v
- return s
-}
-
-type RemoveRoleFromInstanceProfileOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s RemoveRoleFromInstanceProfileOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s RemoveRoleFromInstanceProfileOutput) GoString() string {
- return s.String()
-}
-
-type RemoveUserFromGroupInput struct {
- _ struct{} `type:"structure"`
-
- // The name of the group to update.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // GroupName is a required field
- GroupName *string `min:"1" type:"string" required:"true"`
-
- // The name of the user to remove.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // UserName is a required field
- UserName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s RemoveUserFromGroupInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s RemoveUserFromGroupInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *RemoveUserFromGroupInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "RemoveUserFromGroupInput"}
- if s.GroupName == nil {
- invalidParams.Add(request.NewErrParamRequired("GroupName"))
- }
- if s.GroupName != nil && len(*s.GroupName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("GroupName", 1))
- }
- if s.UserName == nil {
- invalidParams.Add(request.NewErrParamRequired("UserName"))
- }
- if s.UserName != nil && len(*s.UserName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetGroupName sets the GroupName field's value.
-func (s *RemoveUserFromGroupInput) SetGroupName(v string) *RemoveUserFromGroupInput {
- s.GroupName = &v
- return s
-}
-
-// SetUserName sets the UserName field's value.
-func (s *RemoveUserFromGroupInput) SetUserName(v string) *RemoveUserFromGroupInput {
- s.UserName = &v
- return s
-}
-
-type RemoveUserFromGroupOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s RemoveUserFromGroupOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s RemoveUserFromGroupOutput) GoString() string {
- return s.String()
-}
-
-type ResetServiceSpecificCredentialInput struct {
- _ struct{} `type:"structure"`
-
- // The unique identifier of the service-specific credential.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters that can consist of any upper or lowercased letter
- // or digit.
- //
- // ServiceSpecificCredentialId is a required field
- ServiceSpecificCredentialId *string `min:"20" type:"string" required:"true"`
-
- // The name of the IAM user associated with the service-specific credential.
- // If this value is not specified, then the operation assumes the user whose
- // credentials are used to call the operation.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- UserName *string `min:"1" type:"string"`
-}
-
-// String returns the string representation
-func (s ResetServiceSpecificCredentialInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ResetServiceSpecificCredentialInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *ResetServiceSpecificCredentialInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ResetServiceSpecificCredentialInput"}
- if s.ServiceSpecificCredentialId == nil {
- invalidParams.Add(request.NewErrParamRequired("ServiceSpecificCredentialId"))
- }
- if s.ServiceSpecificCredentialId != nil && len(*s.ServiceSpecificCredentialId) < 20 {
- invalidParams.Add(request.NewErrParamMinLen("ServiceSpecificCredentialId", 20))
- }
- if s.UserName != nil && len(*s.UserName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetServiceSpecificCredentialId sets the ServiceSpecificCredentialId field's value.
-func (s *ResetServiceSpecificCredentialInput) SetServiceSpecificCredentialId(v string) *ResetServiceSpecificCredentialInput {
- s.ServiceSpecificCredentialId = &v
- return s
-}
-
-// SetUserName sets the UserName field's value.
-func (s *ResetServiceSpecificCredentialInput) SetUserName(v string) *ResetServiceSpecificCredentialInput {
- s.UserName = &v
- return s
-}
-
-type ResetServiceSpecificCredentialOutput struct {
- _ struct{} `type:"structure"`
-
- // A structure with details about the updated service-specific credential, including
- // the new password.
- //
- // This is the only time that you can access the password. You cannot recover
- // the password later, but you can reset it again.
- ServiceSpecificCredential *ServiceSpecificCredential `type:"structure"`
-}
-
-// String returns the string representation
-func (s ResetServiceSpecificCredentialOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ResetServiceSpecificCredentialOutput) GoString() string {
- return s.String()
-}
-
-// SetServiceSpecificCredential sets the ServiceSpecificCredential field's value.
-func (s *ResetServiceSpecificCredentialOutput) SetServiceSpecificCredential(v *ServiceSpecificCredential) *ResetServiceSpecificCredentialOutput {
- s.ServiceSpecificCredential = v
- return s
-}
-
-// Contains the result of the simulation of a single API operation call on a
-// single resource.
-//
-// This data type is used by a member of the EvaluationResult data type.
-type ResourceSpecificResult struct {
- _ struct{} `type:"structure"`
-
- // Additional details about the results of the evaluation decision. When there
- // are both IAM policies and resource policies, this parameter explains how
- // each set of policies contributes to the final evaluation decision. When simulating
- // cross-account access to a resource, both the resource-based policy and the
- // caller's IAM policy must grant access.
- EvalDecisionDetails map[string]*string `type:"map"`
-
- // The result of the simulation of the simulated API operation on the resource
- // specified in EvalResourceName.
- //
- // EvalResourceDecision is a required field
- EvalResourceDecision *string `type:"string" required:"true" enum:"PolicyEvaluationDecisionType"`
-
- // The name of the simulated resource, in Amazon Resource Name (ARN) format.
- //
- // EvalResourceName is a required field
- EvalResourceName *string `min:"1" type:"string" required:"true"`
-
- // A list of the statements in the input policies that determine the result
- // for this part of the simulation. Remember that even if multiple statements
- // allow the operation on the resource, if any statement denies that operation,
- // then the explicit deny overrides any allow. In addition, the deny statement
- // is the only entry included in the result.
- MatchedStatements []*Statement `type:"list"`
-
- // A list of context keys that are required by the included input policies but
- // that were not provided by one of the input parameters. This list is used
- // when a list of ARNs is included in the ResourceArns parameter instead of
- // "*". If you do not specify individual resources, by setting ResourceArns
- // to "*" or by not including the ResourceArns parameter, then any missing context
- // values are instead included under the EvaluationResults section. To discover
- // the context keys used by a set of policies, you can call GetContextKeysForCustomPolicy
- // or GetContextKeysForPrincipalPolicy.
- MissingContextValues []*string `type:"list"`
-}
-
-// String returns the string representation
-func (s ResourceSpecificResult) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ResourceSpecificResult) GoString() string {
- return s.String()
-}
-
-// SetEvalDecisionDetails sets the EvalDecisionDetails field's value.
-func (s *ResourceSpecificResult) SetEvalDecisionDetails(v map[string]*string) *ResourceSpecificResult {
- s.EvalDecisionDetails = v
- return s
-}
-
-// SetEvalResourceDecision sets the EvalResourceDecision field's value.
-func (s *ResourceSpecificResult) SetEvalResourceDecision(v string) *ResourceSpecificResult {
- s.EvalResourceDecision = &v
- return s
-}
-
-// SetEvalResourceName sets the EvalResourceName field's value.
-func (s *ResourceSpecificResult) SetEvalResourceName(v string) *ResourceSpecificResult {
- s.EvalResourceName = &v
- return s
-}
-
-// SetMatchedStatements sets the MatchedStatements field's value.
-func (s *ResourceSpecificResult) SetMatchedStatements(v []*Statement) *ResourceSpecificResult {
- s.MatchedStatements = v
- return s
-}
-
-// SetMissingContextValues sets the MissingContextValues field's value.
-func (s *ResourceSpecificResult) SetMissingContextValues(v []*string) *ResourceSpecificResult {
- s.MissingContextValues = v
- return s
-}
-
-type ResyncMFADeviceInput struct {
- _ struct{} `type:"structure"`
-
- // An authentication code emitted by the device.
- //
- // The format for this parameter is a sequence of six digits.
- //
- // AuthenticationCode1 is a required field
- AuthenticationCode1 *string `min:"6" type:"string" required:"true"`
-
- // A subsequent authentication code emitted by the device.
- //
- // The format for this parameter is a sequence of six digits.
- //
- // AuthenticationCode2 is a required field
- AuthenticationCode2 *string `min:"6" type:"string" required:"true"`
-
- // Serial number that uniquely identifies the MFA device.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // SerialNumber is a required field
- SerialNumber *string `min:"9" type:"string" required:"true"`
-
- // The name of the user whose MFA device you want to resynchronize.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // UserName is a required field
- UserName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s ResyncMFADeviceInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ResyncMFADeviceInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *ResyncMFADeviceInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ResyncMFADeviceInput"}
- if s.AuthenticationCode1 == nil {
- invalidParams.Add(request.NewErrParamRequired("AuthenticationCode1"))
- }
- if s.AuthenticationCode1 != nil && len(*s.AuthenticationCode1) < 6 {
- invalidParams.Add(request.NewErrParamMinLen("AuthenticationCode1", 6))
- }
- if s.AuthenticationCode2 == nil {
- invalidParams.Add(request.NewErrParamRequired("AuthenticationCode2"))
- }
- if s.AuthenticationCode2 != nil && len(*s.AuthenticationCode2) < 6 {
- invalidParams.Add(request.NewErrParamMinLen("AuthenticationCode2", 6))
- }
- if s.SerialNumber == nil {
- invalidParams.Add(request.NewErrParamRequired("SerialNumber"))
- }
- if s.SerialNumber != nil && len(*s.SerialNumber) < 9 {
- invalidParams.Add(request.NewErrParamMinLen("SerialNumber", 9))
- }
- if s.UserName == nil {
- invalidParams.Add(request.NewErrParamRequired("UserName"))
- }
- if s.UserName != nil && len(*s.UserName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetAuthenticationCode1 sets the AuthenticationCode1 field's value.
-func (s *ResyncMFADeviceInput) SetAuthenticationCode1(v string) *ResyncMFADeviceInput {
- s.AuthenticationCode1 = &v
- return s
-}
-
-// SetAuthenticationCode2 sets the AuthenticationCode2 field's value.
-func (s *ResyncMFADeviceInput) SetAuthenticationCode2(v string) *ResyncMFADeviceInput {
- s.AuthenticationCode2 = &v
- return s
-}
-
-// SetSerialNumber sets the SerialNumber field's value.
-func (s *ResyncMFADeviceInput) SetSerialNumber(v string) *ResyncMFADeviceInput {
- s.SerialNumber = &v
- return s
-}
-
-// SetUserName sets the UserName field's value.
-func (s *ResyncMFADeviceInput) SetUserName(v string) *ResyncMFADeviceInput {
- s.UserName = &v
- return s
-}
-
-type ResyncMFADeviceOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s ResyncMFADeviceOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ResyncMFADeviceOutput) GoString() string {
- return s.String()
-}
-
-// Contains information about an IAM role. This structure is returned as a response
-// element in several API operations that interact with roles.
-type Role struct {
- _ struct{} `type:"structure"`
-
- // The Amazon Resource Name (ARN) specifying the role. For more information
- // about ARNs and how to use them in policies, see IAM Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
- // in the IAM User Guide guide.
- //
- // Arn is a required field
- Arn *string `min:"20" type:"string" required:"true"`
-
- // The policy that grants an entity permission to assume the role.
- AssumeRolePolicyDocument *string `min:"1" type:"string"`
-
- // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
- // when the role was created.
- //
- // CreateDate is a required field
- CreateDate *time.Time `type:"timestamp" required:"true"`
-
- // A description of the role that you provide.
- Description *string `type:"string"`
-
- // The maximum session duration (in seconds) for the specified role. Anyone
- // who uses the AWS CLI, or API to assume the role can specify the duration
- // using the optional DurationSeconds API parameter or duration-seconds CLI
- // parameter.
- MaxSessionDuration *int64 `min:"3600" type:"integer"`
-
- // The path to the role. For more information about paths, see IAM Identifiers
- // (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
- // in the IAM User Guide.
- //
- // Path is a required field
- Path *string `min:"1" type:"string" required:"true"`
-
- // The ARN of the policy used to set the permissions boundary for the role.
- //
- // For more information about permissions boundaries, see Permissions Boundaries
- // for IAM Identities (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html)
- // in the IAM User Guide.
- PermissionsBoundary *AttachedPermissionsBoundary `type:"structure"`
-
- // The stable and unique string identifying the role. For more information about
- // IDs, see IAM Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
- // in the IAM User Guide.
- //
- // RoleId is a required field
- RoleId *string `min:"16" type:"string" required:"true"`
-
- // Contains information about the last time that an IAM role was used. This
- // includes the date and time and the Region in which the role was last used.
- // Activity is only reported for the trailing 400 days. This period can be shorter
- // if your Region began supporting these features within the last year. The
- // role might have been used more than 400 days ago. For more information, see
- // Regions Where Data Is Tracked (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_access-advisor.html#access-advisor_tracking-period)
- // in the IAM User Guide.
- RoleLastUsed *RoleLastUsed `type:"structure"`
-
- // The friendly name that identifies the role.
- //
- // RoleName is a required field
- RoleName *string `min:"1" type:"string" required:"true"`
-
- // A list of tags that are attached to the specified role. For more information
- // about tagging, see Tagging IAM Identities (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)
- // in the IAM User Guide.
- Tags []*Tag `type:"list"`
-}
-
-// String returns the string representation
-func (s Role) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s Role) GoString() string {
- return s.String()
-}
-
-// SetArn sets the Arn field's value.
-func (s *Role) SetArn(v string) *Role {
- s.Arn = &v
- return s
-}
-
-// SetAssumeRolePolicyDocument sets the AssumeRolePolicyDocument field's value.
-func (s *Role) SetAssumeRolePolicyDocument(v string) *Role {
- s.AssumeRolePolicyDocument = &v
- return s
-}
-
-// SetCreateDate sets the CreateDate field's value.
-func (s *Role) SetCreateDate(v time.Time) *Role {
- s.CreateDate = &v
- return s
-}
-
-// SetDescription sets the Description field's value.
-func (s *Role) SetDescription(v string) *Role {
- s.Description = &v
- return s
-}
-
-// SetMaxSessionDuration sets the MaxSessionDuration field's value.
-func (s *Role) SetMaxSessionDuration(v int64) *Role {
- s.MaxSessionDuration = &v
- return s
-}
-
-// SetPath sets the Path field's value.
-func (s *Role) SetPath(v string) *Role {
- s.Path = &v
- return s
-}
-
-// SetPermissionsBoundary sets the PermissionsBoundary field's value.
-func (s *Role) SetPermissionsBoundary(v *AttachedPermissionsBoundary) *Role {
- s.PermissionsBoundary = v
- return s
-}
-
-// SetRoleId sets the RoleId field's value.
-func (s *Role) SetRoleId(v string) *Role {
- s.RoleId = &v
- return s
-}
-
-// SetRoleLastUsed sets the RoleLastUsed field's value.
-func (s *Role) SetRoleLastUsed(v *RoleLastUsed) *Role {
- s.RoleLastUsed = v
- return s
-}
-
-// SetRoleName sets the RoleName field's value.
-func (s *Role) SetRoleName(v string) *Role {
- s.RoleName = &v
- return s
-}
-
-// SetTags sets the Tags field's value.
-func (s *Role) SetTags(v []*Tag) *Role {
- s.Tags = v
- return s
-}
-
-// Contains information about an IAM role, including all of the role's policies.
-//
-// This data type is used as a response element in the GetAccountAuthorizationDetails
-// operation.
-type RoleDetail struct {
- _ struct{} `type:"structure"`
-
- // The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.
- //
- // For more information about ARNs, go to 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.
- Arn *string `min:"20" type:"string"`
-
- // The trust policy that grants permission to assume the role.
- AssumeRolePolicyDocument *string `min:"1" type:"string"`
-
- // A list of managed policies attached to the role. These policies are the role's
- // access (permissions) policies.
- AttachedManagedPolicies []*AttachedPolicy `type:"list"`
-
- // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
- // when the role was created.
- CreateDate *time.Time `type:"timestamp"`
-
- // A list of instance profiles that contain this role.
- InstanceProfileList []*InstanceProfile `type:"list"`
-
- // The path to the role. For more information about paths, see IAM Identifiers
- // (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
- // in the IAM User Guide.
- Path *string `min:"1" type:"string"`
-
- // The ARN of the policy used to set the permissions boundary for the role.
- //
- // For more information about permissions boundaries, see Permissions Boundaries
- // for IAM Identities (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html)
- // in the IAM User Guide.
- PermissionsBoundary *AttachedPermissionsBoundary `type:"structure"`
-
- // The stable and unique string identifying the role. For more information about
- // IDs, see IAM Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
- // in the IAM User Guide.
- RoleId *string `min:"16" type:"string"`
-
- // Contains information about the last time that an IAM role was used. This
- // includes the date and time and the Region in which the role was last used.
- // Activity is only reported for the trailing 400 days. This period can be shorter
- // if your Region began supporting these features within the last year. The
- // role might have been used more than 400 days ago. For more information, see
- // Regions Where Data Is Tracked (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_access-advisor.html#access-advisor_tracking-period)
- // in the IAM User Guide.
- RoleLastUsed *RoleLastUsed `type:"structure"`
-
- // The friendly name that identifies the role.
- RoleName *string `min:"1" type:"string"`
-
- // A list of inline policies embedded in the role. These policies are the role's
- // access (permissions) policies.
- RolePolicyList []*PolicyDetail `type:"list"`
-
- // A list of tags that are attached to the specified role. For more information
- // about tagging, see Tagging IAM Identities (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)
- // in the IAM User Guide.
- Tags []*Tag `type:"list"`
-}
-
-// String returns the string representation
-func (s RoleDetail) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s RoleDetail) GoString() string {
- return s.String()
-}
-
-// SetArn sets the Arn field's value.
-func (s *RoleDetail) SetArn(v string) *RoleDetail {
- s.Arn = &v
- return s
-}
-
-// SetAssumeRolePolicyDocument sets the AssumeRolePolicyDocument field's value.
-func (s *RoleDetail) SetAssumeRolePolicyDocument(v string) *RoleDetail {
- s.AssumeRolePolicyDocument = &v
- return s
-}
-
-// SetAttachedManagedPolicies sets the AttachedManagedPolicies field's value.
-func (s *RoleDetail) SetAttachedManagedPolicies(v []*AttachedPolicy) *RoleDetail {
- s.AttachedManagedPolicies = v
- return s
-}
-
-// SetCreateDate sets the CreateDate field's value.
-func (s *RoleDetail) SetCreateDate(v time.Time) *RoleDetail {
- s.CreateDate = &v
- return s
-}
-
-// SetInstanceProfileList sets the InstanceProfileList field's value.
-func (s *RoleDetail) SetInstanceProfileList(v []*InstanceProfile) *RoleDetail {
- s.InstanceProfileList = v
- return s
-}
-
-// SetPath sets the Path field's value.
-func (s *RoleDetail) SetPath(v string) *RoleDetail {
- s.Path = &v
- return s
-}
-
-// SetPermissionsBoundary sets the PermissionsBoundary field's value.
-func (s *RoleDetail) SetPermissionsBoundary(v *AttachedPermissionsBoundary) *RoleDetail {
- s.PermissionsBoundary = v
- return s
-}
-
-// SetRoleId sets the RoleId field's value.
-func (s *RoleDetail) SetRoleId(v string) *RoleDetail {
- s.RoleId = &v
- return s
-}
-
-// SetRoleLastUsed sets the RoleLastUsed field's value.
-func (s *RoleDetail) SetRoleLastUsed(v *RoleLastUsed) *RoleDetail {
- s.RoleLastUsed = v
- return s
-}
-
-// SetRoleName sets the RoleName field's value.
-func (s *RoleDetail) SetRoleName(v string) *RoleDetail {
- s.RoleName = &v
- return s
-}
-
-// SetRolePolicyList sets the RolePolicyList field's value.
-func (s *RoleDetail) SetRolePolicyList(v []*PolicyDetail) *RoleDetail {
- s.RolePolicyList = v
- return s
-}
-
-// SetTags sets the Tags field's value.
-func (s *RoleDetail) SetTags(v []*Tag) *RoleDetail {
- s.Tags = v
- return s
-}
-
-// Contains information about the last time that an IAM role was used. This
-// includes the date and time and the Region in which the role was last used.
-// Activity is only reported for the trailing 400 days. This period can be shorter
-// if your Region began supporting these features within the last year. The
-// role might have been used more than 400 days ago. For more information, see
-// Regions Where Data Is Tracked (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_access-advisor.html#access-advisor_tracking-period)
-// in the IAM User Guide.
-//
-// This data type is returned as a response element in the GetRole and GetAccountAuthorizationDetails
-// operations.
-type RoleLastUsed struct {
- _ struct{} `type:"structure"`
-
- // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601)
- // that the role was last used.
- //
- // This field is null if the role has not been used within the IAM tracking
- // period. For more information about the tracking period, see Regions Where
- // Data Is Tracked (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_access-advisor.html#access-advisor_tracking-period)
- // in the IAM User Guide.
- LastUsedDate *time.Time `type:"timestamp"`
-
- // The name of the AWS Region in which the role was last used.
- Region *string `type:"string"`
-}
-
-// String returns the string representation
-func (s RoleLastUsed) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s RoleLastUsed) GoString() string {
- return s.String()
-}
-
-// SetLastUsedDate sets the LastUsedDate field's value.
-func (s *RoleLastUsed) SetLastUsedDate(v time.Time) *RoleLastUsed {
- s.LastUsedDate = &v
- return s
-}
-
-// SetRegion sets the Region field's value.
-func (s *RoleLastUsed) SetRegion(v string) *RoleLastUsed {
- s.Region = &v
- return s
-}
-
-// An object that contains details about how a service-linked role is used,
-// if that information is returned by the service.
-//
-// This data type is used as a response element in the GetServiceLinkedRoleDeletionStatus
-// operation.
-type RoleUsageType struct {
- _ struct{} `type:"structure"`
-
- // The name of the Region where the service-linked role is being used.
- Region *string `min:"1" type:"string"`
-
- // The name of the resource that is using the service-linked role.
- Resources []*string `type:"list"`
-}
-
-// String returns the string representation
-func (s RoleUsageType) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s RoleUsageType) GoString() string {
- return s.String()
-}
-
-// SetRegion sets the Region field's value.
-func (s *RoleUsageType) SetRegion(v string) *RoleUsageType {
- s.Region = &v
- return s
-}
-
-// SetResources sets the Resources field's value.
-func (s *RoleUsageType) SetResources(v []*string) *RoleUsageType {
- s.Resources = v
- return s
-}
-
-// Contains the list of SAML providers for this account.
-type SAMLProviderListEntry struct {
- _ struct{} `type:"structure"`
-
- // The Amazon Resource Name (ARN) of the SAML provider.
- Arn *string `min:"20" type:"string"`
-
- // The date and time when the SAML provider was created.
- CreateDate *time.Time `type:"timestamp"`
-
- // The expiration date and time for the SAML provider.
- ValidUntil *time.Time `type:"timestamp"`
-}
-
-// String returns the string representation
-func (s SAMLProviderListEntry) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s SAMLProviderListEntry) GoString() string {
- return s.String()
-}
-
-// SetArn sets the Arn field's value.
-func (s *SAMLProviderListEntry) SetArn(v string) *SAMLProviderListEntry {
- s.Arn = &v
- return s
-}
-
-// SetCreateDate sets the CreateDate field's value.
-func (s *SAMLProviderListEntry) SetCreateDate(v time.Time) *SAMLProviderListEntry {
- s.CreateDate = &v
- return s
-}
-
-// SetValidUntil sets the ValidUntil field's value.
-func (s *SAMLProviderListEntry) SetValidUntil(v time.Time) *SAMLProviderListEntry {
- s.ValidUntil = &v
- return s
-}
-
-// Contains information about an SSH public key.
-//
-// This data type is used as a response element in the GetSSHPublicKey and UploadSSHPublicKey
-// operations.
-type SSHPublicKey struct {
- _ struct{} `type:"structure"`
-
- // The MD5 message digest of the SSH public key.
- //
- // Fingerprint is a required field
- Fingerprint *string `min:"48" type:"string" required:"true"`
-
- // The SSH public key.
- //
- // SSHPublicKeyBody is a required field
- SSHPublicKeyBody *string `min:"1" type:"string" required:"true"`
-
- // The unique identifier for the SSH public key.
- //
- // SSHPublicKeyId is a required field
- SSHPublicKeyId *string `min:"20" type:"string" required:"true"`
-
- // The status of the SSH public key. Active means that the key can be used for
- // authentication with an AWS CodeCommit repository. Inactive means that the
- // key cannot be used.
- //
- // Status is a required field
- Status *string `type:"string" required:"true" enum:"statusType"`
-
- // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
- // when the SSH public key was uploaded.
- UploadDate *time.Time `type:"timestamp"`
-
- // The name of the IAM user associated with the SSH public key.
- //
- // UserName is a required field
- UserName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s SSHPublicKey) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s SSHPublicKey) GoString() string {
- return s.String()
-}
-
-// SetFingerprint sets the Fingerprint field's value.
-func (s *SSHPublicKey) SetFingerprint(v string) *SSHPublicKey {
- s.Fingerprint = &v
- return s
-}
-
-// SetSSHPublicKeyBody sets the SSHPublicKeyBody field's value.
-func (s *SSHPublicKey) SetSSHPublicKeyBody(v string) *SSHPublicKey {
- s.SSHPublicKeyBody = &v
- return s
-}
-
-// SetSSHPublicKeyId sets the SSHPublicKeyId field's value.
-func (s *SSHPublicKey) SetSSHPublicKeyId(v string) *SSHPublicKey {
- s.SSHPublicKeyId = &v
- return s
-}
-
-// SetStatus sets the Status field's value.
-func (s *SSHPublicKey) SetStatus(v string) *SSHPublicKey {
- s.Status = &v
- return s
-}
-
-// SetUploadDate sets the UploadDate field's value.
-func (s *SSHPublicKey) SetUploadDate(v time.Time) *SSHPublicKey {
- s.UploadDate = &v
- return s
-}
-
-// SetUserName sets the UserName field's value.
-func (s *SSHPublicKey) SetUserName(v string) *SSHPublicKey {
- s.UserName = &v
- return s
-}
-
-// Contains information about an SSH public key, without the key's body or fingerprint.
-//
-// This data type is used as a response element in the ListSSHPublicKeys operation.
-type SSHPublicKeyMetadata struct {
- _ struct{} `type:"structure"`
-
- // The unique identifier for the SSH public key.
- //
- // SSHPublicKeyId is a required field
- SSHPublicKeyId *string `min:"20" type:"string" required:"true"`
-
- // The status of the SSH public key. Active means that the key can be used for
- // authentication with an AWS CodeCommit repository. Inactive means that the
- // key cannot be used.
- //
- // Status is a required field
- Status *string `type:"string" required:"true" enum:"statusType"`
-
- // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
- // when the SSH public key was uploaded.
- //
- // UploadDate is a required field
- UploadDate *time.Time `type:"timestamp" required:"true"`
-
- // The name of the IAM user associated with the SSH public key.
- //
- // UserName is a required field
- UserName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s SSHPublicKeyMetadata) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s SSHPublicKeyMetadata) GoString() string {
- return s.String()
-}
-
-// SetSSHPublicKeyId sets the SSHPublicKeyId field's value.
-func (s *SSHPublicKeyMetadata) SetSSHPublicKeyId(v string) *SSHPublicKeyMetadata {
- s.SSHPublicKeyId = &v
- return s
-}
-
-// SetStatus sets the Status field's value.
-func (s *SSHPublicKeyMetadata) SetStatus(v string) *SSHPublicKeyMetadata {
- s.Status = &v
- return s
-}
-
-// SetUploadDate sets the UploadDate field's value.
-func (s *SSHPublicKeyMetadata) SetUploadDate(v time.Time) *SSHPublicKeyMetadata {
- s.UploadDate = &v
- return s
-}
-
-// SetUserName sets the UserName field's value.
-func (s *SSHPublicKeyMetadata) SetUserName(v string) *SSHPublicKeyMetadata {
- s.UserName = &v
- return s
-}
-
-// Contains information about a server certificate.
-//
-// This data type is used as a response element in the GetServerCertificate
-// operation.
-type ServerCertificate struct {
- _ struct{} `type:"structure"`
-
- // The contents of the public key certificate.
- //
- // CertificateBody is a required field
- CertificateBody *string `min:"1" type:"string" required:"true"`
-
- // The contents of the public key certificate chain.
- CertificateChain *string `min:"1" type:"string"`
-
- // The meta information of the server certificate, such as its name, path, ID,
- // and ARN.
- //
- // ServerCertificateMetadata is a required field
- ServerCertificateMetadata *ServerCertificateMetadata `type:"structure" required:"true"`
-}
-
-// String returns the string representation
-func (s ServerCertificate) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ServerCertificate) GoString() string {
- return s.String()
-}
-
-// SetCertificateBody sets the CertificateBody field's value.
-func (s *ServerCertificate) SetCertificateBody(v string) *ServerCertificate {
- s.CertificateBody = &v
- return s
-}
-
-// SetCertificateChain sets the CertificateChain field's value.
-func (s *ServerCertificate) SetCertificateChain(v string) *ServerCertificate {
- s.CertificateChain = &v
- return s
-}
-
-// SetServerCertificateMetadata sets the ServerCertificateMetadata field's value.
-func (s *ServerCertificate) SetServerCertificateMetadata(v *ServerCertificateMetadata) *ServerCertificate {
- s.ServerCertificateMetadata = v
- return s
-}
-
-// Contains information about a server certificate without its certificate body,
-// certificate chain, and private key.
-//
-// This data type is used as a response element in the UploadServerCertificate
-// and ListServerCertificates operations.
-type ServerCertificateMetadata struct {
- _ struct{} `type:"structure"`
-
- // The Amazon Resource Name (ARN) specifying the server certificate. For more
- // information about ARNs and how to use them in policies, see IAM Identifiers
- // (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
- // in the IAM User Guide.
- //
- // Arn is a required field
- Arn *string `min:"20" type:"string" required:"true"`
-
- // The date on which the certificate is set to expire.
- Expiration *time.Time `type:"timestamp"`
-
- // The path to the server certificate. For more information about paths, see
- // IAM Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
- // in the IAM User Guide.
- //
- // Path is a required field
- Path *string `min:"1" type:"string" required:"true"`
-
- // The stable and unique string identifying the server certificate. For more
- // information about IDs, see IAM Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
- // in the IAM User Guide.
- //
- // ServerCertificateId is a required field
- ServerCertificateId *string `min:"16" type:"string" required:"true"`
-
- // The name that identifies the server certificate.
- //
- // ServerCertificateName is a required field
- ServerCertificateName *string `min:"1" type:"string" required:"true"`
-
- // The date when the server certificate was uploaded.
- UploadDate *time.Time `type:"timestamp"`
-}
-
-// String returns the string representation
-func (s ServerCertificateMetadata) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ServerCertificateMetadata) GoString() string {
- return s.String()
-}
-
-// SetArn sets the Arn field's value.
-func (s *ServerCertificateMetadata) SetArn(v string) *ServerCertificateMetadata {
- s.Arn = &v
- return s
-}
-
-// SetExpiration sets the Expiration field's value.
-func (s *ServerCertificateMetadata) SetExpiration(v time.Time) *ServerCertificateMetadata {
- s.Expiration = &v
- return s
-}
-
-// SetPath sets the Path field's value.
-func (s *ServerCertificateMetadata) SetPath(v string) *ServerCertificateMetadata {
- s.Path = &v
- return s
-}
-
-// SetServerCertificateId sets the ServerCertificateId field's value.
-func (s *ServerCertificateMetadata) SetServerCertificateId(v string) *ServerCertificateMetadata {
- s.ServerCertificateId = &v
- return s
-}
-
-// SetServerCertificateName sets the ServerCertificateName field's value.
-func (s *ServerCertificateMetadata) SetServerCertificateName(v string) *ServerCertificateMetadata {
- s.ServerCertificateName = &v
- return s
-}
-
-// SetUploadDate sets the UploadDate field's value.
-func (s *ServerCertificateMetadata) SetUploadDate(v time.Time) *ServerCertificateMetadata {
- s.UploadDate = &v
- return s
-}
-
-// Contains details about the most recent attempt to access the service.
-//
-// This data type is used as a response element in the GetServiceLastAccessedDetails
-// operation.
-type ServiceLastAccessed struct {
- _ struct{} `type:"structure"`
-
- // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
- // when an authenticated entity most recently attempted to access the service.
- // AWS does not report unauthenticated requests.
- //
- // This field is null if no IAM entities attempted to access the service within
- // the reporting period (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_access-advisor.html#service-last-accessed-reporting-period).
- LastAuthenticated *time.Time `type:"timestamp"`
-
- // The ARN of the authenticated entity (user or role) that last attempted to
- // access the service. AWS does not report unauthenticated requests.
- //
- // This field is null if no IAM entities attempted to access the service within
- // the reporting period (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_access-advisor.html#service-last-accessed-reporting-period).
- LastAuthenticatedEntity *string `min:"20" type:"string"`
-
- // The name of the service in which access was attempted.
- //
- // ServiceName is a required field
- ServiceName *string `type:"string" required:"true"`
-
- // The namespace of the service in which access was attempted.
- //
- // To learn the service namespace of a service, go to Actions, Resources, and
- // Condition Keys for AWS Services (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_actions-resources-contextkeys.html)
- // in the IAM User Guide. Choose the name of the service to view details for
- // that service. In the first paragraph, find the service prefix. For example,
- // (service prefix: a4b). For more information about service namespaces, see
- // AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces)
- // in the AWS General Reference.
- //
- // ServiceNamespace is a required field
- ServiceNamespace *string `min:"1" type:"string" required:"true"`
-
- // The total number of authenticated principals (root user, IAM users, or IAM
- // roles) that have attempted to access the service.
- //
- // This field is null if no principals attempted to access the service within
- // the reporting period (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_access-advisor.html#service-last-accessed-reporting-period).
- TotalAuthenticatedEntities *int64 `type:"integer"`
-}
-
-// String returns the string representation
-func (s ServiceLastAccessed) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ServiceLastAccessed) GoString() string {
- return s.String()
-}
-
-// SetLastAuthenticated sets the LastAuthenticated field's value.
-func (s *ServiceLastAccessed) SetLastAuthenticated(v time.Time) *ServiceLastAccessed {
- s.LastAuthenticated = &v
- return s
-}
-
-// SetLastAuthenticatedEntity sets the LastAuthenticatedEntity field's value.
-func (s *ServiceLastAccessed) SetLastAuthenticatedEntity(v string) *ServiceLastAccessed {
- s.LastAuthenticatedEntity = &v
- return s
-}
-
-// SetServiceName sets the ServiceName field's value.
-func (s *ServiceLastAccessed) SetServiceName(v string) *ServiceLastAccessed {
- s.ServiceName = &v
- return s
-}
-
-// SetServiceNamespace sets the ServiceNamespace field's value.
-func (s *ServiceLastAccessed) SetServiceNamespace(v string) *ServiceLastAccessed {
- s.ServiceNamespace = &v
- return s
-}
-
-// SetTotalAuthenticatedEntities sets the TotalAuthenticatedEntities field's value.
-func (s *ServiceLastAccessed) SetTotalAuthenticatedEntities(v int64) *ServiceLastAccessed {
- s.TotalAuthenticatedEntities = &v
- return s
-}
-
-// Contains the details of a service-specific credential.
-type ServiceSpecificCredential struct {
- _ struct{} `type:"structure"`
-
- // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
- // when the service-specific credential were created.
- //
- // CreateDate is a required field
- CreateDate *time.Time `type:"timestamp" required:"true"`
-
- // The name of the service associated with the service-specific credential.
- //
- // ServiceName is a required field
- ServiceName *string `type:"string" required:"true"`
-
- // The generated password for the service-specific credential.
- //
- // ServicePassword is a required field
- ServicePassword *string `type:"string" required:"true" sensitive:"true"`
-
- // The unique identifier for the service-specific credential.
- //
- // ServiceSpecificCredentialId is a required field
- ServiceSpecificCredentialId *string `min:"20" type:"string" required:"true"`
-
- // The generated user name for the service-specific credential. This value is
- // generated by combining the IAM user's name combined with the ID number of
- // the AWS account, as in jane-at-123456789012, for example. This value cannot
- // be configured by the user.
- //
- // ServiceUserName is a required field
- ServiceUserName *string `min:"17" type:"string" required:"true"`
-
- // The status of the service-specific credential. Active means that the key
- // is valid for API calls, while Inactive means it is not.
- //
- // Status is a required field
- Status *string `type:"string" required:"true" enum:"statusType"`
-
- // The name of the IAM user associated with the service-specific credential.
- //
- // UserName is a required field
- UserName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s ServiceSpecificCredential) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ServiceSpecificCredential) GoString() string {
- return s.String()
-}
-
-// SetCreateDate sets the CreateDate field's value.
-func (s *ServiceSpecificCredential) SetCreateDate(v time.Time) *ServiceSpecificCredential {
- s.CreateDate = &v
- return s
-}
-
-// SetServiceName sets the ServiceName field's value.
-func (s *ServiceSpecificCredential) SetServiceName(v string) *ServiceSpecificCredential {
- s.ServiceName = &v
- return s
-}
-
-// SetServicePassword sets the ServicePassword field's value.
-func (s *ServiceSpecificCredential) SetServicePassword(v string) *ServiceSpecificCredential {
- s.ServicePassword = &v
- return s
-}
-
-// SetServiceSpecificCredentialId sets the ServiceSpecificCredentialId field's value.
-func (s *ServiceSpecificCredential) SetServiceSpecificCredentialId(v string) *ServiceSpecificCredential {
- s.ServiceSpecificCredentialId = &v
- return s
-}
-
-// SetServiceUserName sets the ServiceUserName field's value.
-func (s *ServiceSpecificCredential) SetServiceUserName(v string) *ServiceSpecificCredential {
- s.ServiceUserName = &v
- return s
-}
-
-// SetStatus sets the Status field's value.
-func (s *ServiceSpecificCredential) SetStatus(v string) *ServiceSpecificCredential {
- s.Status = &v
- return s
-}
-
-// SetUserName sets the UserName field's value.
-func (s *ServiceSpecificCredential) SetUserName(v string) *ServiceSpecificCredential {
- s.UserName = &v
- return s
-}
-
-// Contains additional details about a service-specific credential.
-type ServiceSpecificCredentialMetadata struct {
- _ struct{} `type:"structure"`
-
- // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
- // when the service-specific credential were created.
- //
- // CreateDate is a required field
- CreateDate *time.Time `type:"timestamp" required:"true"`
-
- // The name of the service associated with the service-specific credential.
- //
- // ServiceName is a required field
- ServiceName *string `type:"string" required:"true"`
-
- // The unique identifier for the service-specific credential.
- //
- // ServiceSpecificCredentialId is a required field
- ServiceSpecificCredentialId *string `min:"20" type:"string" required:"true"`
-
- // The generated user name for the service-specific credential.
- //
- // ServiceUserName is a required field
- ServiceUserName *string `min:"17" type:"string" required:"true"`
-
- // The status of the service-specific credential. Active means that the key
- // is valid for API calls, while Inactive means it is not.
- //
- // Status is a required field
- Status *string `type:"string" required:"true" enum:"statusType"`
-
- // The name of the IAM user associated with the service-specific credential.
- //
- // UserName is a required field
- UserName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s ServiceSpecificCredentialMetadata) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ServiceSpecificCredentialMetadata) GoString() string {
- return s.String()
-}
-
-// SetCreateDate sets the CreateDate field's value.
-func (s *ServiceSpecificCredentialMetadata) SetCreateDate(v time.Time) *ServiceSpecificCredentialMetadata {
- s.CreateDate = &v
- return s
-}
-
-// SetServiceName sets the ServiceName field's value.
-func (s *ServiceSpecificCredentialMetadata) SetServiceName(v string) *ServiceSpecificCredentialMetadata {
- s.ServiceName = &v
- return s
-}
-
-// SetServiceSpecificCredentialId sets the ServiceSpecificCredentialId field's value.
-func (s *ServiceSpecificCredentialMetadata) SetServiceSpecificCredentialId(v string) *ServiceSpecificCredentialMetadata {
- s.ServiceSpecificCredentialId = &v
- return s
-}
-
-// SetServiceUserName sets the ServiceUserName field's value.
-func (s *ServiceSpecificCredentialMetadata) SetServiceUserName(v string) *ServiceSpecificCredentialMetadata {
- s.ServiceUserName = &v
- return s
-}
-
-// SetStatus sets the Status field's value.
-func (s *ServiceSpecificCredentialMetadata) SetStatus(v string) *ServiceSpecificCredentialMetadata {
- s.Status = &v
- return s
-}
-
-// SetUserName sets the UserName field's value.
-func (s *ServiceSpecificCredentialMetadata) SetUserName(v string) *ServiceSpecificCredentialMetadata {
- s.UserName = &v
- return s
-}
-
-type SetDefaultPolicyVersionInput struct {
- _ struct{} `type:"structure"`
-
- // The Amazon Resource Name (ARN) of the IAM policy whose default version you
- // want to set.
- //
- // 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"`
-
- // The version of the policy to set as the default (operative) version.
- //
- // For more information about managed policy versions, see Versioning for Managed
- // Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html)
- // in the IAM User Guide.
- //
- // VersionId is a required field
- VersionId *string `type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s SetDefaultPolicyVersionInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s SetDefaultPolicyVersionInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *SetDefaultPolicyVersionInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "SetDefaultPolicyVersionInput"}
- if s.PolicyArn == nil {
- invalidParams.Add(request.NewErrParamRequired("PolicyArn"))
- }
- if s.PolicyArn != nil && len(*s.PolicyArn) < 20 {
- invalidParams.Add(request.NewErrParamMinLen("PolicyArn", 20))
- }
- if s.VersionId == nil {
- invalidParams.Add(request.NewErrParamRequired("VersionId"))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetPolicyArn sets the PolicyArn field's value.
-func (s *SetDefaultPolicyVersionInput) SetPolicyArn(v string) *SetDefaultPolicyVersionInput {
- s.PolicyArn = &v
- return s
-}
-
-// SetVersionId sets the VersionId field's value.
-func (s *SetDefaultPolicyVersionInput) SetVersionId(v string) *SetDefaultPolicyVersionInput {
- s.VersionId = &v
- return s
-}
-
-type SetDefaultPolicyVersionOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s SetDefaultPolicyVersionOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s SetDefaultPolicyVersionOutput) GoString() string {
- return s.String()
-}
-
-type SetSecurityTokenServicePreferencesInput struct {
- _ struct{} `type:"structure"`
-
- // The version of the global endpoint token. Version 1 tokens are valid only
- // in AWS Regions that are available by default. These tokens do not work in
- // manually enabled Regions, such as Asia Pacific (Hong Kong). Version 2 tokens
- // are valid in all Regions. However, version 2 tokens are longer and might
- // affect systems where you temporarily store tokens.
- //
- // For information, see Activating and Deactivating STS in an AWS Region (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html)
- // in the IAM User Guide.
- //
- // GlobalEndpointTokenVersion is a required field
- GlobalEndpointTokenVersion *string `type:"string" required:"true" enum:"globalEndpointTokenVersion"`
-}
-
-// String returns the string representation
-func (s SetSecurityTokenServicePreferencesInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s SetSecurityTokenServicePreferencesInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *SetSecurityTokenServicePreferencesInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "SetSecurityTokenServicePreferencesInput"}
- if s.GlobalEndpointTokenVersion == nil {
- invalidParams.Add(request.NewErrParamRequired("GlobalEndpointTokenVersion"))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetGlobalEndpointTokenVersion sets the GlobalEndpointTokenVersion field's value.
-func (s *SetSecurityTokenServicePreferencesInput) SetGlobalEndpointTokenVersion(v string) *SetSecurityTokenServicePreferencesInput {
- s.GlobalEndpointTokenVersion = &v
- return s
-}
-
-type SetSecurityTokenServicePreferencesOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s SetSecurityTokenServicePreferencesOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s SetSecurityTokenServicePreferencesOutput) GoString() string {
- return s.String()
-}
-
-// Contains information about an X.509 signing certificate.
-//
-// This data type is used as a response element in the UploadSigningCertificate
-// and ListSigningCertificates operations.
-type SigningCertificate struct {
- _ struct{} `type:"structure"`
-
- // The contents of the signing certificate.
- //
- // CertificateBody is a required field
- CertificateBody *string `min:"1" type:"string" required:"true"`
-
- // The ID for the signing certificate.
- //
- // CertificateId is a required field
- CertificateId *string `min:"24" type:"string" required:"true"`
-
- // The status of the signing certificate. Active means that the key is valid
- // for API calls, while Inactive means it is not.
- //
- // Status is a required field
- Status *string `type:"string" required:"true" enum:"statusType"`
-
- // The date when the signing certificate was uploaded.
- UploadDate *time.Time `type:"timestamp"`
-
- // The name of the user the signing certificate is associated with.
- //
- // UserName is a required field
- UserName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s SigningCertificate) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s SigningCertificate) GoString() string {
- return s.String()
-}
-
-// SetCertificateBody sets the CertificateBody field's value.
-func (s *SigningCertificate) SetCertificateBody(v string) *SigningCertificate {
- s.CertificateBody = &v
- return s
-}
-
-// SetCertificateId sets the CertificateId field's value.
-func (s *SigningCertificate) SetCertificateId(v string) *SigningCertificate {
- s.CertificateId = &v
- return s
-}
-
-// SetStatus sets the Status field's value.
-func (s *SigningCertificate) SetStatus(v string) *SigningCertificate {
- s.Status = &v
- return s
-}
-
-// SetUploadDate sets the UploadDate field's value.
-func (s *SigningCertificate) SetUploadDate(v time.Time) *SigningCertificate {
- s.UploadDate = &v
- return s
-}
-
-// SetUserName sets the UserName field's value.
-func (s *SigningCertificate) SetUserName(v string) *SigningCertificate {
- s.UserName = &v
- return s
-}
-
-type SimulateCustomPolicyInput struct {
- _ struct{} `type:"structure"`
-
- // A list of names of API operations to evaluate in the simulation. Each operation
- // is evaluated against each resource. Each operation must include the service
- // identifier, such as iam:CreateUser. This operation does not support using
- // wildcards (*) in an action name.
- //
- // ActionNames is a required field
- ActionNames []*string `type:"list" required:"true"`
-
- // The ARN of the IAM user that you want to use as the simulated caller of the
- // API operations. CallerArn is required if you include a ResourcePolicy so
- // that the policy's Principal element has a value to use in evaluating the
- // policy.
- //
- // You can specify only the ARN of an IAM user. You cannot specify the ARN of
- // an assumed role, federated user, or a service principal.
- CallerArn *string `min:"1" type:"string"`
-
- // A list of context keys and corresponding values for the simulation to use.
- // Whenever a context key is evaluated in one of the simulated IAM permissions
- // policies, the corresponding value is supplied.
- ContextEntries []*ContextEntry `type:"list"`
-
- // Use this parameter only when paginating results and only after you receive
- // a response indicating that the results are truncated. Set it to the value
- // of the Marker element in the response that you received to indicate where
- // the next call should start.
- Marker *string `min:"1" type:"string"`
-
- // Use this only when paginating results to indicate the maximum number of items
- // you want in the response. If additional items exist beyond the maximum you
- // specify, the IsTruncated response element is true.
- //
- // If you do not include this parameter, the number of items defaults to 100.
- // Note that IAM might return fewer results, even when there are more results
- // available. In that case, the IsTruncated response element returns true, and
- // Marker contains a value to include in the subsequent call that tells the
- // service where to continue from.
- MaxItems *int64 `min:"1" type:"integer"`
-
- // A list of policy documents to include in the simulation. Each document is
- // specified as a string containing the complete, valid JSON text of an IAM
- // policy. Do not include any resource-based policies in this parameter. Any
- // resource-based policy must be submitted with the ResourcePolicy parameter.
- // The policies cannot be "scope-down" policies, such as you could include in
- // a call to GetFederationToken (https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetFederationToken.html)
- // or one of the AssumeRole (https://docs.aws.amazon.com/IAM/latest/APIReference/API_AssumeRole.html)
- // API operations. In other words, do not use policies designed to restrict
- // what a user can do while using the temporary credentials.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) used to validate this
- // parameter is a string of characters consisting of the following:
- //
- // * Any printable ASCII character ranging from the space character (\u0020)
- // through the end of the ASCII character range
- //
- // * The printable characters in the Basic Latin and Latin-1 Supplement character
- // set (through \u00FF)
- //
- // * The special characters tab (\u0009), line feed (\u000A), and carriage
- // return (\u000D)
- //
- // PolicyInputList is a required field
- PolicyInputList []*string `type:"list" required:"true"`
-
- // A list of ARNs of AWS resources to include in the simulation. If this parameter
- // is not provided, then the value defaults to * (all resources). Each API in
- // the ActionNames parameter is evaluated for each resource in this list. The
- // simulation determines the access result (allowed or denied) of each combination
- // and reports it in the response.
- //
- // The simulation does not automatically retrieve policies for the specified
- // resources. If you want to include a resource policy in the simulation, then
- // you must include the policy as a string in the ResourcePolicy parameter.
- //
- // If you include a ResourcePolicy, then it must be applicable to all of the
- // resources included in the simulation or you receive an invalid input error.
- //
- // 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.
- ResourceArns []*string `type:"list"`
-
- // Specifies the type of simulation to run. Different API operations that support
- // resource-based policies require different combinations of resources. By specifying
- // the type of simulation to run, you enable the policy simulator to enforce
- // the presence of the required resources to ensure reliable simulation results.
- // If your simulation does not match one of the following scenarios, then you
- // can omit this parameter. The following list shows each of the supported scenario
- // values and the resources that you must define to run the simulation.
- //
- // Each of the EC2 scenarios requires that you specify instance, image, and
- // security-group resources. If your scenario includes an EBS volume, then you
- // must specify that volume as a resource. If the EC2 scenario includes VPC,
- // then you must supply the network-interface resource. If it includes an IP
- // subnet, then you must specify the subnet resource. For more information on
- // the EC2 scenario options, see Supported Platforms (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-platforms.html)
- // in the Amazon EC2 User Guide.
- //
- // * EC2-Classic-InstanceStore instance, image, security-group
- //
- // * EC2-Classic-EBS instance, image, security-group, volume
- //
- // * EC2-VPC-InstanceStore instance, image, security-group, network-interface
- //
- // * EC2-VPC-InstanceStore-Subnet instance, image, security-group, network-interface,
- // subnet
- //
- // * EC2-VPC-EBS instance, image, security-group, network-interface, volume
- //
- // * EC2-VPC-EBS-Subnet instance, image, security-group, network-interface,
- // subnet, volume
- ResourceHandlingOption *string `min:"1" type:"string"`
-
- // An ARN representing the AWS account ID that specifies the owner of any simulated
- // resource that does not identify its owner in the resource ARN. Examples of
- // resource ARNs include an S3 bucket or object. If ResourceOwner is specified,
- // it is also used as the account owner of any ResourcePolicy included in the
- // simulation. If the ResourceOwner parameter is not specified, then the owner
- // of the resources and the resource policy defaults to the account of the identity
- // provided in CallerArn. This parameter is required only if you specify a resource-based
- // policy and account that owns the resource is different from the account that
- // owns the simulated calling user CallerArn.
- //
- // The ARN for an account uses the following syntax: arn:aws:iam::AWS-account-ID:root.
- // For example, to represent the account with the 112233445566 ID, use the following
- // ARN: arn:aws:iam::112233445566-ID:root.
- ResourceOwner *string `min:"1" type:"string"`
-
- // A resource-based policy to include in the simulation provided as a string.
- // Each resource in the simulation is treated as if it had this policy attached.
- // You can include only one resource-based policy in a simulation.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) used to validate this
- // parameter is a string of characters consisting of the following:
- //
- // * Any printable ASCII character ranging from the space character (\u0020)
- // through the end of the ASCII character range
- //
- // * The printable characters in the Basic Latin and Latin-1 Supplement character
- // set (through \u00FF)
- //
- // * The special characters tab (\u0009), line feed (\u000A), and carriage
- // return (\u000D)
- ResourcePolicy *string `min:"1" type:"string"`
-}
-
-// String returns the string representation
-func (s SimulateCustomPolicyInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s SimulateCustomPolicyInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *SimulateCustomPolicyInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "SimulateCustomPolicyInput"}
- if s.ActionNames == nil {
- invalidParams.Add(request.NewErrParamRequired("ActionNames"))
- }
- if s.CallerArn != nil && len(*s.CallerArn) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("CallerArn", 1))
- }
- if s.Marker != nil && len(*s.Marker) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
- }
- if s.MaxItems != nil && *s.MaxItems < 1 {
- invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
- }
- if s.PolicyInputList == nil {
- invalidParams.Add(request.NewErrParamRequired("PolicyInputList"))
- }
- if s.ResourceHandlingOption != nil && len(*s.ResourceHandlingOption) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("ResourceHandlingOption", 1))
- }
- if s.ResourceOwner != nil && len(*s.ResourceOwner) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("ResourceOwner", 1))
- }
- if s.ResourcePolicy != nil && len(*s.ResourcePolicy) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("ResourcePolicy", 1))
- }
- if s.ContextEntries != nil {
- for i, v := range s.ContextEntries {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ContextEntries", i), err.(request.ErrInvalidParams))
- }
- }
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetActionNames sets the ActionNames field's value.
-func (s *SimulateCustomPolicyInput) SetActionNames(v []*string) *SimulateCustomPolicyInput {
- s.ActionNames = v
- return s
-}
-
-// SetCallerArn sets the CallerArn field's value.
-func (s *SimulateCustomPolicyInput) SetCallerArn(v string) *SimulateCustomPolicyInput {
- s.CallerArn = &v
- return s
-}
-
-// SetContextEntries sets the ContextEntries field's value.
-func (s *SimulateCustomPolicyInput) SetContextEntries(v []*ContextEntry) *SimulateCustomPolicyInput {
- s.ContextEntries = v
- return s
-}
-
-// SetMarker sets the Marker field's value.
-func (s *SimulateCustomPolicyInput) SetMarker(v string) *SimulateCustomPolicyInput {
- s.Marker = &v
- return s
-}
-
-// SetMaxItems sets the MaxItems field's value.
-func (s *SimulateCustomPolicyInput) SetMaxItems(v int64) *SimulateCustomPolicyInput {
- s.MaxItems = &v
- return s
-}
-
-// SetPolicyInputList sets the PolicyInputList field's value.
-func (s *SimulateCustomPolicyInput) SetPolicyInputList(v []*string) *SimulateCustomPolicyInput {
- s.PolicyInputList = v
- return s
-}
-
-// SetResourceArns sets the ResourceArns field's value.
-func (s *SimulateCustomPolicyInput) SetResourceArns(v []*string) *SimulateCustomPolicyInput {
- s.ResourceArns = v
- return s
-}
-
-// SetResourceHandlingOption sets the ResourceHandlingOption field's value.
-func (s *SimulateCustomPolicyInput) SetResourceHandlingOption(v string) *SimulateCustomPolicyInput {
- s.ResourceHandlingOption = &v
- return s
-}
-
-// SetResourceOwner sets the ResourceOwner field's value.
-func (s *SimulateCustomPolicyInput) SetResourceOwner(v string) *SimulateCustomPolicyInput {
- s.ResourceOwner = &v
- return s
-}
-
-// SetResourcePolicy sets the ResourcePolicy field's value.
-func (s *SimulateCustomPolicyInput) SetResourcePolicy(v string) *SimulateCustomPolicyInput {
- s.ResourcePolicy = &v
- return s
-}
-
-// Contains the response to a successful SimulatePrincipalPolicy or SimulateCustomPolicy
-// request.
-type SimulatePolicyResponse struct {
- _ struct{} `type:"structure"`
-
- // The results of the simulation.
- EvaluationResults []*EvaluationResult `type:"list"`
-
- // A flag that indicates whether there are more items to return. If your results
- // were truncated, you can make a subsequent pagination request using the Marker
- // request parameter to retrieve more items. Note that IAM might return fewer
- // than the MaxItems number of results even when there are more results available.
- // We recommend that you check IsTruncated after every call to ensure that you
- // receive all your results.
- IsTruncated *bool `type:"boolean"`
-
- // When IsTruncated is true, this element is present and contains the value
- // to use for the Marker parameter in a subsequent pagination request.
- Marker *string `type:"string"`
-}
-
-// String returns the string representation
-func (s SimulatePolicyResponse) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s SimulatePolicyResponse) GoString() string {
- return s.String()
-}
-
-// SetEvaluationResults sets the EvaluationResults field's value.
-func (s *SimulatePolicyResponse) SetEvaluationResults(v []*EvaluationResult) *SimulatePolicyResponse {
- s.EvaluationResults = v
- return s
-}
-
-// SetIsTruncated sets the IsTruncated field's value.
-func (s *SimulatePolicyResponse) SetIsTruncated(v bool) *SimulatePolicyResponse {
- s.IsTruncated = &v
- return s
-}
-
-// SetMarker sets the Marker field's value.
-func (s *SimulatePolicyResponse) SetMarker(v string) *SimulatePolicyResponse {
- s.Marker = &v
- return s
-}
-
-type SimulatePrincipalPolicyInput struct {
- _ struct{} `type:"structure"`
-
- // A list of names of API operations to evaluate in the simulation. Each operation
- // is evaluated for each resource. Each operation must include the service identifier,
- // such as iam:CreateUser.
- //
- // ActionNames is a required field
- ActionNames []*string `type:"list" required:"true"`
-
- // The ARN of the IAM user that you want to specify as the simulated caller
- // of the API operations. If you do not specify a CallerArn, it defaults to
- // the ARN of the user that you specify in PolicySourceArn, if you specified
- // a user. If you include both a PolicySourceArn (for example, arn:aws:iam::123456789012:user/David)
- // and a CallerArn (for example, arn:aws:iam::123456789012:user/Bob), the result
- // is that you simulate calling the API operations as Bob, as if Bob had David's
- // policies.
- //
- // You can specify only the ARN of an IAM user. You cannot specify the ARN of
- // an assumed role, federated user, or a service principal.
- //
- // CallerArn is required if you include a ResourcePolicy and the PolicySourceArn
- // is not the ARN for an IAM user. This is required so that the resource-based
- // policy's Principal element has a value to use in evaluating the policy.
- //
- // 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.
- CallerArn *string `min:"1" type:"string"`
-
- // A list of context keys and corresponding values for the simulation to use.
- // Whenever a context key is evaluated in one of the simulated IAM permissions
- // policies, the corresponding value is supplied.
- ContextEntries []*ContextEntry `type:"list"`
-
- // Use this parameter only when paginating results and only after you receive
- // a response indicating that the results are truncated. Set it to the value
- // of the Marker element in the response that you received to indicate where
- // the next call should start.
- Marker *string `min:"1" type:"string"`
-
- // Use this only when paginating results to indicate the maximum number of items
- // you want in the response. If additional items exist beyond the maximum you
- // specify, the IsTruncated response element is true.
- //
- // If you do not include this parameter, the number of items defaults to 100.
- // Note that IAM might return fewer results, even when there are more results
- // available. In that case, the IsTruncated response element returns true, and
- // Marker contains a value to include in the subsequent call that tells the
- // service where to continue from.
- MaxItems *int64 `min:"1" type:"integer"`
-
- // An optional list of additional policy documents to include in the simulation.
- // Each document is specified as a string containing the complete, valid JSON
- // text of an IAM policy.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) used to validate this
- // parameter is a string of characters consisting of the following:
- //
- // * Any printable ASCII character ranging from the space character (\u0020)
- // through the end of the ASCII character range
- //
- // * The printable characters in the Basic Latin and Latin-1 Supplement character
- // set (through \u00FF)
- //
- // * The special characters tab (\u0009), line feed (\u000A), and carriage
- // return (\u000D)
- PolicyInputList []*string `type:"list"`
-
- // The Amazon Resource Name (ARN) of a user, group, or role whose policies you
- // want to include in the simulation. If you specify a user, group, or role,
- // the simulation includes all policies that are associated with that entity.
- // If you specify a user, the simulation also includes all policies that are
- // attached to any groups the user belongs to.
- //
- // 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.
- //
- // PolicySourceArn is a required field
- PolicySourceArn *string `min:"20" type:"string" required:"true"`
-
- // A list of ARNs of AWS resources to include in the simulation. If this parameter
- // is not provided, then the value defaults to * (all resources). Each API in
- // the ActionNames parameter is evaluated for each resource in this list. The
- // simulation determines the access result (allowed or denied) of each combination
- // and reports it in the response.
- //
- // The simulation does not automatically retrieve policies for the specified
- // resources. If you want to include a resource policy in the simulation, then
- // you must include the policy as a string in the ResourcePolicy parameter.
- //
- // 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.
- ResourceArns []*string `type:"list"`
-
- // Specifies the type of simulation to run. Different API operations that support
- // resource-based policies require different combinations of resources. By specifying
- // the type of simulation to run, you enable the policy simulator to enforce
- // the presence of the required resources to ensure reliable simulation results.
- // If your simulation does not match one of the following scenarios, then you
- // can omit this parameter. The following list shows each of the supported scenario
- // values and the resources that you must define to run the simulation.
- //
- // Each of the EC2 scenarios requires that you specify instance, image, and
- // security group resources. If your scenario includes an EBS volume, then you
- // must specify that volume as a resource. If the EC2 scenario includes VPC,
- // then you must supply the network interface resource. If it includes an IP
- // subnet, then you must specify the subnet resource. For more information on
- // the EC2 scenario options, see Supported Platforms (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-platforms.html)
- // in the Amazon EC2 User Guide.
- //
- // * EC2-Classic-InstanceStore instance, image, security group
- //
- // * EC2-Classic-EBS instance, image, security group, volume
- //
- // * EC2-VPC-InstanceStore instance, image, security group, network interface
- //
- // * EC2-VPC-InstanceStore-Subnet instance, image, security group, network
- // interface, subnet
- //
- // * EC2-VPC-EBS instance, image, security group, network interface, volume
- //
- // * EC2-VPC-EBS-Subnet instance, image, security group, network interface,
- // subnet, volume
- ResourceHandlingOption *string `min:"1" type:"string"`
-
- // An AWS account ID that specifies the owner of any simulated resource that
- // does not identify its owner in the resource ARN. Examples of resource ARNs
- // include an S3 bucket or object. If ResourceOwner is specified, it is also
- // used as the account owner of any ResourcePolicy included in the simulation.
- // If the ResourceOwner parameter is not specified, then the owner of the resources
- // and the resource policy defaults to the account of the identity provided
- // in CallerArn. This parameter is required only if you specify a resource-based
- // policy and account that owns the resource is different from the account that
- // owns the simulated calling user CallerArn.
- ResourceOwner *string `min:"1" type:"string"`
-
- // A resource-based policy to include in the simulation provided as a string.
- // Each resource in the simulation is treated as if it had this policy attached.
- // You can include only one resource-based policy in a simulation.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) used to validate this
- // parameter is a string of characters consisting of the following:
- //
- // * Any printable ASCII character ranging from the space character (\u0020)
- // through the end of the ASCII character range
- //
- // * The printable characters in the Basic Latin and Latin-1 Supplement character
- // set (through \u00FF)
- //
- // * The special characters tab (\u0009), line feed (\u000A), and carriage
- // return (\u000D)
- ResourcePolicy *string `min:"1" type:"string"`
-}
-
-// String returns the string representation
-func (s SimulatePrincipalPolicyInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s SimulatePrincipalPolicyInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *SimulatePrincipalPolicyInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "SimulatePrincipalPolicyInput"}
- if s.ActionNames == nil {
- invalidParams.Add(request.NewErrParamRequired("ActionNames"))
- }
- if s.CallerArn != nil && len(*s.CallerArn) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("CallerArn", 1))
- }
- if s.Marker != nil && len(*s.Marker) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
- }
- if s.MaxItems != nil && *s.MaxItems < 1 {
- invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
- }
- if s.PolicySourceArn == nil {
- invalidParams.Add(request.NewErrParamRequired("PolicySourceArn"))
- }
- if s.PolicySourceArn != nil && len(*s.PolicySourceArn) < 20 {
- invalidParams.Add(request.NewErrParamMinLen("PolicySourceArn", 20))
- }
- if s.ResourceHandlingOption != nil && len(*s.ResourceHandlingOption) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("ResourceHandlingOption", 1))
- }
- if s.ResourceOwner != nil && len(*s.ResourceOwner) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("ResourceOwner", 1))
- }
- if s.ResourcePolicy != nil && len(*s.ResourcePolicy) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("ResourcePolicy", 1))
- }
- if s.ContextEntries != nil {
- for i, v := range s.ContextEntries {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ContextEntries", i), err.(request.ErrInvalidParams))
- }
- }
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetActionNames sets the ActionNames field's value.
-func (s *SimulatePrincipalPolicyInput) SetActionNames(v []*string) *SimulatePrincipalPolicyInput {
- s.ActionNames = v
- return s
-}
-
-// SetCallerArn sets the CallerArn field's value.
-func (s *SimulatePrincipalPolicyInput) SetCallerArn(v string) *SimulatePrincipalPolicyInput {
- s.CallerArn = &v
- return s
-}
-
-// SetContextEntries sets the ContextEntries field's value.
-func (s *SimulatePrincipalPolicyInput) SetContextEntries(v []*ContextEntry) *SimulatePrincipalPolicyInput {
- s.ContextEntries = v
- return s
-}
-
-// SetMarker sets the Marker field's value.
-func (s *SimulatePrincipalPolicyInput) SetMarker(v string) *SimulatePrincipalPolicyInput {
- s.Marker = &v
- return s
-}
-
-// SetMaxItems sets the MaxItems field's value.
-func (s *SimulatePrincipalPolicyInput) SetMaxItems(v int64) *SimulatePrincipalPolicyInput {
- s.MaxItems = &v
- return s
-}
-
-// SetPolicyInputList sets the PolicyInputList field's value.
-func (s *SimulatePrincipalPolicyInput) SetPolicyInputList(v []*string) *SimulatePrincipalPolicyInput {
- s.PolicyInputList = v
- return s
-}
-
-// SetPolicySourceArn sets the PolicySourceArn field's value.
-func (s *SimulatePrincipalPolicyInput) SetPolicySourceArn(v string) *SimulatePrincipalPolicyInput {
- s.PolicySourceArn = &v
- return s
-}
-
-// SetResourceArns sets the ResourceArns field's value.
-func (s *SimulatePrincipalPolicyInput) SetResourceArns(v []*string) *SimulatePrincipalPolicyInput {
- s.ResourceArns = v
- return s
-}
-
-// SetResourceHandlingOption sets the ResourceHandlingOption field's value.
-func (s *SimulatePrincipalPolicyInput) SetResourceHandlingOption(v string) *SimulatePrincipalPolicyInput {
- s.ResourceHandlingOption = &v
- return s
-}
-
-// SetResourceOwner sets the ResourceOwner field's value.
-func (s *SimulatePrincipalPolicyInput) SetResourceOwner(v string) *SimulatePrincipalPolicyInput {
- s.ResourceOwner = &v
- return s
-}
-
-// SetResourcePolicy sets the ResourcePolicy field's value.
-func (s *SimulatePrincipalPolicyInput) SetResourcePolicy(v string) *SimulatePrincipalPolicyInput {
- s.ResourcePolicy = &v
- return s
-}
-
-// Contains a reference to a Statement element in a policy document that determines
-// the result of the simulation.
-//
-// This data type is used by the MatchedStatements member of the EvaluationResult
-// type.
-type Statement struct {
- _ struct{} `type:"structure"`
-
- // The row and column of the end of a Statement in an IAM policy.
- EndPosition *Position `type:"structure"`
-
- // The identifier of the policy that was provided as an input.
- SourcePolicyId *string `type:"string"`
-
- // The type of the policy.
- SourcePolicyType *string `type:"string" enum:"PolicySourceType"`
-
- // The row and column of the beginning of the Statement in an IAM policy.
- StartPosition *Position `type:"structure"`
-}
-
-// String returns the string representation
-func (s Statement) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s Statement) GoString() string {
- return s.String()
-}
-
-// SetEndPosition sets the EndPosition field's value.
-func (s *Statement) SetEndPosition(v *Position) *Statement {
- s.EndPosition = v
- return s
-}
-
-// SetSourcePolicyId sets the SourcePolicyId field's value.
-func (s *Statement) SetSourcePolicyId(v string) *Statement {
- s.SourcePolicyId = &v
- return s
-}
-
-// SetSourcePolicyType sets the SourcePolicyType field's value.
-func (s *Statement) SetSourcePolicyType(v string) *Statement {
- s.SourcePolicyType = &v
- return s
-}
-
-// SetStartPosition sets the StartPosition field's value.
-func (s *Statement) SetStartPosition(v *Position) *Statement {
- s.StartPosition = v
- return s
-}
-
-// A structure that represents user-provided metadata that can be associated
-// with a resource such as an IAM user or role. For more information about tagging,
-// see Tagging IAM Identities (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)
-// in the IAM User Guide.
-type Tag struct {
- _ struct{} `type:"structure"`
-
- // The key name that can be used to look up or retrieve the associated value.
- // For example, Department or Cost Center are common choices.
- //
- // Key is a required field
- Key *string `min:"1" type:"string" required:"true"`
-
- // The value associated with this tag. For example, tags with a key name of
- // Department could have values such as Human Resources, Accounting, and Support.
- // Tags with a key name of Cost Center might have values that consist of the
- // number associated with the different cost centers in your company. Typically,
- // many resources have tags with the same key name but with different values.
- //
- // AWS always interprets the tag Value as a single string. If you need to store
- // an array, you can store comma-separated values in the string. However, you
- // must interpret the value in your code.
- //
- // Value is a required field
- Value *string `type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s Tag) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s Tag) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *Tag) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "Tag"}
- if s.Key == nil {
- invalidParams.Add(request.NewErrParamRequired("Key"))
- }
- if s.Key != nil && len(*s.Key) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Key", 1))
- }
- if s.Value == nil {
- invalidParams.Add(request.NewErrParamRequired("Value"))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetKey sets the Key field's value.
-func (s *Tag) SetKey(v string) *Tag {
- s.Key = &v
- return s
-}
-
-// SetValue sets the Value field's value.
-func (s *Tag) SetValue(v string) *Tag {
- s.Value = &v
- return s
-}
-
-type TagRoleInput struct {
- _ struct{} `type:"structure"`
-
- // The name of the role that you want to add tags to.
- //
- // This parameter accepts (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters that consist of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // RoleName is a required field
- RoleName *string `min:"1" type:"string" required:"true"`
-
- // The list of tags that you want to attach to the role. Each tag consists of
- // a key name and an associated value. You can specify this with a JSON string.
- //
- // Tags is a required field
- Tags []*Tag `type:"list" required:"true"`
-}
-
-// String returns the string representation
-func (s TagRoleInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s TagRoleInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *TagRoleInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "TagRoleInput"}
- if s.RoleName == nil {
- invalidParams.Add(request.NewErrParamRequired("RoleName"))
- }
- if s.RoleName != nil && len(*s.RoleName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("RoleName", 1))
- }
- if s.Tags == nil {
- invalidParams.Add(request.NewErrParamRequired("Tags"))
- }
- if s.Tags != nil {
- for i, v := range s.Tags {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
- }
- }
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetRoleName sets the RoleName field's value.
-func (s *TagRoleInput) SetRoleName(v string) *TagRoleInput {
- s.RoleName = &v
- return s
-}
-
-// SetTags sets the Tags field's value.
-func (s *TagRoleInput) SetTags(v []*Tag) *TagRoleInput {
- s.Tags = v
- return s
-}
-
-type TagRoleOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s TagRoleOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s TagRoleOutput) GoString() string {
- return s.String()
-}
-
-type TagUserInput struct {
- _ struct{} `type:"structure"`
-
- // The list of tags that you want to attach to the user. Each tag consists of
- // a key name and an associated value.
- //
- // Tags is a required field
- Tags []*Tag `type:"list" required:"true"`
-
- // The name of the user that you want to add tags to.
- //
- // This parameter accepts (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters that consist of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: =,.@-
- //
- // UserName is a required field
- UserName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s TagUserInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s TagUserInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *TagUserInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "TagUserInput"}
- if s.Tags == nil {
- invalidParams.Add(request.NewErrParamRequired("Tags"))
- }
- if s.UserName == nil {
- invalidParams.Add(request.NewErrParamRequired("UserName"))
- }
- if s.UserName != nil && len(*s.UserName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
- }
- if s.Tags != nil {
- for i, v := range s.Tags {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
- }
- }
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetTags sets the Tags field's value.
-func (s *TagUserInput) SetTags(v []*Tag) *TagUserInput {
- s.Tags = v
- return s
-}
-
-// SetUserName sets the UserName field's value.
-func (s *TagUserInput) SetUserName(v string) *TagUserInput {
- s.UserName = &v
- return s
-}
-
-type TagUserOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s TagUserOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s TagUserOutput) GoString() string {
- return s.String()
-}
-
-type UntagRoleInput struct {
- _ struct{} `type:"structure"`
-
- // The name of the IAM role from which you want to remove tags.
- //
- // This parameter accepts (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters that consist of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // RoleName is a required field
- RoleName *string `min:"1" type:"string" required:"true"`
-
- // A list of key names as a simple array of strings. The tags with matching
- // keys are removed from the specified role.
- //
- // TagKeys is a required field
- TagKeys []*string `type:"list" required:"true"`
-}
-
-// String returns the string representation
-func (s UntagRoleInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s UntagRoleInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *UntagRoleInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "UntagRoleInput"}
- if s.RoleName == nil {
- invalidParams.Add(request.NewErrParamRequired("RoleName"))
- }
- if s.RoleName != nil && len(*s.RoleName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("RoleName", 1))
- }
- if s.TagKeys == nil {
- invalidParams.Add(request.NewErrParamRequired("TagKeys"))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetRoleName sets the RoleName field's value.
-func (s *UntagRoleInput) SetRoleName(v string) *UntagRoleInput {
- s.RoleName = &v
- return s
-}
-
-// SetTagKeys sets the TagKeys field's value.
-func (s *UntagRoleInput) SetTagKeys(v []*string) *UntagRoleInput {
- s.TagKeys = v
- return s
-}
-
-type UntagRoleOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s UntagRoleOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s UntagRoleOutput) GoString() string {
- return s.String()
-}
-
-type UntagUserInput struct {
- _ struct{} `type:"structure"`
-
- // A list of key names as a simple array of strings. The tags with matching
- // keys are removed from the specified user.
- //
- // TagKeys is a required field
- TagKeys []*string `type:"list" required:"true"`
-
- // The name of the IAM user from which you want to remove tags.
- //
- // This parameter accepts (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters that consist of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: =,.@-
- //
- // UserName is a required field
- UserName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s UntagUserInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s UntagUserInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *UntagUserInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "UntagUserInput"}
- if s.TagKeys == nil {
- invalidParams.Add(request.NewErrParamRequired("TagKeys"))
- }
- if s.UserName == nil {
- invalidParams.Add(request.NewErrParamRequired("UserName"))
- }
- if s.UserName != nil && len(*s.UserName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetTagKeys sets the TagKeys field's value.
-func (s *UntagUserInput) SetTagKeys(v []*string) *UntagUserInput {
- s.TagKeys = v
- return s
-}
-
-// SetUserName sets the UserName field's value.
-func (s *UntagUserInput) SetUserName(v string) *UntagUserInput {
- s.UserName = &v
- return s
-}
-
-type UntagUserOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s UntagUserOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s UntagUserOutput) GoString() string {
- return s.String()
-}
-
-type UpdateAccessKeyInput struct {
- _ struct{} `type:"structure"`
-
- // The access key ID of the secret access key you want to update.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters that can consist of any upper or lowercased letter
- // or digit.
- //
- // AccessKeyId is a required field
- AccessKeyId *string `min:"16" type:"string" required:"true"`
-
- // The status you want to assign to the secret access key. Active means that
- // the key can be used for API calls to AWS, while Inactive means that the key
- // cannot be used.
- //
- // Status is a required field
- Status *string `type:"string" required:"true" enum:"statusType"`
-
- // The name of the user whose key you want to update.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- UserName *string `min:"1" type:"string"`
-}
-
-// String returns the string representation
-func (s UpdateAccessKeyInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s UpdateAccessKeyInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *UpdateAccessKeyInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "UpdateAccessKeyInput"}
- if s.AccessKeyId == nil {
- invalidParams.Add(request.NewErrParamRequired("AccessKeyId"))
- }
- if s.AccessKeyId != nil && len(*s.AccessKeyId) < 16 {
- invalidParams.Add(request.NewErrParamMinLen("AccessKeyId", 16))
- }
- if s.Status == nil {
- invalidParams.Add(request.NewErrParamRequired("Status"))
- }
- if s.UserName != nil && len(*s.UserName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetAccessKeyId sets the AccessKeyId field's value.
-func (s *UpdateAccessKeyInput) SetAccessKeyId(v string) *UpdateAccessKeyInput {
- s.AccessKeyId = &v
- return s
-}
-
-// SetStatus sets the Status field's value.
-func (s *UpdateAccessKeyInput) SetStatus(v string) *UpdateAccessKeyInput {
- s.Status = &v
- return s
-}
-
-// SetUserName sets the UserName field's value.
-func (s *UpdateAccessKeyInput) SetUserName(v string) *UpdateAccessKeyInput {
- s.UserName = &v
- return s
-}
-
-type UpdateAccessKeyOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s UpdateAccessKeyOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s UpdateAccessKeyOutput) GoString() string {
- return s.String()
-}
-
-type UpdateAccountPasswordPolicyInput struct {
- _ struct{} `type:"structure"`
-
- // Allows all IAM users in your account to use the AWS Management Console to
- // change their own passwords. For more information, see Letting IAM Users Change
- // Their Own Passwords (https://docs.aws.amazon.com/IAM/latest/UserGuide/HowToPwdIAMUser.html)
- // in the IAM User Guide.
- //
- // If you do not specify a value for this parameter, then the operation uses
- // the default value of false. The result is that IAM users in the account do
- // not automatically have permissions to change their own password.
- AllowUsersToChangePassword *bool `type:"boolean"`
-
- // Prevents IAM users from setting a new password after their password has expired.
- // The IAM user cannot be accessed until an administrator resets the password.
- //
- // If you do not specify a value for this parameter, then the operation uses
- // the default value of false. The result is that IAM users can change their
- // passwords after they expire and continue to sign in as the user.
- HardExpiry *bool `type:"boolean"`
-
- // The number of days that an IAM user password is valid.
- //
- // If you do not specify a value for this parameter, then the operation uses
- // the default value of 0. The result is that IAM user passwords never expire.
- MaxPasswordAge *int64 `min:"1" type:"integer"`
-
- // The minimum number of characters allowed in an IAM user password.
- //
- // If you do not specify a value for this parameter, then the operation uses
- // the default value of 6.
- MinimumPasswordLength *int64 `min:"6" type:"integer"`
-
- // Specifies the number of previous passwords that IAM users are prevented from
- // reusing.
- //
- // If you do not specify a value for this parameter, then the operation uses
- // the default value of 0. The result is that IAM users are not prevented from
- // reusing previous passwords.
- PasswordReusePrevention *int64 `min:"1" type:"integer"`
-
- // Specifies whether IAM user passwords must contain at least one lowercase
- // character from the ISO basic Latin alphabet (a to z).
- //
- // If you do not specify a value for this parameter, then the operation uses
- // the default value of false. The result is that passwords do not require at
- // least one lowercase character.
- RequireLowercaseCharacters *bool `type:"boolean"`
-
- // Specifies whether IAM user passwords must contain at least one numeric character
- // (0 to 9).
- //
- // If you do not specify a value for this parameter, then the operation uses
- // the default value of false. The result is that passwords do not require at
- // least one numeric character.
- RequireNumbers *bool `type:"boolean"`
-
- // Specifies whether IAM user passwords must contain at least one of the following
- // non-alphanumeric characters:
- //
- // ! @ # $ % ^ & * ( ) _ + - = [ ] { } | '
- //
- // If you do not specify a value for this parameter, then the operation uses
- // the default value of false. The result is that passwords do not require at
- // least one symbol character.
- RequireSymbols *bool `type:"boolean"`
-
- // Specifies whether IAM user passwords must contain at least one uppercase
- // character from the ISO basic Latin alphabet (A to Z).
- //
- // If you do not specify a value for this parameter, then the operation uses
- // the default value of false. The result is that passwords do not require at
- // least one uppercase character.
- RequireUppercaseCharacters *bool `type:"boolean"`
-}
-
-// String returns the string representation
-func (s UpdateAccountPasswordPolicyInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s UpdateAccountPasswordPolicyInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *UpdateAccountPasswordPolicyInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "UpdateAccountPasswordPolicyInput"}
- if s.MaxPasswordAge != nil && *s.MaxPasswordAge < 1 {
- invalidParams.Add(request.NewErrParamMinValue("MaxPasswordAge", 1))
- }
- if s.MinimumPasswordLength != nil && *s.MinimumPasswordLength < 6 {
- invalidParams.Add(request.NewErrParamMinValue("MinimumPasswordLength", 6))
- }
- if s.PasswordReusePrevention != nil && *s.PasswordReusePrevention < 1 {
- invalidParams.Add(request.NewErrParamMinValue("PasswordReusePrevention", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetAllowUsersToChangePassword sets the AllowUsersToChangePassword field's value.
-func (s *UpdateAccountPasswordPolicyInput) SetAllowUsersToChangePassword(v bool) *UpdateAccountPasswordPolicyInput {
- s.AllowUsersToChangePassword = &v
- return s
-}
-
-// SetHardExpiry sets the HardExpiry field's value.
-func (s *UpdateAccountPasswordPolicyInput) SetHardExpiry(v bool) *UpdateAccountPasswordPolicyInput {
- s.HardExpiry = &v
- return s
-}
-
-// SetMaxPasswordAge sets the MaxPasswordAge field's value.
-func (s *UpdateAccountPasswordPolicyInput) SetMaxPasswordAge(v int64) *UpdateAccountPasswordPolicyInput {
- s.MaxPasswordAge = &v
- return s
-}
-
-// SetMinimumPasswordLength sets the MinimumPasswordLength field's value.
-func (s *UpdateAccountPasswordPolicyInput) SetMinimumPasswordLength(v int64) *UpdateAccountPasswordPolicyInput {
- s.MinimumPasswordLength = &v
- return s
-}
-
-// SetPasswordReusePrevention sets the PasswordReusePrevention field's value.
-func (s *UpdateAccountPasswordPolicyInput) SetPasswordReusePrevention(v int64) *UpdateAccountPasswordPolicyInput {
- s.PasswordReusePrevention = &v
- return s
-}
-
-// SetRequireLowercaseCharacters sets the RequireLowercaseCharacters field's value.
-func (s *UpdateAccountPasswordPolicyInput) SetRequireLowercaseCharacters(v bool) *UpdateAccountPasswordPolicyInput {
- s.RequireLowercaseCharacters = &v
- return s
-}
-
-// SetRequireNumbers sets the RequireNumbers field's value.
-func (s *UpdateAccountPasswordPolicyInput) SetRequireNumbers(v bool) *UpdateAccountPasswordPolicyInput {
- s.RequireNumbers = &v
- return s
-}
-
-// SetRequireSymbols sets the RequireSymbols field's value.
-func (s *UpdateAccountPasswordPolicyInput) SetRequireSymbols(v bool) *UpdateAccountPasswordPolicyInput {
- s.RequireSymbols = &v
- return s
-}
-
-// SetRequireUppercaseCharacters sets the RequireUppercaseCharacters field's value.
-func (s *UpdateAccountPasswordPolicyInput) SetRequireUppercaseCharacters(v bool) *UpdateAccountPasswordPolicyInput {
- s.RequireUppercaseCharacters = &v
- return s
-}
-
-type UpdateAccountPasswordPolicyOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s UpdateAccountPasswordPolicyOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s UpdateAccountPasswordPolicyOutput) GoString() string {
- return s.String()
-}
-
-type UpdateAssumeRolePolicyInput struct {
- _ struct{} `type:"structure"`
-
- // The policy that grants an entity permission to assume the role.
- //
- // You must provide policies in JSON format in IAM. However, for AWS CloudFormation
- // templates formatted in YAML, you can provide the policy in JSON or YAML format.
- // AWS CloudFormation always converts a YAML policy to JSON format before submitting
- // it to IAM.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) used to validate this
- // parameter is a string of characters consisting of the following:
- //
- // * Any printable ASCII character ranging from the space character (\u0020)
- // through the end of the ASCII character range
- //
- // * The printable characters in the Basic Latin and Latin-1 Supplement character
- // set (through \u00FF)
- //
- // * The special characters tab (\u0009), line feed (\u000A), and carriage
- // return (\u000D)
- //
- // PolicyDocument is a required field
- PolicyDocument *string `min:"1" type:"string" required:"true"`
-
- // The name of the role to update with the new policy.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // RoleName is a required field
- RoleName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s UpdateAssumeRolePolicyInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s UpdateAssumeRolePolicyInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *UpdateAssumeRolePolicyInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "UpdateAssumeRolePolicyInput"}
- if s.PolicyDocument == nil {
- invalidParams.Add(request.NewErrParamRequired("PolicyDocument"))
- }
- if s.PolicyDocument != nil && len(*s.PolicyDocument) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("PolicyDocument", 1))
- }
- if s.RoleName == nil {
- invalidParams.Add(request.NewErrParamRequired("RoleName"))
- }
- if s.RoleName != nil && len(*s.RoleName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("RoleName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetPolicyDocument sets the PolicyDocument field's value.
-func (s *UpdateAssumeRolePolicyInput) SetPolicyDocument(v string) *UpdateAssumeRolePolicyInput {
- s.PolicyDocument = &v
- return s
-}
-
-// SetRoleName sets the RoleName field's value.
-func (s *UpdateAssumeRolePolicyInput) SetRoleName(v string) *UpdateAssumeRolePolicyInput {
- s.RoleName = &v
- return s
-}
-
-type UpdateAssumeRolePolicyOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s UpdateAssumeRolePolicyOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s UpdateAssumeRolePolicyOutput) GoString() string {
- return s.String()
-}
-
-type UpdateGroupInput struct {
- _ struct{} `type:"structure"`
-
- // Name of the IAM group to update. If you're changing the name of the group,
- // this is the original name.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // GroupName is a required field
- GroupName *string `min:"1" type:"string" required:"true"`
-
- // New name for the IAM group. Only include this if changing the group's name.
- //
- // IAM user, group, role, and policy names must be unique within the account.
- // Names are not distinguished by case. For example, you cannot create resources
- // named both "MyResource" and "myresource".
- NewGroupName *string `min:"1" type:"string"`
-
- // New path for the IAM group. Only include this if changing the group's path.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of either a forward slash (/) by itself
- // or a string that must begin and end with forward slashes. In addition, it
- // can contain any ASCII character from the ! (\u0021) through the DEL character
- // (\u007F), including most punctuation characters, digits, and upper and lowercased
- // letters.
- NewPath *string `min:"1" type:"string"`
-}
-
-// String returns the string representation
-func (s UpdateGroupInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s UpdateGroupInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *UpdateGroupInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "UpdateGroupInput"}
- if s.GroupName == nil {
- invalidParams.Add(request.NewErrParamRequired("GroupName"))
- }
- if s.GroupName != nil && len(*s.GroupName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("GroupName", 1))
- }
- if s.NewGroupName != nil && len(*s.NewGroupName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("NewGroupName", 1))
- }
- if s.NewPath != nil && len(*s.NewPath) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("NewPath", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetGroupName sets the GroupName field's value.
-func (s *UpdateGroupInput) SetGroupName(v string) *UpdateGroupInput {
- s.GroupName = &v
- return s
-}
-
-// SetNewGroupName sets the NewGroupName field's value.
-func (s *UpdateGroupInput) SetNewGroupName(v string) *UpdateGroupInput {
- s.NewGroupName = &v
- return s
-}
-
-// SetNewPath sets the NewPath field's value.
-func (s *UpdateGroupInput) SetNewPath(v string) *UpdateGroupInput {
- s.NewPath = &v
- return s
-}
-
-type UpdateGroupOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s UpdateGroupOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s UpdateGroupOutput) GoString() string {
- return s.String()
-}
-
-type UpdateLoginProfileInput struct {
- _ struct{} `type:"structure"`
-
- // The new password for the specified IAM user.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) used to validate this
- // parameter is a string of characters consisting of the following:
- //
- // * Any printable ASCII character ranging from the space character (\u0020)
- // through the end of the ASCII character range
- //
- // * The printable characters in the Basic Latin and Latin-1 Supplement character
- // set (through \u00FF)
- //
- // * The special characters tab (\u0009), line feed (\u000A), and carriage
- // return (\u000D)
- //
- // However, the format can be further restricted by the account administrator
- // by setting a password policy on the AWS account. For more information, see
- // UpdateAccountPasswordPolicy.
- Password *string `min:"1" type:"string" sensitive:"true"`
-
- // Allows this new password to be used only once by requiring the specified
- // IAM user to set a new password on next sign-in.
- PasswordResetRequired *bool `type:"boolean"`
-
- // The name of the user whose password you want to update.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // UserName is a required field
- UserName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s UpdateLoginProfileInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s UpdateLoginProfileInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *UpdateLoginProfileInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "UpdateLoginProfileInput"}
- if s.Password != nil && len(*s.Password) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Password", 1))
- }
- if s.UserName == nil {
- invalidParams.Add(request.NewErrParamRequired("UserName"))
- }
- if s.UserName != nil && len(*s.UserName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetPassword sets the Password field's value.
-func (s *UpdateLoginProfileInput) SetPassword(v string) *UpdateLoginProfileInput {
- s.Password = &v
- return s
-}
-
-// SetPasswordResetRequired sets the PasswordResetRequired field's value.
-func (s *UpdateLoginProfileInput) SetPasswordResetRequired(v bool) *UpdateLoginProfileInput {
- s.PasswordResetRequired = &v
- return s
-}
-
-// SetUserName sets the UserName field's value.
-func (s *UpdateLoginProfileInput) SetUserName(v string) *UpdateLoginProfileInput {
- s.UserName = &v
- return s
-}
-
-type UpdateLoginProfileOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s UpdateLoginProfileOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s UpdateLoginProfileOutput) GoString() string {
- return s.String()
-}
-
-type UpdateOpenIDConnectProviderThumbprintInput struct {
- _ struct{} `type:"structure"`
-
- // The Amazon Resource Name (ARN) of the IAM OIDC provider resource object for
- // which you want to update the thumbprint. You can get a list of OIDC provider
- // ARNs by using the ListOpenIDConnectProviders operation.
- //
- // 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.
- //
- // OpenIDConnectProviderArn is a required field
- OpenIDConnectProviderArn *string `min:"20" type:"string" required:"true"`
-
- // A list of certificate thumbprints that are associated with the specified
- // IAM OpenID Connect provider. For more information, see CreateOpenIDConnectProvider.
- //
- // ThumbprintList is a required field
- ThumbprintList []*string `type:"list" required:"true"`
-}
-
-// String returns the string representation
-func (s UpdateOpenIDConnectProviderThumbprintInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s UpdateOpenIDConnectProviderThumbprintInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *UpdateOpenIDConnectProviderThumbprintInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "UpdateOpenIDConnectProviderThumbprintInput"}
- if s.OpenIDConnectProviderArn == nil {
- invalidParams.Add(request.NewErrParamRequired("OpenIDConnectProviderArn"))
- }
- if s.OpenIDConnectProviderArn != nil && len(*s.OpenIDConnectProviderArn) < 20 {
- invalidParams.Add(request.NewErrParamMinLen("OpenIDConnectProviderArn", 20))
- }
- if s.ThumbprintList == nil {
- invalidParams.Add(request.NewErrParamRequired("ThumbprintList"))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetOpenIDConnectProviderArn sets the OpenIDConnectProviderArn field's value.
-func (s *UpdateOpenIDConnectProviderThumbprintInput) SetOpenIDConnectProviderArn(v string) *UpdateOpenIDConnectProviderThumbprintInput {
- s.OpenIDConnectProviderArn = &v
- return s
-}
-
-// SetThumbprintList sets the ThumbprintList field's value.
-func (s *UpdateOpenIDConnectProviderThumbprintInput) SetThumbprintList(v []*string) *UpdateOpenIDConnectProviderThumbprintInput {
- s.ThumbprintList = v
- return s
-}
-
-type UpdateOpenIDConnectProviderThumbprintOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s UpdateOpenIDConnectProviderThumbprintOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s UpdateOpenIDConnectProviderThumbprintOutput) GoString() string {
- return s.String()
-}
-
-type UpdateRoleDescriptionInput struct {
- _ struct{} `type:"structure"`
-
- // The new description that you want to apply to the specified role.
- //
- // Description is a required field
- Description *string `type:"string" required:"true"`
-
- // The name of the role that you want to modify.
- //
- // RoleName is a required field
- RoleName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s UpdateRoleDescriptionInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s UpdateRoleDescriptionInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *UpdateRoleDescriptionInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "UpdateRoleDescriptionInput"}
- if s.Description == nil {
- invalidParams.Add(request.NewErrParamRequired("Description"))
- }
- if s.RoleName == nil {
- invalidParams.Add(request.NewErrParamRequired("RoleName"))
- }
- if s.RoleName != nil && len(*s.RoleName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("RoleName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetDescription sets the Description field's value.
-func (s *UpdateRoleDescriptionInput) SetDescription(v string) *UpdateRoleDescriptionInput {
- s.Description = &v
- return s
-}
-
-// SetRoleName sets the RoleName field's value.
-func (s *UpdateRoleDescriptionInput) SetRoleName(v string) *UpdateRoleDescriptionInput {
- s.RoleName = &v
- return s
-}
-
-type UpdateRoleDescriptionOutput struct {
- _ struct{} `type:"structure"`
-
- // A structure that contains details about the modified role.
- Role *Role `type:"structure"`
-}
-
-// String returns the string representation
-func (s UpdateRoleDescriptionOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s UpdateRoleDescriptionOutput) GoString() string {
- return s.String()
-}
-
-// SetRole sets the Role field's value.
-func (s *UpdateRoleDescriptionOutput) SetRole(v *Role) *UpdateRoleDescriptionOutput {
- s.Role = v
- return s
-}
-
-type UpdateRoleInput struct {
- _ struct{} `type:"structure"`
-
- // The new description that you want to apply to the specified role.
- Description *string `type:"string"`
-
- // The maximum session duration (in seconds) that you want to set for the specified
- // role. If you do not specify a value for this setting, the default maximum
- // of one hour is applied. This setting can have a value from 1 hour to 12 hours.
- //
- // Anyone who assumes the role from the AWS CLI or API can use the DurationSeconds
- // API parameter or the duration-seconds CLI parameter to request a longer session.
- // The MaxSessionDuration setting determines the maximum duration that can be
- // requested using the DurationSeconds parameter. If users don't specify a value
- // for the DurationSeconds parameter, their security credentials are valid for
- // one hour by default. This applies when you use the AssumeRole* API operations
- // or the assume-role* CLI operations but does not apply when you use those
- // operations to create a console URL. For more information, see Using IAM Roles
- // (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html) in the
- // IAM User Guide.
- MaxSessionDuration *int64 `min:"3600" type:"integer"`
-
- // The name of the role that you want to modify.
- //
- // RoleName is a required field
- RoleName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s UpdateRoleInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s UpdateRoleInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *UpdateRoleInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "UpdateRoleInput"}
- if s.MaxSessionDuration != nil && *s.MaxSessionDuration < 3600 {
- invalidParams.Add(request.NewErrParamMinValue("MaxSessionDuration", 3600))
- }
- if s.RoleName == nil {
- invalidParams.Add(request.NewErrParamRequired("RoleName"))
- }
- if s.RoleName != nil && len(*s.RoleName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("RoleName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetDescription sets the Description field's value.
-func (s *UpdateRoleInput) SetDescription(v string) *UpdateRoleInput {
- s.Description = &v
- return s
-}
-
-// SetMaxSessionDuration sets the MaxSessionDuration field's value.
-func (s *UpdateRoleInput) SetMaxSessionDuration(v int64) *UpdateRoleInput {
- s.MaxSessionDuration = &v
- return s
-}
-
-// SetRoleName sets the RoleName field's value.
-func (s *UpdateRoleInput) SetRoleName(v string) *UpdateRoleInput {
- s.RoleName = &v
- return s
-}
-
-type UpdateRoleOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s UpdateRoleOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s UpdateRoleOutput) GoString() string {
- return s.String()
-}
-
-type UpdateSAMLProviderInput struct {
- _ struct{} `type:"structure"`
-
- // An XML document generated by an identity provider (IdP) that supports SAML
- // 2.0. The document includes the issuer's name, expiration information, and
- // keys that can be used to validate the SAML authentication response (assertions)
- // that are received from the IdP. You must generate the metadata document using
- // the identity management software that is used as your organization's IdP.
- //
- // SAMLMetadataDocument is a required field
- SAMLMetadataDocument *string `min:"1000" type:"string" required:"true"`
-
- // The Amazon Resource Name (ARN) of the SAML provider to update.
- //
- // 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.
- //
- // SAMLProviderArn is a required field
- SAMLProviderArn *string `min:"20" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s UpdateSAMLProviderInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s UpdateSAMLProviderInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *UpdateSAMLProviderInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "UpdateSAMLProviderInput"}
- if s.SAMLMetadataDocument == nil {
- invalidParams.Add(request.NewErrParamRequired("SAMLMetadataDocument"))
- }
- if s.SAMLMetadataDocument != nil && len(*s.SAMLMetadataDocument) < 1000 {
- invalidParams.Add(request.NewErrParamMinLen("SAMLMetadataDocument", 1000))
- }
- if s.SAMLProviderArn == nil {
- invalidParams.Add(request.NewErrParamRequired("SAMLProviderArn"))
- }
- if s.SAMLProviderArn != nil && len(*s.SAMLProviderArn) < 20 {
- invalidParams.Add(request.NewErrParamMinLen("SAMLProviderArn", 20))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetSAMLMetadataDocument sets the SAMLMetadataDocument field's value.
-func (s *UpdateSAMLProviderInput) SetSAMLMetadataDocument(v string) *UpdateSAMLProviderInput {
- s.SAMLMetadataDocument = &v
- return s
-}
-
-// SetSAMLProviderArn sets the SAMLProviderArn field's value.
-func (s *UpdateSAMLProviderInput) SetSAMLProviderArn(v string) *UpdateSAMLProviderInput {
- s.SAMLProviderArn = &v
- return s
-}
-
-// Contains the response to a successful UpdateSAMLProvider request.
-type UpdateSAMLProviderOutput struct {
- _ struct{} `type:"structure"`
-
- // The Amazon Resource Name (ARN) of the SAML provider that was updated.
- SAMLProviderArn *string `min:"20" type:"string"`
-}
-
-// String returns the string representation
-func (s UpdateSAMLProviderOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s UpdateSAMLProviderOutput) GoString() string {
- return s.String()
-}
-
-// SetSAMLProviderArn sets the SAMLProviderArn field's value.
-func (s *UpdateSAMLProviderOutput) SetSAMLProviderArn(v string) *UpdateSAMLProviderOutput {
- s.SAMLProviderArn = &v
- return s
-}
-
-type UpdateSSHPublicKeyInput struct {
- _ struct{} `type:"structure"`
-
- // The unique identifier for the SSH public key.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters that can consist of any upper or lowercased letter
- // or digit.
- //
- // SSHPublicKeyId is a required field
- SSHPublicKeyId *string `min:"20" type:"string" required:"true"`
-
- // The status to assign to the SSH public key. Active means that the key can
- // be used for authentication with an AWS CodeCommit repository. Inactive means
- // that the key cannot be used.
- //
- // Status is a required field
- Status *string `type:"string" required:"true" enum:"statusType"`
-
- // The name of the IAM user associated with the SSH public key.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // UserName is a required field
- UserName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s UpdateSSHPublicKeyInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s UpdateSSHPublicKeyInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *UpdateSSHPublicKeyInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "UpdateSSHPublicKeyInput"}
- if s.SSHPublicKeyId == nil {
- invalidParams.Add(request.NewErrParamRequired("SSHPublicKeyId"))
- }
- if s.SSHPublicKeyId != nil && len(*s.SSHPublicKeyId) < 20 {
- invalidParams.Add(request.NewErrParamMinLen("SSHPublicKeyId", 20))
- }
- if s.Status == nil {
- invalidParams.Add(request.NewErrParamRequired("Status"))
- }
- if s.UserName == nil {
- invalidParams.Add(request.NewErrParamRequired("UserName"))
- }
- if s.UserName != nil && len(*s.UserName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetSSHPublicKeyId sets the SSHPublicKeyId field's value.
-func (s *UpdateSSHPublicKeyInput) SetSSHPublicKeyId(v string) *UpdateSSHPublicKeyInput {
- s.SSHPublicKeyId = &v
- return s
-}
-
-// SetStatus sets the Status field's value.
-func (s *UpdateSSHPublicKeyInput) SetStatus(v string) *UpdateSSHPublicKeyInput {
- s.Status = &v
- return s
-}
-
-// SetUserName sets the UserName field's value.
-func (s *UpdateSSHPublicKeyInput) SetUserName(v string) *UpdateSSHPublicKeyInput {
- s.UserName = &v
- return s
-}
-
-type UpdateSSHPublicKeyOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s UpdateSSHPublicKeyOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s UpdateSSHPublicKeyOutput) GoString() string {
- return s.String()
-}
-
-type UpdateServerCertificateInput struct {
- _ struct{} `type:"structure"`
-
- // The new path for the server certificate. Include this only if you are updating
- // the server certificate's path.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of either a forward slash (/) by itself
- // or a string that must begin and end with forward slashes. In addition, it
- // can contain any ASCII character from the ! (\u0021) through the DEL character
- // (\u007F), including most punctuation characters, digits, and upper and lowercased
- // letters.
- NewPath *string `min:"1" type:"string"`
-
- // The new name for the server certificate. Include this only if you are updating
- // the server certificate's name. The name of the certificate cannot contain
- // any spaces.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- NewServerCertificateName *string `min:"1" type:"string"`
-
- // The name of the server certificate that you want to update.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // ServerCertificateName is a required field
- ServerCertificateName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s UpdateServerCertificateInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s UpdateServerCertificateInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *UpdateServerCertificateInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "UpdateServerCertificateInput"}
- if s.NewPath != nil && len(*s.NewPath) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("NewPath", 1))
- }
- if s.NewServerCertificateName != nil && len(*s.NewServerCertificateName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("NewServerCertificateName", 1))
- }
- if s.ServerCertificateName == nil {
- invalidParams.Add(request.NewErrParamRequired("ServerCertificateName"))
- }
- if s.ServerCertificateName != nil && len(*s.ServerCertificateName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("ServerCertificateName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetNewPath sets the NewPath field's value.
-func (s *UpdateServerCertificateInput) SetNewPath(v string) *UpdateServerCertificateInput {
- s.NewPath = &v
- return s
-}
-
-// SetNewServerCertificateName sets the NewServerCertificateName field's value.
-func (s *UpdateServerCertificateInput) SetNewServerCertificateName(v string) *UpdateServerCertificateInput {
- s.NewServerCertificateName = &v
- return s
-}
-
-// SetServerCertificateName sets the ServerCertificateName field's value.
-func (s *UpdateServerCertificateInput) SetServerCertificateName(v string) *UpdateServerCertificateInput {
- s.ServerCertificateName = &v
- return s
-}
-
-type UpdateServerCertificateOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s UpdateServerCertificateOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s UpdateServerCertificateOutput) GoString() string {
- return s.String()
-}
-
-type UpdateServiceSpecificCredentialInput struct {
- _ struct{} `type:"structure"`
-
- // The unique identifier of the service-specific credential.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters that can consist of any upper or lowercased letter
- // or digit.
- //
- // ServiceSpecificCredentialId is a required field
- ServiceSpecificCredentialId *string `min:"20" type:"string" required:"true"`
-
- // The status to be assigned to the service-specific credential.
- //
- // Status is a required field
- Status *string `type:"string" required:"true" enum:"statusType"`
-
- // The name of the IAM user associated with the service-specific credential.
- // If you do not specify this value, then the operation assumes the user whose
- // credentials are used to call the operation.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- UserName *string `min:"1" type:"string"`
-}
-
-// String returns the string representation
-func (s UpdateServiceSpecificCredentialInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s UpdateServiceSpecificCredentialInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *UpdateServiceSpecificCredentialInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "UpdateServiceSpecificCredentialInput"}
- if s.ServiceSpecificCredentialId == nil {
- invalidParams.Add(request.NewErrParamRequired("ServiceSpecificCredentialId"))
- }
- if s.ServiceSpecificCredentialId != nil && len(*s.ServiceSpecificCredentialId) < 20 {
- invalidParams.Add(request.NewErrParamMinLen("ServiceSpecificCredentialId", 20))
- }
- if s.Status == nil {
- invalidParams.Add(request.NewErrParamRequired("Status"))
- }
- if s.UserName != nil && len(*s.UserName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetServiceSpecificCredentialId sets the ServiceSpecificCredentialId field's value.
-func (s *UpdateServiceSpecificCredentialInput) SetServiceSpecificCredentialId(v string) *UpdateServiceSpecificCredentialInput {
- s.ServiceSpecificCredentialId = &v
- return s
-}
-
-// SetStatus sets the Status field's value.
-func (s *UpdateServiceSpecificCredentialInput) SetStatus(v string) *UpdateServiceSpecificCredentialInput {
- s.Status = &v
- return s
-}
-
-// SetUserName sets the UserName field's value.
-func (s *UpdateServiceSpecificCredentialInput) SetUserName(v string) *UpdateServiceSpecificCredentialInput {
- s.UserName = &v
- return s
-}
-
-type UpdateServiceSpecificCredentialOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s UpdateServiceSpecificCredentialOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s UpdateServiceSpecificCredentialOutput) GoString() string {
- return s.String()
-}
-
-type UpdateSigningCertificateInput struct {
- _ struct{} `type:"structure"`
-
- // The ID of the signing certificate you want to update.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters that can consist of any upper or lowercased letter
- // or digit.
- //
- // CertificateId is a required field
- CertificateId *string `min:"24" type:"string" required:"true"`
-
- // The status you want to assign to the certificate. Active means that the certificate
- // can be used for API calls to AWS Inactive means that the certificate cannot
- // be used.
- //
- // Status is a required field
- Status *string `type:"string" required:"true" enum:"statusType"`
-
- // The name of the IAM user the signing certificate belongs to.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- UserName *string `min:"1" type:"string"`
-}
-
-// String returns the string representation
-func (s UpdateSigningCertificateInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s UpdateSigningCertificateInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *UpdateSigningCertificateInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "UpdateSigningCertificateInput"}
- if s.CertificateId == nil {
- invalidParams.Add(request.NewErrParamRequired("CertificateId"))
- }
- if s.CertificateId != nil && len(*s.CertificateId) < 24 {
- invalidParams.Add(request.NewErrParamMinLen("CertificateId", 24))
- }
- if s.Status == nil {
- invalidParams.Add(request.NewErrParamRequired("Status"))
- }
- if s.UserName != nil && len(*s.UserName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetCertificateId sets the CertificateId field's value.
-func (s *UpdateSigningCertificateInput) SetCertificateId(v string) *UpdateSigningCertificateInput {
- s.CertificateId = &v
- return s
-}
-
-// SetStatus sets the Status field's value.
-func (s *UpdateSigningCertificateInput) SetStatus(v string) *UpdateSigningCertificateInput {
- s.Status = &v
- return s
-}
-
-// SetUserName sets the UserName field's value.
-func (s *UpdateSigningCertificateInput) SetUserName(v string) *UpdateSigningCertificateInput {
- s.UserName = &v
- return s
-}
-
-type UpdateSigningCertificateOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s UpdateSigningCertificateOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s UpdateSigningCertificateOutput) GoString() string {
- return s.String()
-}
-
-type UpdateUserInput struct {
- _ struct{} `type:"structure"`
-
- // New path for the IAM user. Include this parameter only if you're changing
- // the user's path.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of either a forward slash (/) by itself
- // or a string that must begin and end with forward slashes. In addition, it
- // can contain any ASCII character from the ! (\u0021) through the DEL character
- // (\u007F), including most punctuation characters, digits, and upper and lowercased
- // letters.
- NewPath *string `min:"1" type:"string"`
-
- // New name for the user. Include this parameter only if you're changing the
- // user's name.
- //
- // IAM user, group, role, and policy names must be unique within the account.
- // Names are not distinguished by case. For example, you cannot create resources
- // named both "MyResource" and "myresource".
- NewUserName *string `min:"1" type:"string"`
-
- // Name of the user to update. If you're changing the name of the user, this
- // is the original user name.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // UserName is a required field
- UserName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s UpdateUserInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s UpdateUserInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *UpdateUserInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "UpdateUserInput"}
- if s.NewPath != nil && len(*s.NewPath) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("NewPath", 1))
- }
- if s.NewUserName != nil && len(*s.NewUserName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("NewUserName", 1))
- }
- if s.UserName == nil {
- invalidParams.Add(request.NewErrParamRequired("UserName"))
- }
- if s.UserName != nil && len(*s.UserName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetNewPath sets the NewPath field's value.
-func (s *UpdateUserInput) SetNewPath(v string) *UpdateUserInput {
- s.NewPath = &v
- return s
-}
-
-// SetNewUserName sets the NewUserName field's value.
-func (s *UpdateUserInput) SetNewUserName(v string) *UpdateUserInput {
- s.NewUserName = &v
- return s
-}
-
-// SetUserName sets the UserName field's value.
-func (s *UpdateUserInput) SetUserName(v string) *UpdateUserInput {
- s.UserName = &v
- return s
-}
-
-type UpdateUserOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s UpdateUserOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s UpdateUserOutput) GoString() string {
- return s.String()
-}
-
-type UploadSSHPublicKeyInput struct {
- _ struct{} `type:"structure"`
-
- // The SSH public key. The public key must be encoded in ssh-rsa format or PEM
- // format. The minimum bit-length of the public key is 2048 bits. For example,
- // you can generate a 2048-bit key, and the resulting PEM file is 1679 bytes
- // long.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) used to validate this
- // parameter is a string of characters consisting of the following:
- //
- // * Any printable ASCII character ranging from the space character (\u0020)
- // through the end of the ASCII character range
- //
- // * The printable characters in the Basic Latin and Latin-1 Supplement character
- // set (through \u00FF)
- //
- // * The special characters tab (\u0009), line feed (\u000A), and carriage
- // return (\u000D)
- //
- // SSHPublicKeyBody is a required field
- SSHPublicKeyBody *string `min:"1" type:"string" required:"true"`
-
- // The name of the IAM user to associate the SSH public key with.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // UserName is a required field
- UserName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s UploadSSHPublicKeyInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s UploadSSHPublicKeyInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *UploadSSHPublicKeyInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "UploadSSHPublicKeyInput"}
- if s.SSHPublicKeyBody == nil {
- invalidParams.Add(request.NewErrParamRequired("SSHPublicKeyBody"))
- }
- if s.SSHPublicKeyBody != nil && len(*s.SSHPublicKeyBody) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("SSHPublicKeyBody", 1))
- }
- if s.UserName == nil {
- invalidParams.Add(request.NewErrParamRequired("UserName"))
- }
- if s.UserName != nil && len(*s.UserName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetSSHPublicKeyBody sets the SSHPublicKeyBody field's value.
-func (s *UploadSSHPublicKeyInput) SetSSHPublicKeyBody(v string) *UploadSSHPublicKeyInput {
- s.SSHPublicKeyBody = &v
- return s
-}
-
-// SetUserName sets the UserName field's value.
-func (s *UploadSSHPublicKeyInput) SetUserName(v string) *UploadSSHPublicKeyInput {
- s.UserName = &v
- return s
-}
-
-// Contains the response to a successful UploadSSHPublicKey request.
-type UploadSSHPublicKeyOutput struct {
- _ struct{} `type:"structure"`
-
- // Contains information about the SSH public key.
- SSHPublicKey *SSHPublicKey `type:"structure"`
-}
-
-// String returns the string representation
-func (s UploadSSHPublicKeyOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s UploadSSHPublicKeyOutput) GoString() string {
- return s.String()
-}
-
-// SetSSHPublicKey sets the SSHPublicKey field's value.
-func (s *UploadSSHPublicKeyOutput) SetSSHPublicKey(v *SSHPublicKey) *UploadSSHPublicKeyOutput {
- s.SSHPublicKey = v
- return s
-}
-
-type UploadServerCertificateInput struct {
- _ struct{} `type:"structure"`
-
- // The contents of the public key certificate in PEM-encoded format.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) used to validate this
- // parameter is a string of characters consisting of the following:
- //
- // * Any printable ASCII character ranging from the space character (\u0020)
- // through the end of the ASCII character range
- //
- // * The printable characters in the Basic Latin and Latin-1 Supplement character
- // set (through \u00FF)
- //
- // * The special characters tab (\u0009), line feed (\u000A), and carriage
- // return (\u000D)
- //
- // CertificateBody is a required field
- CertificateBody *string `min:"1" type:"string" required:"true"`
-
- // The contents of the certificate chain. This is typically a concatenation
- // of the PEM-encoded public key certificates of the chain.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) used to validate this
- // parameter is a string of characters consisting of the following:
- //
- // * Any printable ASCII character ranging from the space character (\u0020)
- // through the end of the ASCII character range
- //
- // * The printable characters in the Basic Latin and Latin-1 Supplement character
- // set (through \u00FF)
- //
- // * The special characters tab (\u0009), line feed (\u000A), and carriage
- // return (\u000D)
- CertificateChain *string `min:"1" type:"string"`
-
- // The path for the server certificate. For more information about paths, see
- // IAM Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
- // in the IAM User Guide.
- //
- // This parameter is optional. If it is not included, it defaults to a slash
- // (/). This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of either a forward slash (/) by itself
- // or a string that must begin and end with forward slashes. In addition, it
- // can contain any ASCII character from the ! (\u0021) through the DEL character
- // (\u007F), including most punctuation characters, digits, and upper and lowercased
- // letters.
- //
- // If you are uploading a server certificate specifically for use with Amazon
- // CloudFront distributions, you must specify a path using the path parameter.
- // The path must begin with /cloudfront and must include a trailing slash (for
- // example, /cloudfront/test/).
- Path *string `min:"1" type:"string"`
-
- // The contents of the private key in PEM-encoded format.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) used to validate this
- // parameter is a string of characters consisting of the following:
- //
- // * Any printable ASCII character ranging from the space character (\u0020)
- // through the end of the ASCII character range
- //
- // * The printable characters in the Basic Latin and Latin-1 Supplement character
- // set (through \u00FF)
- //
- // * The special characters tab (\u0009), line feed (\u000A), and carriage
- // return (\u000D)
- //
- // PrivateKey is a required field
- PrivateKey *string `min:"1" type:"string" required:"true" sensitive:"true"`
-
- // The name for the server certificate. Do not include the path in this value.
- // The name of the certificate cannot contain any spaces.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- //
- // ServerCertificateName is a required field
- ServerCertificateName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s UploadServerCertificateInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s UploadServerCertificateInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *UploadServerCertificateInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "UploadServerCertificateInput"}
- if s.CertificateBody == nil {
- invalidParams.Add(request.NewErrParamRequired("CertificateBody"))
- }
- if s.CertificateBody != nil && len(*s.CertificateBody) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("CertificateBody", 1))
- }
- if s.CertificateChain != nil && len(*s.CertificateChain) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("CertificateChain", 1))
- }
- if s.Path != nil && len(*s.Path) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Path", 1))
- }
- if s.PrivateKey == nil {
- invalidParams.Add(request.NewErrParamRequired("PrivateKey"))
- }
- if s.PrivateKey != nil && len(*s.PrivateKey) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("PrivateKey", 1))
- }
- if s.ServerCertificateName == nil {
- invalidParams.Add(request.NewErrParamRequired("ServerCertificateName"))
- }
- if s.ServerCertificateName != nil && len(*s.ServerCertificateName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("ServerCertificateName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetCertificateBody sets the CertificateBody field's value.
-func (s *UploadServerCertificateInput) SetCertificateBody(v string) *UploadServerCertificateInput {
- s.CertificateBody = &v
- return s
-}
-
-// SetCertificateChain sets the CertificateChain field's value.
-func (s *UploadServerCertificateInput) SetCertificateChain(v string) *UploadServerCertificateInput {
- s.CertificateChain = &v
- return s
-}
-
-// SetPath sets the Path field's value.
-func (s *UploadServerCertificateInput) SetPath(v string) *UploadServerCertificateInput {
- s.Path = &v
- return s
-}
-
-// SetPrivateKey sets the PrivateKey field's value.
-func (s *UploadServerCertificateInput) SetPrivateKey(v string) *UploadServerCertificateInput {
- s.PrivateKey = &v
- return s
-}
-
-// SetServerCertificateName sets the ServerCertificateName field's value.
-func (s *UploadServerCertificateInput) SetServerCertificateName(v string) *UploadServerCertificateInput {
- s.ServerCertificateName = &v
- return s
-}
-
-// Contains the response to a successful UploadServerCertificate request.
-type UploadServerCertificateOutput struct {
- _ struct{} `type:"structure"`
-
- // The meta information of the uploaded server certificate without its certificate
- // body, certificate chain, and private key.
- ServerCertificateMetadata *ServerCertificateMetadata `type:"structure"`
-}
-
-// String returns the string representation
-func (s UploadServerCertificateOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s UploadServerCertificateOutput) GoString() string {
- return s.String()
-}
-
-// SetServerCertificateMetadata sets the ServerCertificateMetadata field's value.
-func (s *UploadServerCertificateOutput) SetServerCertificateMetadata(v *ServerCertificateMetadata) *UploadServerCertificateOutput {
- s.ServerCertificateMetadata = v
- return s
-}
-
-type UploadSigningCertificateInput struct {
- _ struct{} `type:"structure"`
-
- // The contents of the signing certificate.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) used to validate this
- // parameter is a string of characters consisting of the following:
- //
- // * Any printable ASCII character ranging from the space character (\u0020)
- // through the end of the ASCII character range
- //
- // * The printable characters in the Basic Latin and Latin-1 Supplement character
- // set (through \u00FF)
- //
- // * The special characters tab (\u0009), line feed (\u000A), and carriage
- // return (\u000D)
- //
- // CertificateBody is a required field
- CertificateBody *string `min:"1" type:"string" required:"true"`
-
- // The name of the user the signing certificate is for.
- //
- // This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
- // a string of characters consisting of upper and lowercase alphanumeric characters
- // with no spaces. You can also include any of the following characters: _+=,.@-
- UserName *string `min:"1" type:"string"`
-}
-
-// String returns the string representation
-func (s UploadSigningCertificateInput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s UploadSigningCertificateInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *UploadSigningCertificateInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "UploadSigningCertificateInput"}
- if s.CertificateBody == nil {
- invalidParams.Add(request.NewErrParamRequired("CertificateBody"))
- }
- if s.CertificateBody != nil && len(*s.CertificateBody) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("CertificateBody", 1))
- }
- if s.UserName != nil && len(*s.UserName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetCertificateBody sets the CertificateBody field's value.
-func (s *UploadSigningCertificateInput) SetCertificateBody(v string) *UploadSigningCertificateInput {
- s.CertificateBody = &v
- return s
-}
-
-// SetUserName sets the UserName field's value.
-func (s *UploadSigningCertificateInput) SetUserName(v string) *UploadSigningCertificateInput {
- s.UserName = &v
- return s
-}
-
-// Contains the response to a successful UploadSigningCertificate request.
-type UploadSigningCertificateOutput struct {
- _ struct{} `type:"structure"`
-
- // Information about the certificate.
- //
- // Certificate is a required field
- Certificate *SigningCertificate `type:"structure" required:"true"`
-}
-
-// String returns the string representation
-func (s UploadSigningCertificateOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s UploadSigningCertificateOutput) GoString() string {
- return s.String()
-}
-
-// SetCertificate sets the Certificate field's value.
-func (s *UploadSigningCertificateOutput) SetCertificate(v *SigningCertificate) *UploadSigningCertificateOutput {
- s.Certificate = v
- return s
-}
-
-// Contains information about an IAM user entity.
-//
-// This data type is used as a response element in the following operations:
-//
-// * CreateUser
-//
-// * GetUser
-//
-// * ListUsers
-type User struct {
- _ struct{} `type:"structure"`
-
- // The Amazon Resource Name (ARN) that identifies the user. For more information
- // about ARNs and how to use ARNs in policies, see IAM Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
- // in the IAM User Guide.
- //
- // Arn is a required field
- Arn *string `min:"20" type:"string" required:"true"`
-
- // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
- // when the user was created.
- //
- // CreateDate is a required field
- CreateDate *time.Time `type:"timestamp" required:"true"`
-
- // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
- // when the user's password was last used to sign in to an AWS website. For
- // a list of AWS websites that capture a user's last sign-in time, see the Credential
- // Reports (https://docs.aws.amazon.com/IAM/latest/UserGuide/credential-reports.html)
- // topic in the IAM User Guide. If a password is used more than once in a five-minute
- // span, only the first use is returned in this field. If the field is null
- // (no value), then it indicates that they never signed in with a password.
- // This can be because:
- //
- // * The user never had a password.
- //
- // * A password exists but has not been used since IAM started tracking this
- // information on October 20, 2014.
- //
- // A null value does not mean that the user never had a password. Also, if the
- // user does not currently have a password but had one in the past, then this
- // field contains the date and time the most recent password was used.
- //
- // This value is returned only in the GetUser and ListUsers operations.
- PasswordLastUsed *time.Time `type:"timestamp"`
-
- // The path to the user. For more information about paths, see IAM Identifiers
- // (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
- // in the IAM User Guide.
- //
- // Path is a required field
- Path *string `min:"1" type:"string" required:"true"`
-
- // The ARN of the policy used to set the permissions boundary for the user.
- //
- // For more information about permissions boundaries, see Permissions Boundaries
- // for IAM Identities (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html)
- // in the IAM User Guide.
- PermissionsBoundary *AttachedPermissionsBoundary `type:"structure"`
-
- // A list of tags that are associated with the specified user. For more information
- // about tagging, see Tagging IAM Identities (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)
- // in the IAM User Guide.
- Tags []*Tag `type:"list"`
-
- // The stable and unique string identifying the user. For more information about
- // IDs, see IAM Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
- // in the IAM User Guide.
- //
- // UserId is a required field
- UserId *string `min:"16" type:"string" required:"true"`
-
- // The friendly name identifying the user.
- //
- // UserName is a required field
- UserName *string `min:"1" type:"string" required:"true"`
-}
-
-// String returns the string representation
-func (s User) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s User) GoString() string {
- return s.String()
-}
-
-// SetArn sets the Arn field's value.
-func (s *User) SetArn(v string) *User {
- s.Arn = &v
- return s
-}
-
-// SetCreateDate sets the CreateDate field's value.
-func (s *User) SetCreateDate(v time.Time) *User {
- s.CreateDate = &v
- return s
-}
-
-// SetPasswordLastUsed sets the PasswordLastUsed field's value.
-func (s *User) SetPasswordLastUsed(v time.Time) *User {
- s.PasswordLastUsed = &v
- return s
-}
-
-// SetPath sets the Path field's value.
-func (s *User) SetPath(v string) *User {
- s.Path = &v
- return s
-}
-
-// SetPermissionsBoundary sets the PermissionsBoundary field's value.
-func (s *User) SetPermissionsBoundary(v *AttachedPermissionsBoundary) *User {
- s.PermissionsBoundary = v
- return s
-}
-
-// SetTags sets the Tags field's value.
-func (s *User) SetTags(v []*Tag) *User {
- s.Tags = v
- return s
-}
-
-// SetUserId sets the UserId field's value.
-func (s *User) SetUserId(v string) *User {
- s.UserId = &v
- return s
-}
-
-// SetUserName sets the UserName field's value.
-func (s *User) SetUserName(v string) *User {
- s.UserName = &v
- return s
-}
-
-// Contains information about an IAM user, including all the user's policies
-// and all the IAM groups the user is in.
-//
-// This data type is used as a response element in the GetAccountAuthorizationDetails
-// operation.
-type UserDetail struct {
- _ struct{} `type:"structure"`
-
- // The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.
- //
- // For more information about ARNs, go to 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.
- Arn *string `min:"20" type:"string"`
-
- // A list of the managed policies attached to the user.
- AttachedManagedPolicies []*AttachedPolicy `type:"list"`
-
- // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
- // when the user was created.
- CreateDate *time.Time `type:"timestamp"`
-
- // A list of IAM groups that the user is in.
- GroupList []*string `type:"list"`
-
- // The path to the user. For more information about paths, see IAM Identifiers
- // (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
- // in the IAM User Guide.
- Path *string `min:"1" type:"string"`
-
- // The ARN of the policy used to set the permissions boundary for the user.
- //
- // For more information about permissions boundaries, see Permissions Boundaries
- // for IAM Identities (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html)
- // in the IAM User Guide.
- PermissionsBoundary *AttachedPermissionsBoundary `type:"structure"`
-
- // A list of tags that are associated with the specified user. For more information
- // about tagging, see Tagging IAM Identities (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)
- // in the IAM User Guide.
- Tags []*Tag `type:"list"`
-
- // The stable and unique string identifying the user. For more information about
- // IDs, see IAM Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
- // in the IAM User Guide.
- UserId *string `min:"16" type:"string"`
-
- // The friendly name identifying the user.
- UserName *string `min:"1" type:"string"`
-
- // A list of the inline policies embedded in the user.
- UserPolicyList []*PolicyDetail `type:"list"`
-}
-
-// String returns the string representation
-func (s UserDetail) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s UserDetail) GoString() string {
- return s.String()
-}
-
-// SetArn sets the Arn field's value.
-func (s *UserDetail) SetArn(v string) *UserDetail {
- s.Arn = &v
- return s
-}
-
-// SetAttachedManagedPolicies sets the AttachedManagedPolicies field's value.
-func (s *UserDetail) SetAttachedManagedPolicies(v []*AttachedPolicy) *UserDetail {
- s.AttachedManagedPolicies = v
- return s
-}
-
-// SetCreateDate sets the CreateDate field's value.
-func (s *UserDetail) SetCreateDate(v time.Time) *UserDetail {
- s.CreateDate = &v
- return s
-}
-
-// SetGroupList sets the GroupList field's value.
-func (s *UserDetail) SetGroupList(v []*string) *UserDetail {
- s.GroupList = v
- return s
-}
-
-// SetPath sets the Path field's value.
-func (s *UserDetail) SetPath(v string) *UserDetail {
- s.Path = &v
- return s
-}
-
-// SetPermissionsBoundary sets the PermissionsBoundary field's value.
-func (s *UserDetail) SetPermissionsBoundary(v *AttachedPermissionsBoundary) *UserDetail {
- s.PermissionsBoundary = v
- return s
-}
-
-// SetTags sets the Tags field's value.
-func (s *UserDetail) SetTags(v []*Tag) *UserDetail {
- s.Tags = v
- return s
-}
-
-// SetUserId sets the UserId field's value.
-func (s *UserDetail) SetUserId(v string) *UserDetail {
- s.UserId = &v
- return s
-}
-
-// SetUserName sets the UserName field's value.
-func (s *UserDetail) SetUserName(v string) *UserDetail {
- s.UserName = &v
- return s
-}
-
-// SetUserPolicyList sets the UserPolicyList field's value.
-func (s *UserDetail) SetUserPolicyList(v []*PolicyDetail) *UserDetail {
- s.UserPolicyList = v
- return s
-}
-
-// Contains information about a virtual MFA device.
-type VirtualMFADevice struct {
- _ struct{} `type:"structure"`
-
- // The base32 seed defined as specified in RFC3548 (https://tools.ietf.org/html/rfc3548.txt).
- // The Base32StringSeed is base64-encoded.
- //
- // Base32StringSeed is automatically base64 encoded/decoded by the SDK.
- Base32StringSeed []byte `type:"blob" sensitive:"true"`
-
- // The date and time on which the virtual MFA device was enabled.
- EnableDate *time.Time `type:"timestamp"`
-
- // A QR code PNG image that encodes otpauth://totp/$virtualMFADeviceName@$AccountName?secret=$Base32String
- // where $virtualMFADeviceName is one of the create call arguments. AccountName
- // is the user name if set (otherwise, the account ID otherwise), and Base32String
- // is the seed in base32 format. The Base32String value is base64-encoded.
- //
- // QRCodePNG is automatically base64 encoded/decoded by the SDK.
- QRCodePNG []byte `type:"blob" sensitive:"true"`
-
- // The serial number associated with VirtualMFADevice.
- //
- // SerialNumber is a required field
- SerialNumber *string `min:"9" type:"string" required:"true"`
-
- // The IAM user associated with this virtual MFA device.
- User *User `type:"structure"`
-}
-
-// String returns the string representation
-func (s VirtualMFADevice) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s VirtualMFADevice) GoString() string {
- return s.String()
-}
-
-// SetBase32StringSeed sets the Base32StringSeed field's value.
-func (s *VirtualMFADevice) SetBase32StringSeed(v []byte) *VirtualMFADevice {
- s.Base32StringSeed = v
- return s
-}
-
-// SetEnableDate sets the EnableDate field's value.
-func (s *VirtualMFADevice) SetEnableDate(v time.Time) *VirtualMFADevice {
- s.EnableDate = &v
- return s
-}
-
-// SetQRCodePNG sets the QRCodePNG field's value.
-func (s *VirtualMFADevice) SetQRCodePNG(v []byte) *VirtualMFADevice {
- s.QRCodePNG = v
- return s
-}
-
-// SetSerialNumber sets the SerialNumber field's value.
-func (s *VirtualMFADevice) SetSerialNumber(v string) *VirtualMFADevice {
- s.SerialNumber = &v
- return s
-}
-
-// SetUser sets the User field's value.
-func (s *VirtualMFADevice) SetUser(v *User) *VirtualMFADevice {
- s.User = v
- return s
-}
-
-const (
- // ContextKeyTypeEnumString is a ContextKeyTypeEnum enum value
- ContextKeyTypeEnumString = "string"
-
- // ContextKeyTypeEnumStringList is a ContextKeyTypeEnum enum value
- ContextKeyTypeEnumStringList = "stringList"
-
- // ContextKeyTypeEnumNumeric is a ContextKeyTypeEnum enum value
- ContextKeyTypeEnumNumeric = "numeric"
-
- // ContextKeyTypeEnumNumericList is a ContextKeyTypeEnum enum value
- ContextKeyTypeEnumNumericList = "numericList"
-
- // ContextKeyTypeEnumBoolean is a ContextKeyTypeEnum enum value
- ContextKeyTypeEnumBoolean = "boolean"
-
- // ContextKeyTypeEnumBooleanList is a ContextKeyTypeEnum enum value
- ContextKeyTypeEnumBooleanList = "booleanList"
-
- // ContextKeyTypeEnumIp is a ContextKeyTypeEnum enum value
- ContextKeyTypeEnumIp = "ip"
-
- // ContextKeyTypeEnumIpList is a ContextKeyTypeEnum enum value
- ContextKeyTypeEnumIpList = "ipList"
-
- // ContextKeyTypeEnumBinary is a ContextKeyTypeEnum enum value
- ContextKeyTypeEnumBinary = "binary"
-
- // ContextKeyTypeEnumBinaryList is a ContextKeyTypeEnum enum value
- ContextKeyTypeEnumBinaryList = "binaryList"
-
- // ContextKeyTypeEnumDate is a ContextKeyTypeEnum enum value
- ContextKeyTypeEnumDate = "date"
-
- // ContextKeyTypeEnumDateList is a ContextKeyTypeEnum enum value
- ContextKeyTypeEnumDateList = "dateList"
-)
-
-const (
- // DeletionTaskStatusTypeSucceeded is a DeletionTaskStatusType enum value
- DeletionTaskStatusTypeSucceeded = "SUCCEEDED"
-
- // DeletionTaskStatusTypeInProgress is a DeletionTaskStatusType enum value
- DeletionTaskStatusTypeInProgress = "IN_PROGRESS"
-
- // DeletionTaskStatusTypeFailed is a DeletionTaskStatusType enum value
- DeletionTaskStatusTypeFailed = "FAILED"
-
- // DeletionTaskStatusTypeNotStarted is a DeletionTaskStatusType enum value
- DeletionTaskStatusTypeNotStarted = "NOT_STARTED"
-)
-
-const (
- // EntityTypeUser is a EntityType enum value
- EntityTypeUser = "User"
-
- // EntityTypeRole is a EntityType enum value
- EntityTypeRole = "Role"
-
- // EntityTypeGroup is a EntityType enum value
- EntityTypeGroup = "Group"
-
- // EntityTypeLocalManagedPolicy is a EntityType enum value
- EntityTypeLocalManagedPolicy = "LocalManagedPolicy"
-
- // EntityTypeAwsmanagedPolicy is a EntityType enum value
- EntityTypeAwsmanagedPolicy = "AWSManagedPolicy"
-)
-
-const (
- // PermissionsBoundaryAttachmentTypePermissionsBoundaryPolicy is a PermissionsBoundaryAttachmentType enum value
- PermissionsBoundaryAttachmentTypePermissionsBoundaryPolicy = "PermissionsBoundaryPolicy"
-)
-
-const (
- // PolicyEvaluationDecisionTypeAllowed is a PolicyEvaluationDecisionType enum value
- PolicyEvaluationDecisionTypeAllowed = "allowed"
-
- // PolicyEvaluationDecisionTypeExplicitDeny is a PolicyEvaluationDecisionType enum value
- PolicyEvaluationDecisionTypeExplicitDeny = "explicitDeny"
-
- // PolicyEvaluationDecisionTypeImplicitDeny is a PolicyEvaluationDecisionType enum value
- PolicyEvaluationDecisionTypeImplicitDeny = "implicitDeny"
-)
-
-const (
- // PolicySourceTypeUser is a PolicySourceType enum value
- PolicySourceTypeUser = "user"
-
- // PolicySourceTypeGroup is a PolicySourceType enum value
- PolicySourceTypeGroup = "group"
-
- // PolicySourceTypeRole is a PolicySourceType enum value
- PolicySourceTypeRole = "role"
-
- // PolicySourceTypeAwsManaged is a PolicySourceType enum value
- PolicySourceTypeAwsManaged = "aws-managed"
-
- // PolicySourceTypeUserManaged is a PolicySourceType enum value
- PolicySourceTypeUserManaged = "user-managed"
-
- // PolicySourceTypeResource is a PolicySourceType enum value
- PolicySourceTypeResource = "resource"
-
- // PolicySourceTypeNone is a PolicySourceType enum value
- PolicySourceTypeNone = "none"
-)
-
-// The policy usage type that indicates whether the policy is used as a permissions
-// policy or as the permissions boundary for an entity.
-//
-// For more information about permissions boundaries, see Permissions Boundaries
-// for IAM Identities (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html)
-// in the IAM User Guide.
-const (
- // PolicyUsageTypePermissionsPolicy is a PolicyUsageType enum value
- PolicyUsageTypePermissionsPolicy = "PermissionsPolicy"
-
- // PolicyUsageTypePermissionsBoundary is a PolicyUsageType enum value
- PolicyUsageTypePermissionsBoundary = "PermissionsBoundary"
-)
-
-const (
- // ReportFormatTypeTextCsv is a ReportFormatType enum value
- ReportFormatTypeTextCsv = "text/csv"
-)
-
-const (
- // ReportStateTypeStarted is a ReportStateType enum value
- ReportStateTypeStarted = "STARTED"
-
- // ReportStateTypeInprogress is a ReportStateType enum value
- ReportStateTypeInprogress = "INPROGRESS"
-
- // ReportStateTypeComplete is a ReportStateType enum value
- ReportStateTypeComplete = "COMPLETE"
-)
-
-const (
- // AssignmentStatusTypeAssigned is a assignmentStatusType enum value
- AssignmentStatusTypeAssigned = "Assigned"
-
- // AssignmentStatusTypeUnassigned is a assignmentStatusType enum value
- AssignmentStatusTypeUnassigned = "Unassigned"
-
- // AssignmentStatusTypeAny is a assignmentStatusType enum value
- AssignmentStatusTypeAny = "Any"
-)
-
-const (
- // EncodingTypeSsh is a encodingType enum value
- EncodingTypeSsh = "SSH"
-
- // EncodingTypePem is a encodingType enum value
- EncodingTypePem = "PEM"
-)
-
-const (
- // GlobalEndpointTokenVersionV1token is a globalEndpointTokenVersion enum value
- GlobalEndpointTokenVersionV1token = "v1Token"
-
- // GlobalEndpointTokenVersionV2token is a globalEndpointTokenVersion enum value
- GlobalEndpointTokenVersionV2token = "v2Token"
-)
-
-const (
- // JobStatusTypeInProgress is a jobStatusType enum value
- JobStatusTypeInProgress = "IN_PROGRESS"
-
- // JobStatusTypeCompleted is a jobStatusType enum value
- JobStatusTypeCompleted = "COMPLETED"
-
- // JobStatusTypeFailed is a jobStatusType enum value
- JobStatusTypeFailed = "FAILED"
-)
-
-const (
- // PolicyOwnerEntityTypeUser is a policyOwnerEntityType enum value
- PolicyOwnerEntityTypeUser = "USER"
-
- // PolicyOwnerEntityTypeRole is a policyOwnerEntityType enum value
- PolicyOwnerEntityTypeRole = "ROLE"
-
- // PolicyOwnerEntityTypeGroup is a policyOwnerEntityType enum value
- PolicyOwnerEntityTypeGroup = "GROUP"
-)
-
-const (
- // PolicyScopeTypeAll is a policyScopeType enum value
- PolicyScopeTypeAll = "All"
-
- // PolicyScopeTypeAws is a policyScopeType enum value
- PolicyScopeTypeAws = "AWS"
-
- // PolicyScopeTypeLocal is a policyScopeType enum value
- PolicyScopeTypeLocal = "Local"
-)
-
-const (
- // PolicyTypeInline is a policyType enum value
- PolicyTypeInline = "INLINE"
-
- // PolicyTypeManaged is a policyType enum value
- PolicyTypeManaged = "MANAGED"
-)
-
-const (
- // SortKeyTypeServiceNamespaceAscending is a sortKeyType enum value
- SortKeyTypeServiceNamespaceAscending = "SERVICE_NAMESPACE_ASCENDING"
-
- // SortKeyTypeServiceNamespaceDescending is a sortKeyType enum value
- SortKeyTypeServiceNamespaceDescending = "SERVICE_NAMESPACE_DESCENDING"
-
- // SortKeyTypeLastAuthenticatedTimeAscending is a sortKeyType enum value
- SortKeyTypeLastAuthenticatedTimeAscending = "LAST_AUTHENTICATED_TIME_ASCENDING"
-
- // SortKeyTypeLastAuthenticatedTimeDescending is a sortKeyType enum value
- SortKeyTypeLastAuthenticatedTimeDescending = "LAST_AUTHENTICATED_TIME_DESCENDING"
-)
-
-const (
- // StatusTypeActive is a statusType enum value
- StatusTypeActive = "Active"
-
- // StatusTypeInactive is a statusType enum value
- StatusTypeInactive = "Inactive"
-)
-
-const (
- // SummaryKeyTypeUsers is a summaryKeyType enum value
- SummaryKeyTypeUsers = "Users"
-
- // SummaryKeyTypeUsersQuota is a summaryKeyType enum value
- SummaryKeyTypeUsersQuota = "UsersQuota"
-
- // SummaryKeyTypeGroups is a summaryKeyType enum value
- SummaryKeyTypeGroups = "Groups"
-
- // SummaryKeyTypeGroupsQuota is a summaryKeyType enum value
- SummaryKeyTypeGroupsQuota = "GroupsQuota"
-
- // SummaryKeyTypeServerCertificates is a summaryKeyType enum value
- SummaryKeyTypeServerCertificates = "ServerCertificates"
-
- // SummaryKeyTypeServerCertificatesQuota is a summaryKeyType enum value
- SummaryKeyTypeServerCertificatesQuota = "ServerCertificatesQuota"
-
- // SummaryKeyTypeUserPolicySizeQuota is a summaryKeyType enum value
- SummaryKeyTypeUserPolicySizeQuota = "UserPolicySizeQuota"
-
- // SummaryKeyTypeGroupPolicySizeQuota is a summaryKeyType enum value
- SummaryKeyTypeGroupPolicySizeQuota = "GroupPolicySizeQuota"
-
- // SummaryKeyTypeGroupsPerUserQuota is a summaryKeyType enum value
- SummaryKeyTypeGroupsPerUserQuota = "GroupsPerUserQuota"
-
- // SummaryKeyTypeSigningCertificatesPerUserQuota is a summaryKeyType enum value
- SummaryKeyTypeSigningCertificatesPerUserQuota = "SigningCertificatesPerUserQuota"
-
- // SummaryKeyTypeAccessKeysPerUserQuota is a summaryKeyType enum value
- SummaryKeyTypeAccessKeysPerUserQuota = "AccessKeysPerUserQuota"
-
- // SummaryKeyTypeMfadevices is a summaryKeyType enum value
- SummaryKeyTypeMfadevices = "MFADevices"
-
- // SummaryKeyTypeMfadevicesInUse is a summaryKeyType enum value
- SummaryKeyTypeMfadevicesInUse = "MFADevicesInUse"
-
- // SummaryKeyTypeAccountMfaenabled is a summaryKeyType enum value
- SummaryKeyTypeAccountMfaenabled = "AccountMFAEnabled"
-
- // SummaryKeyTypeAccountAccessKeysPresent is a summaryKeyType enum value
- SummaryKeyTypeAccountAccessKeysPresent = "AccountAccessKeysPresent"
-
- // SummaryKeyTypeAccountSigningCertificatesPresent is a summaryKeyType enum value
- SummaryKeyTypeAccountSigningCertificatesPresent = "AccountSigningCertificatesPresent"
-
- // SummaryKeyTypeAttachedPoliciesPerGroupQuota is a summaryKeyType enum value
- SummaryKeyTypeAttachedPoliciesPerGroupQuota = "AttachedPoliciesPerGroupQuota"
-
- // SummaryKeyTypeAttachedPoliciesPerRoleQuota is a summaryKeyType enum value
- SummaryKeyTypeAttachedPoliciesPerRoleQuota = "AttachedPoliciesPerRoleQuota"
-
- // SummaryKeyTypeAttachedPoliciesPerUserQuota is a summaryKeyType enum value
- SummaryKeyTypeAttachedPoliciesPerUserQuota = "AttachedPoliciesPerUserQuota"
-
- // SummaryKeyTypePolicies is a summaryKeyType enum value
- SummaryKeyTypePolicies = "Policies"
-
- // SummaryKeyTypePoliciesQuota is a summaryKeyType enum value
- SummaryKeyTypePoliciesQuota = "PoliciesQuota"
-
- // SummaryKeyTypePolicySizeQuota is a summaryKeyType enum value
- SummaryKeyTypePolicySizeQuota = "PolicySizeQuota"
-
- // SummaryKeyTypePolicyVersionsInUse is a summaryKeyType enum value
- SummaryKeyTypePolicyVersionsInUse = "PolicyVersionsInUse"
-
- // SummaryKeyTypePolicyVersionsInUseQuota is a summaryKeyType enum value
- SummaryKeyTypePolicyVersionsInUseQuota = "PolicyVersionsInUseQuota"
-
- // SummaryKeyTypeVersionsPerPolicyQuota is a summaryKeyType enum value
- SummaryKeyTypeVersionsPerPolicyQuota = "VersionsPerPolicyQuota"
-
- // SummaryKeyTypeGlobalEndpointTokenVersion is a summaryKeyType enum value
- SummaryKeyTypeGlobalEndpointTokenVersion = "GlobalEndpointTokenVersion"
-)
diff --git a/agent/vendor/github.com/aws/aws-sdk-go/service/iam/doc.go b/agent/vendor/github.com/aws/aws-sdk-go/service/iam/doc.go
deleted file mode 100644
index 0d709cd275b..00000000000
--- a/agent/vendor/github.com/aws/aws-sdk-go/service/iam/doc.go
+++ /dev/null
@@ -1,80 +0,0 @@
-// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
-
-// Package iam provides the client and types for making API
-// requests to AWS Identity and Access Management.
-//
-// AWS Identity and Access Management (IAM) is a web service that you can use
-// to manage users and user permissions under your AWS account. This guide provides
-// descriptions of IAM actions that you can call programmatically. For general
-// information about IAM, see AWS Identity and Access Management (IAM) (http://aws.amazon.com/iam/).
-// For the user guide for IAM, see Using IAM (https://docs.aws.amazon.com/IAM/latest/UserGuide/).
-//
-// AWS provides SDKs that consist of libraries and sample code for various programming
-// languages and platforms (Java, Ruby, .NET, iOS, Android, etc.). The SDKs
-// provide a convenient way to create programmatic access to IAM and AWS. For
-// example, the SDKs take care of tasks such as cryptographically signing requests
-// (see below), managing errors, and retrying requests automatically. For information
-// about the AWS SDKs, including how to download and install them, see the Tools
-// for Amazon Web Services (http://aws.amazon.com/tools/) page.
-//
-// We recommend that you use the AWS SDKs to make programmatic API calls to
-// IAM. However, you can also use the IAM Query API to make direct calls to
-// the IAM web service. To learn more about the IAM Query API, see Making Query
-// Requests (https://docs.aws.amazon.com/IAM/latest/UserGuide/IAM_UsingQueryAPI.html)
-// in the Using IAM guide. IAM supports GET and POST requests for all actions.
-// That is, the API does not require you to use GET for some actions and POST
-// for others. However, GET requests are subject to the limitation size of a
-// URL. Therefore, for operations that require larger sizes, use a POST request.
-//
-// Signing Requests
-//
-// Requests must be signed using an access key ID and a secret access key. We
-// strongly recommend that you do not use your AWS account access key ID and
-// secret access key for everyday work with IAM. You can use the access key
-// ID and secret access key for an IAM user or you can use the AWS Security
-// Token Service to generate temporary security credentials and use those to
-// sign requests.
-//
-// To sign requests, we recommend that you use Signature Version 4 (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
-// If you have an existing application that uses Signature Version 2, you do
-// not have to update it to use Signature Version 4. However, some operations
-// now require Signature Version 4. The documentation for operations that require
-// version 4 indicate this requirement.
-//
-// Additional Resources
-//
-// For more information, see the following:
-//
-// * AWS Security Credentials (https://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html).
-// This topic provides general information about the types of credentials
-// used for accessing AWS.
-//
-// * IAM Best Practices (https://docs.aws.amazon.com/IAM/latest/UserGuide/IAMBestPractices.html).
-// This topic presents a list of suggestions for using the IAM service to
-// help secure your AWS resources.
-//
-// * Signing AWS API Requests (https://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html).
-// This set of topics walk you through the process of signing a request using
-// an access key ID and secret access key.
-//
-// See https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08 for more information on this service.
-//
-// See iam package documentation for more information.
-// https://docs.aws.amazon.com/sdk-for-go/api/service/iam/
-//
-// Using the Client
-//
-// To contact AWS Identity and Access Management with the SDK use the New function to create
-// a new service client. With that client you can make API requests to the service.
-// These clients are safe to use concurrently.
-//
-// See the SDK's documentation for more information on how to use the SDK.
-// https://docs.aws.amazon.com/sdk-for-go/api/
-//
-// See aws.Config documentation for more information on configuring SDK clients.
-// https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config
-//
-// See the AWS Identity and Access Management client IAM for more
-// information on creating client for this service.
-// https://docs.aws.amazon.com/sdk-for-go/api/service/iam/#New
-package iam
diff --git a/agent/vendor/github.com/aws/aws-sdk-go/service/iam/errors.go b/agent/vendor/github.com/aws/aws-sdk-go/service/iam/errors.go
deleted file mode 100644
index 30a85b3b44d..00000000000
--- a/agent/vendor/github.com/aws/aws-sdk-go/service/iam/errors.go
+++ /dev/null
@@ -1,200 +0,0 @@
-// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
-
-package iam
-
-const (
-
- // ErrCodeConcurrentModificationException for service response error code
- // "ConcurrentModification".
- //
- // The request was rejected because multiple requests to change this object
- // were submitted simultaneously. Wait a few minutes and submit your request
- // again.
- ErrCodeConcurrentModificationException = "ConcurrentModification"
-
- // ErrCodeCredentialReportExpiredException for service response error code
- // "ReportExpired".
- //
- // The request was rejected because the most recent credential report has expired.
- // To generate a new credential report, use GenerateCredentialReport. For more
- // information about credential report expiration, see Getting Credential Reports
- // (https://docs.aws.amazon.com/IAM/latest/UserGuide/credential-reports.html)
- // in the IAM User Guide.
- ErrCodeCredentialReportExpiredException = "ReportExpired"
-
- // ErrCodeCredentialReportNotPresentException for service response error code
- // "ReportNotPresent".
- //
- // The request was rejected because the credential report does not exist. To
- // generate a credential report, use GenerateCredentialReport.
- ErrCodeCredentialReportNotPresentException = "ReportNotPresent"
-
- // ErrCodeCredentialReportNotReadyException for service response error code
- // "ReportInProgress".
- //
- // The request was rejected because the credential report is still being generated.
- ErrCodeCredentialReportNotReadyException = "ReportInProgress"
-
- // ErrCodeDeleteConflictException for service response error code
- // "DeleteConflict".
- //
- // The request was rejected because it attempted to delete a resource that has
- // attached subordinate entities. The error message describes these entities.
- ErrCodeDeleteConflictException = "DeleteConflict"
-
- // ErrCodeDuplicateCertificateException for service response error code
- // "DuplicateCertificate".
- //
- // The request was rejected because the same certificate is associated with
- // an IAM user in the account.
- ErrCodeDuplicateCertificateException = "DuplicateCertificate"
-
- // ErrCodeDuplicateSSHPublicKeyException for service response error code
- // "DuplicateSSHPublicKey".
- //
- // The request was rejected because the SSH public key is already associated
- // with the specified IAM user.
- ErrCodeDuplicateSSHPublicKeyException = "DuplicateSSHPublicKey"
-
- // ErrCodeEntityAlreadyExistsException for service response error code
- // "EntityAlreadyExists".
- //
- // The request was rejected because it attempted to create a resource that already
- // exists.
- ErrCodeEntityAlreadyExistsException = "EntityAlreadyExists"
-
- // ErrCodeEntityTemporarilyUnmodifiableException for service response error code
- // "EntityTemporarilyUnmodifiable".
- //
- // The request was rejected because it referenced an entity that is temporarily
- // unmodifiable, such as a user name that was deleted and then recreated. The
- // error indicates that the request is likely to succeed if you try again after
- // waiting several minutes. The error message describes the entity.
- ErrCodeEntityTemporarilyUnmodifiableException = "EntityTemporarilyUnmodifiable"
-
- // ErrCodeInvalidAuthenticationCodeException for service response error code
- // "InvalidAuthenticationCode".
- //
- // The request was rejected because the authentication code was not recognized.
- // The error message describes the specific error.
- ErrCodeInvalidAuthenticationCodeException = "InvalidAuthenticationCode"
-
- // ErrCodeInvalidCertificateException for service response error code
- // "InvalidCertificate".
- //
- // The request was rejected because the certificate is invalid.
- ErrCodeInvalidCertificateException = "InvalidCertificate"
-
- // ErrCodeInvalidInputException for service response error code
- // "InvalidInput".
- //
- // The request was rejected because an invalid or out-of-range value was supplied
- // for an input parameter.
- ErrCodeInvalidInputException = "InvalidInput"
-
- // ErrCodeInvalidPublicKeyException for service response error code
- // "InvalidPublicKey".
- //
- // The request was rejected because the public key is malformed or otherwise
- // invalid.
- ErrCodeInvalidPublicKeyException = "InvalidPublicKey"
-
- // ErrCodeInvalidUserTypeException for service response error code
- // "InvalidUserType".
- //
- // The request was rejected because the type of user for the transaction was
- // incorrect.
- ErrCodeInvalidUserTypeException = "InvalidUserType"
-
- // ErrCodeKeyPairMismatchException for service response error code
- // "KeyPairMismatch".
- //
- // The request was rejected because the public key certificate and the private
- // key do not match.
- ErrCodeKeyPairMismatchException = "KeyPairMismatch"
-
- // ErrCodeLimitExceededException for service response error code
- // "LimitExceeded".
- //
- // The request was rejected because it attempted to create resources beyond
- // the current AWS account limits. The error message describes the limit exceeded.
- ErrCodeLimitExceededException = "LimitExceeded"
-
- // ErrCodeMalformedCertificateException for service response error code
- // "MalformedCertificate".
- //
- // The request was rejected because the certificate was malformed or expired.
- // The error message describes the specific error.
- ErrCodeMalformedCertificateException = "MalformedCertificate"
-
- // ErrCodeMalformedPolicyDocumentException for service response error code
- // "MalformedPolicyDocument".
- //
- // The request was rejected because the policy document was malformed. The error
- // message describes the specific error.
- ErrCodeMalformedPolicyDocumentException = "MalformedPolicyDocument"
-
- // ErrCodeNoSuchEntityException for service response error code
- // "NoSuchEntity".
- //
- // The request was rejected because it referenced a resource entity that does
- // not exist. The error message describes the resource.
- ErrCodeNoSuchEntityException = "NoSuchEntity"
-
- // ErrCodePasswordPolicyViolationException for service response error code
- // "PasswordPolicyViolation".
- //
- // The request was rejected because the provided password did not meet the requirements
- // imposed by the account password policy.
- ErrCodePasswordPolicyViolationException = "PasswordPolicyViolation"
-
- // ErrCodePolicyEvaluationException for service response error code
- // "PolicyEvaluation".
- //
- // The request failed because a provided policy could not be successfully evaluated.
- // An additional detailed message indicates the source of the failure.
- ErrCodePolicyEvaluationException = "PolicyEvaluation"
-
- // ErrCodePolicyNotAttachableException for service response error code
- // "PolicyNotAttachable".
- //
- // The request failed because AWS service role policies can only be attached
- // to the service-linked role for that service.
- ErrCodePolicyNotAttachableException = "PolicyNotAttachable"
-
- // ErrCodeReportGenerationLimitExceededException for service response error code
- // "ReportGenerationLimitExceeded".
- //
- // The request failed because the maximum number of concurrent requests for
- // this account are already running.
- ErrCodeReportGenerationLimitExceededException = "ReportGenerationLimitExceeded"
-
- // ErrCodeServiceFailureException for service response error code
- // "ServiceFailure".
- //
- // The request processing has failed because of an unknown error, exception
- // or failure.
- ErrCodeServiceFailureException = "ServiceFailure"
-
- // ErrCodeServiceNotSupportedException for service response error code
- // "NotSupportedService".
- //
- // The specified service does not support service-specific credentials.
- ErrCodeServiceNotSupportedException = "NotSupportedService"
-
- // ErrCodeUnmodifiableEntityException for service response error code
- // "UnmodifiableEntity".
- //
- // The request was rejected because only the service that depends on the service-linked
- // role can modify or delete the role on your behalf. The error message includes
- // the name of the service that depends on this service-linked role. You must
- // request the change through that service.
- ErrCodeUnmodifiableEntityException = "UnmodifiableEntity"
-
- // ErrCodeUnrecognizedPublicKeyEncodingException for service response error code
- // "UnrecognizedPublicKeyEncoding".
- //
- // The request was rejected because the public key encoding format is unsupported
- // or unrecognized.
- ErrCodeUnrecognizedPublicKeyEncodingException = "UnrecognizedPublicKeyEncoding"
-)
diff --git a/agent/vendor/github.com/aws/aws-sdk-go/service/iam/service.go b/agent/vendor/github.com/aws/aws-sdk-go/service/iam/service.go
deleted file mode 100644
index 6e5d3713936..00000000000
--- a/agent/vendor/github.com/aws/aws-sdk-go/service/iam/service.go
+++ /dev/null
@@ -1,98 +0,0 @@
-// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
-
-package iam
-
-import (
- "github.com/aws/aws-sdk-go/aws"
- "github.com/aws/aws-sdk-go/aws/client"
- "github.com/aws/aws-sdk-go/aws/client/metadata"
- "github.com/aws/aws-sdk-go/aws/request"
- "github.com/aws/aws-sdk-go/aws/signer/v4"
- "github.com/aws/aws-sdk-go/private/protocol/query"
-)
-
-// IAM provides the API operation methods for making requests to
-// AWS Identity and Access Management. See this package's package overview docs
-// for details on the service.
-//
-// IAM methods are safe to use concurrently. It is not safe to
-// modify mutate any of the struct's properties though.
-type IAM struct {
- *client.Client
-}
-
-// Used for custom client initialization logic
-var initClient func(*client.Client)
-
-// Used for custom request initialization logic
-var initRequest func(*request.Request)
-
-// Service information constants
-const (
- ServiceName = "iam" // Name of service.
- EndpointsID = ServiceName // ID to lookup a service endpoint with.
- ServiceID = "IAM" // ServiceID is a unique identifier of a specific service.
-)
-
-// New creates a new instance of the IAM client with a session.
-// If additional configuration is needed for the client instance use the optional
-// aws.Config parameter to add your extra config.
-//
-// Example:
-// mySession := session.Must(session.NewSession())
-//
-// // Create a IAM client from just a session.
-// svc := iam.New(mySession)
-//
-// // Create a IAM client with additional configuration
-// svc := iam.New(mySession, aws.NewConfig().WithRegion("us-west-2"))
-func New(p client.ConfigProvider, cfgs ...*aws.Config) *IAM {
- c := p.ClientConfig(EndpointsID, cfgs...)
- return newClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName)
-}
-
-// newClient creates, initializes and returns a new service client instance.
-func newClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, signingRegion, signingName string) *IAM {
- svc := &IAM{
- Client: client.New(
- cfg,
- metadata.ClientInfo{
- ServiceName: ServiceName,
- ServiceID: ServiceID,
- SigningName: signingName,
- SigningRegion: signingRegion,
- PartitionID: partitionID,
- Endpoint: endpoint,
- APIVersion: "2010-05-08",
- },
- handlers,
- ),
- }
-
- // Handlers
- svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler)
- svc.Handlers.Build.PushBackNamed(query.BuildHandler)
- svc.Handlers.Unmarshal.PushBackNamed(query.UnmarshalHandler)
- svc.Handlers.UnmarshalMeta.PushBackNamed(query.UnmarshalMetaHandler)
- svc.Handlers.UnmarshalError.PushBackNamed(query.UnmarshalErrorHandler)
-
- // Run custom client initialization if present
- if initClient != nil {
- initClient(svc.Client)
- }
-
- return svc
-}
-
-// newRequest creates a new request for a IAM operation and runs any
-// custom request initialization.
-func (c *IAM) newRequest(op *request.Operation, params, data interface{}) *request.Request {
- req := c.NewRequest(op, params, data)
-
- // Run custom request initialization if present
- if initRequest != nil {
- initRequest(req)
- }
-
- return req
-}
diff --git a/agent/vendor/github.com/aws/aws-sdk-go/service/iam/waiters.go b/agent/vendor/github.com/aws/aws-sdk-go/service/iam/waiters.go
deleted file mode 100644
index 4331ba37b96..00000000000
--- a/agent/vendor/github.com/aws/aws-sdk-go/service/iam/waiters.go
+++ /dev/null
@@ -1,214 +0,0 @@
-// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
-
-package iam
-
-import (
- "time"
-
- "github.com/aws/aws-sdk-go/aws"
- "github.com/aws/aws-sdk-go/aws/request"
-)
-
-// WaitUntilInstanceProfileExists uses the IAM API operation
-// GetInstanceProfile to wait for a condition to be met before returning.
-// If the condition is not met within the max attempt window, an error will
-// be returned.
-func (c *IAM) WaitUntilInstanceProfileExists(input *GetInstanceProfileInput) error {
- return c.WaitUntilInstanceProfileExistsWithContext(aws.BackgroundContext(), input)
-}
-
-// WaitUntilInstanceProfileExistsWithContext is an extended version of WaitUntilInstanceProfileExists.
-// With the support for passing in a context and options to configure the
-// Waiter and the underlying request options.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) WaitUntilInstanceProfileExistsWithContext(ctx aws.Context, input *GetInstanceProfileInput, opts ...request.WaiterOption) error {
- w := request.Waiter{
- Name: "WaitUntilInstanceProfileExists",
- MaxAttempts: 40,
- Delay: request.ConstantWaiterDelay(1 * time.Second),
- Acceptors: []request.WaiterAcceptor{
- {
- State: request.SuccessWaiterState,
- Matcher: request.StatusWaiterMatch,
- Expected: 200,
- },
- {
- State: request.RetryWaiterState,
- Matcher: request.StatusWaiterMatch,
- Expected: 404,
- },
- },
- Logger: c.Config.Logger,
- NewRequest: func(opts []request.Option) (*request.Request, error) {
- var inCpy *GetInstanceProfileInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.GetInstanceProfileRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
- w.ApplyOptions(opts...)
-
- return w.WaitWithContext(ctx)
-}
-
-// WaitUntilPolicyExists uses the IAM API operation
-// GetPolicy to wait for a condition to be met before returning.
-// If the condition is not met within the max attempt window, an error will
-// be returned.
-func (c *IAM) WaitUntilPolicyExists(input *GetPolicyInput) error {
- return c.WaitUntilPolicyExistsWithContext(aws.BackgroundContext(), input)
-}
-
-// WaitUntilPolicyExistsWithContext is an extended version of WaitUntilPolicyExists.
-// With the support for passing in a context and options to configure the
-// Waiter and the underlying request options.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) WaitUntilPolicyExistsWithContext(ctx aws.Context, input *GetPolicyInput, opts ...request.WaiterOption) error {
- w := request.Waiter{
- Name: "WaitUntilPolicyExists",
- MaxAttempts: 20,
- Delay: request.ConstantWaiterDelay(1 * time.Second),
- Acceptors: []request.WaiterAcceptor{
- {
- State: request.SuccessWaiterState,
- Matcher: request.StatusWaiterMatch,
- Expected: 200,
- },
- {
- State: request.RetryWaiterState,
- Matcher: request.ErrorWaiterMatch,
- Expected: "NoSuchEntity",
- },
- },
- Logger: c.Config.Logger,
- NewRequest: func(opts []request.Option) (*request.Request, error) {
- var inCpy *GetPolicyInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.GetPolicyRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
- w.ApplyOptions(opts...)
-
- return w.WaitWithContext(ctx)
-}
-
-// WaitUntilRoleExists uses the IAM API operation
-// GetRole to wait for a condition to be met before returning.
-// If the condition is not met within the max attempt window, an error will
-// be returned.
-func (c *IAM) WaitUntilRoleExists(input *GetRoleInput) error {
- return c.WaitUntilRoleExistsWithContext(aws.BackgroundContext(), input)
-}
-
-// WaitUntilRoleExistsWithContext is an extended version of WaitUntilRoleExists.
-// With the support for passing in a context and options to configure the
-// Waiter and the underlying request options.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) WaitUntilRoleExistsWithContext(ctx aws.Context, input *GetRoleInput, opts ...request.WaiterOption) error {
- w := request.Waiter{
- Name: "WaitUntilRoleExists",
- MaxAttempts: 20,
- Delay: request.ConstantWaiterDelay(1 * time.Second),
- Acceptors: []request.WaiterAcceptor{
- {
- State: request.SuccessWaiterState,
- Matcher: request.StatusWaiterMatch,
- Expected: 200,
- },
- {
- State: request.RetryWaiterState,
- Matcher: request.ErrorWaiterMatch,
- Expected: "NoSuchEntity",
- },
- },
- Logger: c.Config.Logger,
- NewRequest: func(opts []request.Option) (*request.Request, error) {
- var inCpy *GetRoleInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.GetRoleRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
- w.ApplyOptions(opts...)
-
- return w.WaitWithContext(ctx)
-}
-
-// WaitUntilUserExists uses the IAM API operation
-// GetUser to wait for a condition to be met before returning.
-// If the condition is not met within the max attempt window, an error will
-// be returned.
-func (c *IAM) WaitUntilUserExists(input *GetUserInput) error {
- return c.WaitUntilUserExistsWithContext(aws.BackgroundContext(), input)
-}
-
-// WaitUntilUserExistsWithContext is an extended version of WaitUntilUserExists.
-// With the support for passing in a context and options to configure the
-// Waiter and the underlying request options.
-//
-// The context must be non-nil and will be used for request cancellation. If
-// the context is nil a panic will occur. In the future the SDK may create
-// sub-contexts for http.Requests. See https://golang.org/pkg/context/
-// for more information on using Contexts.
-func (c *IAM) WaitUntilUserExistsWithContext(ctx aws.Context, input *GetUserInput, opts ...request.WaiterOption) error {
- w := request.Waiter{
- Name: "WaitUntilUserExists",
- MaxAttempts: 20,
- Delay: request.ConstantWaiterDelay(1 * time.Second),
- Acceptors: []request.WaiterAcceptor{
- {
- State: request.SuccessWaiterState,
- Matcher: request.StatusWaiterMatch,
- Expected: 200,
- },
- {
- State: request.RetryWaiterState,
- Matcher: request.ErrorWaiterMatch,
- Expected: "NoSuchEntity",
- },
- },
- Logger: c.Config.Logger,
- NewRequest: func(opts []request.Option) (*request.Request, error) {
- var inCpy *GetUserInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.GetUserRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
- w.ApplyOptions(opts...)
-
- return w.WaitWithContext(ctx)
-}
diff --git a/agent/vendor/github.com/containernetworking/cni/libcni/api.go b/agent/vendor/github.com/containernetworking/cni/libcni/api.go
index 360733e7407..0f14d3427e9 100644
--- a/agent/vendor/github.com/containernetworking/cni/libcni/api.go
+++ b/agent/vendor/github.com/containernetworking/cni/libcni/api.go
@@ -69,6 +69,7 @@ type CNI interface {
AddNetworkList(ctx context.Context, net *NetworkConfigList, rt *RuntimeConf) (types.Result, error)
CheckNetworkList(ctx context.Context, net *NetworkConfigList, rt *RuntimeConf) error
DelNetworkList(ctx context.Context, net *NetworkConfigList, rt *RuntimeConf) error
+ GetNetworkListCachedResult(net *NetworkConfigList, rt *RuntimeConf) (types.Result, error)
AddNetwork(ctx context.Context, net *NetworkConfig, rt *RuntimeConf) (types.Result, error)
CheckNetwork(ctx context.Context, net *NetworkConfig, rt *RuntimeConf) error
diff --git a/agent/vendor/github.com/containernetworking/cni/pkg/invoke/args.go b/agent/vendor/github.com/containernetworking/cni/pkg/invoke/args.go
index 39b63972305..913528c1d59 100644
--- a/agent/vendor/github.com/containernetworking/cni/pkg/invoke/args.go
+++ b/agent/vendor/github.com/containernetworking/cni/pkg/invoke/args.go
@@ -15,6 +15,7 @@
package invoke
import (
+ "fmt"
"os"
"strings"
)
@@ -22,6 +23,8 @@ import (
type CNIArgs interface {
// For use with os/exec; i.e., return nil to inherit the
// environment from this process
+ // For use in delegation; inherit the environment from this
+ // process and allow overrides
AsEnv() []string
}
@@ -57,17 +60,17 @@ func (args *Args) AsEnv() []string {
pluginArgsStr = stringify(args.PluginArgs)
}
- // Ensure that the custom values are first, so any value present in
- // the process environment won't override them.
- env = append([]string{
- "CNI_COMMAND=" + args.Command,
- "CNI_CONTAINERID=" + args.ContainerID,
- "CNI_NETNS=" + args.NetNS,
- "CNI_ARGS=" + pluginArgsStr,
- "CNI_IFNAME=" + args.IfName,
- "CNI_PATH=" + args.Path,
- }, env...)
- return env
+ // Duplicated values which come first will be overrided, so we must put the
+ // custom values in the end to avoid being overrided by the process environments.
+ env = append(env,
+ "CNI_COMMAND="+args.Command,
+ "CNI_CONTAINERID="+args.ContainerID,
+ "CNI_NETNS="+args.NetNS,
+ "CNI_ARGS="+pluginArgsStr,
+ "CNI_IFNAME="+args.IfName,
+ "CNI_PATH="+args.Path,
+ )
+ return dedupEnv(env)
}
// taken from rkt/networking/net_plugin.go
@@ -80,3 +83,46 @@ func stringify(pluginArgs [][2]string) string {
return strings.Join(entries, ";")
}
+
+// DelegateArgs implements the CNIArgs interface
+// used for delegation to inherit from environments
+// and allow some overrides like CNI_COMMAND
+var _ CNIArgs = &DelegateArgs{}
+
+type DelegateArgs struct {
+ Command string
+}
+
+func (d *DelegateArgs) AsEnv() []string {
+ env := os.Environ()
+
+ // The custom values should come in the end to override the existing
+ // process environment of the same key.
+ env = append(env,
+ "CNI_COMMAND="+d.Command,
+ )
+ return dedupEnv(env)
+}
+
+// dedupEnv returns a copy of env with any duplicates removed, in favor of later values.
+// Items not of the normal environment "key=value" form are preserved unchanged.
+func dedupEnv(env []string) []string {
+ out := make([]string, 0, len(env))
+ envMap := map[string]string{}
+
+ for _, kv := range env {
+ // find the first "=" in environment, if not, just keep it
+ eq := strings.Index(kv, "=")
+ if eq < 0 {
+ out = append(out, kv)
+ continue
+ }
+ envMap[kv[:eq]] = kv[eq+1:]
+ }
+
+ for k, v := range envMap {
+ out = append(out, fmt.Sprintf("%s=%s", k, v))
+ }
+
+ return out
+}
diff --git a/agent/vendor/github.com/containernetworking/cni/pkg/invoke/delegate.go b/agent/vendor/github.com/containernetworking/cni/pkg/invoke/delegate.go
index 30b4672f11f..8defe4dd398 100644
--- a/agent/vendor/github.com/containernetworking/cni/pkg/invoke/delegate.go
+++ b/agent/vendor/github.com/containernetworking/cni/pkg/invoke/delegate.go
@@ -16,22 +16,17 @@ package invoke
import (
"context"
- "fmt"
"os"
"path/filepath"
"github.com/containernetworking/cni/pkg/types"
)
-func delegateCommon(expectedCommand, delegatePlugin string, exec Exec) (string, Exec, error) {
+func delegateCommon(delegatePlugin string, exec Exec) (string, Exec, error) {
if exec == nil {
exec = defaultExec
}
- if os.Getenv("CNI_COMMAND") != expectedCommand {
- return "", nil, fmt.Errorf("CNI_COMMAND is not " + expectedCommand)
- }
-
paths := filepath.SplitList(os.Getenv("CNI_PATH"))
pluginPath, err := exec.FindInPath(delegatePlugin, paths)
if err != nil {
@@ -44,32 +39,42 @@ func delegateCommon(expectedCommand, delegatePlugin string, exec Exec) (string,
// DelegateAdd calls the given delegate plugin with the CNI ADD action and
// JSON configuration
func DelegateAdd(ctx context.Context, delegatePlugin string, netconf []byte, exec Exec) (types.Result, error) {
- pluginPath, realExec, err := delegateCommon("ADD", delegatePlugin, exec)
+ pluginPath, realExec, err := delegateCommon(delegatePlugin, exec)
if err != nil {
return nil, err
}
- return ExecPluginWithResult(ctx, pluginPath, netconf, ArgsFromEnv(), realExec)
+ // DelegateAdd will override the original "CNI_COMMAND" env from process with ADD
+ return ExecPluginWithResult(ctx, pluginPath, netconf, delegateArgs("ADD"), realExec)
}
// DelegateCheck calls the given delegate plugin with the CNI CHECK action and
// JSON configuration
func DelegateCheck(ctx context.Context, delegatePlugin string, netconf []byte, exec Exec) error {
- pluginPath, realExec, err := delegateCommon("CHECK", delegatePlugin, exec)
+ pluginPath, realExec, err := delegateCommon(delegatePlugin, exec)
if err != nil {
return err
}
- return ExecPluginWithoutResult(ctx, pluginPath, netconf, ArgsFromEnv(), realExec)
+ // DelegateCheck will override the original CNI_COMMAND env from process with CHECK
+ return ExecPluginWithoutResult(ctx, pluginPath, netconf, delegateArgs("CHECK"), realExec)
}
// DelegateDel calls the given delegate plugin with the CNI DEL action and
// JSON configuration
func DelegateDel(ctx context.Context, delegatePlugin string, netconf []byte, exec Exec) error {
- pluginPath, realExec, err := delegateCommon("DEL", delegatePlugin, exec)
+ pluginPath, realExec, err := delegateCommon(delegatePlugin, exec)
if err != nil {
return err
}
- return ExecPluginWithoutResult(ctx, pluginPath, netconf, ArgsFromEnv(), realExec)
+ // DelegateDel will override the original CNI_COMMAND env from process with DEL
+ return ExecPluginWithoutResult(ctx, pluginPath, netconf, delegateArgs("DEL"), realExec)
+}
+
+// return CNIArgs used by delegation
+func delegateArgs(action string) *DelegateArgs {
+ return &DelegateArgs{
+ Command: action,
+ }
}
diff --git a/agent/vendor/github.com/containernetworking/plugins/LICENSE b/agent/vendor/github.com/containernetworking/plugins/LICENSE
new file mode 100644
index 00000000000..8dada3edaf5
--- /dev/null
+++ b/agent/vendor/github.com/containernetworking/plugins/LICENSE
@@ -0,0 +1,201 @@
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright {yyyy} {name of copyright owner}
+
+ 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.
diff --git a/agent/vendor/github.com/containernetworking/plugins/pkg/ns/README.md b/agent/vendor/github.com/containernetworking/plugins/pkg/ns/README.md
new file mode 100644
index 00000000000..1e265c7a011
--- /dev/null
+++ b/agent/vendor/github.com/containernetworking/plugins/pkg/ns/README.md
@@ -0,0 +1,41 @@
+### Namespaces, Threads, and Go
+On Linux each OS thread can have a different network namespace. Go's thread scheduling model switches goroutines between OS threads based on OS thread load and whether the goroutine would block other goroutines. This can result in a goroutine switching network namespaces without notice and lead to errors in your code.
+
+### Namespace Switching
+Switching namespaces with the `ns.Set()` method is not recommended without additional strategies to prevent unexpected namespace changes when your goroutines switch OS threads.
+
+Go provides the `runtime.LockOSThread()` function to ensure a specific goroutine executes on its current OS thread and prevents any other goroutine from running in that thread until the locked one exits. Careful usage of `LockOSThread()` and goroutines can provide good control over which network namespace a given goroutine executes in.
+
+For example, you cannot rely on the `ns.Set()` namespace being the current namespace after the `Set()` call unless you do two things. First, the goroutine calling `Set()` must have previously called `LockOSThread()`. Second, you must ensure `runtime.UnlockOSThread()` is not called somewhere in-between. You also cannot rely on the initial network namespace remaining the current network namespace if any other code in your program switches namespaces, unless you have already called `LockOSThread()` in that goroutine. Note that `LockOSThread()` prevents the Go scheduler from optimally scheduling goroutines for best performance, so `LockOSThread()` should only be used in small, isolated goroutines that release the lock quickly.
+
+### Do() The Recommended Thing
+The `ns.Do()` method provides **partial** control over network namespaces for you by implementing these strategies. All code dependent on a particular network namespace (including the root namespace) should be wrapped in the `ns.Do()` method to ensure the correct namespace is selected for the duration of your code. For example:
+
+```go
+err = targetNs.Do(func(hostNs ns.NetNS) error {
+ dummy := &netlink.Dummy{
+ LinkAttrs: netlink.LinkAttrs{
+ Name: "dummy0",
+ },
+ }
+ return netlink.LinkAdd(dummy)
+})
+```
+
+Note this requirement to wrap every network call is very onerous - any libraries you call might call out to network services such as DNS, and all such calls need to be protected after you call `ns.Do()`. All goroutines spawned from within the `ns.Do` will not inherit the new namespace. The CNI plugins all exit very soon after calling `ns.Do()` which helps to minimize the problem.
+
+When a new thread is spawned in Linux, it inherits the namespace of its parent. In versions of go **prior to 1.10**, if the runtime spawns a new OS thread, it picks the parent randomly. If the chosen parent thread has been moved to a new namespace (even temporarily), the new OS thread will be permanently "stuck in the wrong namespace", and goroutines will non-deterministically switch namespaces as they are rescheduled.
+
+In short, **there was no safe way to change network namespaces, even temporarily, from within a long-lived, multithreaded Go process**. If you wish to do this, you must use go 1.10 or greater.
+
+
+### Creating network namespaces
+Earlier versions of this library managed namespace creation, but as CNI does not actually utilize this feature (and it was essentially unmaintained), it was removed. If you're writing a container runtime, you should implement namespace management yourself. However, there are some gotchas when doing so, especially around handling `/var/run/netns`. A reasonably correct reference implementation, borrowed from `rkt`, can be found in `pkg/testutils/netns_linux.go` if you're in need of a source of inspiration.
+
+
+### Further Reading
+ - https://github.com/golang/go/wiki/LockOSThread
+ - http://morsmachine.dk/go-scheduler
+ - https://github.com/containernetworking/cni/issues/262
+ - https://golang.org/pkg/runtime/
+ - https://www.weave.works/blog/linux-namespaces-and-go-don-t-mix
diff --git a/agent/vendor/github.com/containernetworking/plugins/pkg/ns/ns_linux.go b/agent/vendor/github.com/containernetworking/plugins/pkg/ns/ns_linux.go
new file mode 100644
index 00000000000..a34f97170e3
--- /dev/null
+++ b/agent/vendor/github.com/containernetworking/plugins/pkg/ns/ns_linux.go
@@ -0,0 +1,229 @@
+// Copyright 2015-2017 CNI authors
+//
+// 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 ns
+
+import (
+ "fmt"
+ "os"
+ "runtime"
+ "sync"
+ "syscall"
+
+ "golang.org/x/sys/unix"
+)
+
+// Returns an object representing the current OS thread's network namespace
+func GetCurrentNS() (NetNS, error) {
+ return GetNS(getCurrentThreadNetNSPath())
+}
+
+func getCurrentThreadNetNSPath() string {
+ // /proc/self/ns/net returns the namespace of the main thread, not
+ // of whatever thread this goroutine is running on. Make sure we
+ // use the thread's net namespace since the thread is switching around
+ return fmt.Sprintf("/proc/%d/task/%d/ns/net", os.Getpid(), unix.Gettid())
+}
+
+func (ns *netNS) Close() error {
+ if err := ns.errorIfClosed(); err != nil {
+ return err
+ }
+
+ if err := ns.file.Close(); err != nil {
+ return fmt.Errorf("Failed to close %q: %v", ns.file.Name(), err)
+ }
+ ns.closed = true
+
+ return nil
+}
+
+func (ns *netNS) Set() error {
+ if err := ns.errorIfClosed(); err != nil {
+ return err
+ }
+
+ if err := unix.Setns(int(ns.Fd()), unix.CLONE_NEWNET); err != nil {
+ return fmt.Errorf("Error switching to ns %v: %v", ns.file.Name(), err)
+ }
+
+ return nil
+}
+
+type NetNS interface {
+ // Executes the passed closure in this object's network namespace,
+ // attempting to restore the original namespace before returning.
+ // However, since each OS thread can have a different network namespace,
+ // and Go's thread scheduling is highly variable, callers cannot
+ // guarantee any specific namespace is set unless operations that
+ // require that namespace are wrapped with Do(). Also, no code called
+ // from Do() should call runtime.UnlockOSThread(), or the risk
+ // of executing code in an incorrect namespace will be greater. See
+ // https://github.com/golang/go/wiki/LockOSThread for further details.
+ Do(toRun func(NetNS) error) error
+
+ // Sets the current network namespace to this object's network namespace.
+ // Note that since Go's thread scheduling is highly variable, callers
+ // cannot guarantee the requested namespace will be the current namespace
+ // after this function is called; to ensure this wrap operations that
+ // require the namespace with Do() instead.
+ Set() error
+
+ // Returns the filesystem path representing this object's network namespace
+ Path() string
+
+ // Returns a file descriptor representing this object's network namespace
+ Fd() uintptr
+
+ // Cleans up this instance of the network namespace; if this instance
+ // is the last user the namespace will be destroyed
+ Close() error
+}
+
+type netNS struct {
+ file *os.File
+ closed bool
+}
+
+// netNS implements the NetNS interface
+var _ NetNS = &netNS{}
+
+const (
+ // https://github.com/torvalds/linux/blob/master/include/uapi/linux/magic.h
+ NSFS_MAGIC = 0x6e736673
+ PROCFS_MAGIC = 0x9fa0
+)
+
+type NSPathNotExistErr struct{ msg string }
+
+func (e NSPathNotExistErr) Error() string { return e.msg }
+
+type NSPathNotNSErr struct{ msg string }
+
+func (e NSPathNotNSErr) Error() string { return e.msg }
+
+func IsNSorErr(nspath string) error {
+ stat := syscall.Statfs_t{}
+ if err := syscall.Statfs(nspath, &stat); err != nil {
+ if os.IsNotExist(err) {
+ err = NSPathNotExistErr{msg: fmt.Sprintf("failed to Statfs %q: %v", nspath, err)}
+ } else {
+ err = fmt.Errorf("failed to Statfs %q: %v", nspath, err)
+ }
+ return err
+ }
+
+ switch stat.Type {
+ case PROCFS_MAGIC, NSFS_MAGIC:
+ return nil
+ default:
+ return NSPathNotNSErr{msg: fmt.Sprintf("unknown FS magic on %q: %x", nspath, stat.Type)}
+ }
+}
+
+// Returns an object representing the namespace referred to by @path
+func GetNS(nspath string) (NetNS, error) {
+ err := IsNSorErr(nspath)
+ if err != nil {
+ return nil, err
+ }
+
+ fd, err := os.Open(nspath)
+ if err != nil {
+ return nil, err
+ }
+
+ return &netNS{file: fd}, nil
+}
+
+func (ns *netNS) Path() string {
+ return ns.file.Name()
+}
+
+func (ns *netNS) Fd() uintptr {
+ return ns.file.Fd()
+}
+
+func (ns *netNS) errorIfClosed() error {
+ if ns.closed {
+ return fmt.Errorf("%q has already been closed", ns.file.Name())
+ }
+ return nil
+}
+
+func (ns *netNS) Do(toRun func(NetNS) error) error {
+ if err := ns.errorIfClosed(); err != nil {
+ return err
+ }
+
+ containedCall := func(hostNS NetNS) error {
+ threadNS, err := GetCurrentNS()
+ if err != nil {
+ return fmt.Errorf("failed to open current netns: %v", err)
+ }
+ defer threadNS.Close()
+
+ // switch to target namespace
+ if err = ns.Set(); err != nil {
+ return fmt.Errorf("error switching to ns %v: %v", ns.file.Name(), err)
+ }
+ defer func() {
+ err := threadNS.Set() // switch back
+ if err == nil {
+ // Unlock the current thread only when we successfully switched back
+ // to the original namespace; otherwise leave the thread locked which
+ // will force the runtime to scrap the current thread, that is maybe
+ // not as optimal but at least always safe to do.
+ runtime.UnlockOSThread()
+ }
+ }()
+
+ return toRun(hostNS)
+ }
+
+ // save a handle to current network namespace
+ hostNS, err := GetCurrentNS()
+ if err != nil {
+ return fmt.Errorf("Failed to open current namespace: %v", err)
+ }
+ defer hostNS.Close()
+
+ var wg sync.WaitGroup
+ wg.Add(1)
+
+ // Start the callback in a new green thread so that if we later fail
+ // to switch the namespace back to the original one, we can safely
+ // leave the thread locked to die without a risk of the current thread
+ // left lingering with incorrect namespace.
+ var innerError error
+ go func() {
+ defer wg.Done()
+ runtime.LockOSThread()
+ innerError = containedCall(hostNS)
+ }()
+ wg.Wait()
+
+ return innerError
+}
+
+// WithNetNSPath executes the passed closure under the given network
+// namespace, restoring the original namespace afterwards.
+func WithNetNSPath(nspath string, toRun func(NetNS) error) error {
+ ns, err := GetNS(nspath)
+ if err != nil {
+ return err
+ }
+ defer ns.Close()
+ return ns.Do(toRun)
+}
diff --git a/agent/vendor/github.com/containernetworking/plugins/plugins/main/windows/CONTRIBUTORS.md b/agent/vendor/github.com/containernetworking/plugins/plugins/main/windows/CONTRIBUTORS.md
new file mode 100644
index 00000000000..ea050a8ede6
--- /dev/null
+++ b/agent/vendor/github.com/containernetworking/plugins/plugins/main/windows/CONTRIBUTORS.md
@@ -0,0 +1,6 @@
+# Contributors
+This is the official list of the Windows CNI network plugins contributors:
+ - @rakelkar
+ - @madhanrm
+ - @thxCode
+ - @nagiesek
\ No newline at end of file