Extract outscale (#10941)
* remove outscale, vendor it and add remote docs * fix lint * add community plugin tier * Update go.mod * up mods Co-authored-by: Adrien Delorme <azr@users.noreply.github.com>
This commit is contained in:
parent
2061aa9e69
commit
d6904502ac
|
@ -65,15 +65,10 @@
|
|||
/builder/yandex/ @GennadySpb @alexanderKhaustov @seukyaso
|
||||
/website/pages/docs/builders/yandex* @GennadySpb @alexanderKhaustov @seukyaso
|
||||
|
||||
/builder/osc/ @marinsalinas @Hakujou @outscale-mgo
|
||||
/website/pages/docs/builders/osc* @marinsalinas @Hakujou @outscale-mgo
|
||||
|
||||
/examples/tencentcloud/ @likexian
|
||||
/builder/tencentcloud/ @likexian
|
||||
/website/pages/docs/builders/tencentcloud* @likexian
|
||||
|
||||
|
||||
|
||||
# provisioners
|
||||
|
||||
/examples/ansible/ @bhcleek
|
||||
|
|
|
@ -1,35 +0,0 @@
|
|||
//TODO: explain how to delete the image.
|
||||
package bsu
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
builderT "github.com/hashicorp/packer/acctest"
|
||||
)
|
||||
|
||||
func TestBuilderAcc_basic(t *testing.T) {
|
||||
builderT.Test(t, builderT.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Builder: &Builder{},
|
||||
Template: testBuilderAccBasic,
|
||||
SkipArtifactTeardown: true,
|
||||
})
|
||||
}
|
||||
|
||||
func testAccPreCheck(t *testing.T) {
|
||||
}
|
||||
|
||||
const testBuilderAccBasic = `
|
||||
{
|
||||
"builders": [{
|
||||
"type": "test",
|
||||
"region": "eu-west-2",
|
||||
"vm_type": "t2.micro",
|
||||
"source_omi": "ami-abe953fa",
|
||||
"ssh_username": "outscale",
|
||||
"omi_name": "packer-test",
|
||||
"associate_public_ip_address": true,
|
||||
"force_deregister": true
|
||||
}]
|
||||
}
|
||||
`
|
|
@ -1,131 +0,0 @@
|
|||
package bsu
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
packersdk "github.com/hashicorp/packer-plugin-sdk/packer"
|
||||
)
|
||||
|
||||
func testConfig() map[string]interface{} {
|
||||
return map[string]interface{}{
|
||||
"access_key": "foo",
|
||||
"secret_key": "bar",
|
||||
"source_omi": "foo",
|
||||
"vm_type": "foo",
|
||||
"region": "us-east-1",
|
||||
"ssh_username": "root",
|
||||
"omi_name": "foo",
|
||||
}
|
||||
}
|
||||
|
||||
func TestBuilder_ImplementsBuilder(t *testing.T) {
|
||||
var raw interface{}
|
||||
raw = &Builder{}
|
||||
if _, ok := raw.(packersdk.Builder); !ok {
|
||||
t.Fatalf("Builder should be a builder")
|
||||
}
|
||||
}
|
||||
|
||||
func TestBuilder_Prepare_BadType(t *testing.T) {
|
||||
b := &Builder{}
|
||||
c := map[string]interface{}{
|
||||
"access_key": []string{},
|
||||
}
|
||||
|
||||
_, warnings, err := b.Prepare(c)
|
||||
if len(warnings) > 0 {
|
||||
t.Fatalf("bad: %#v", warnings)
|
||||
}
|
||||
if err == nil {
|
||||
t.Fatalf("prepare should fail")
|
||||
}
|
||||
}
|
||||
|
||||
func TestBuilderPrepare_OMIName(t *testing.T) {
|
||||
var b Builder
|
||||
config := testConfig()
|
||||
|
||||
// Test good
|
||||
config["omi_name"] = "foo"
|
||||
config["skip_region_validation"] = true
|
||||
_, warnings, err := b.Prepare(config)
|
||||
if len(warnings) > 0 {
|
||||
t.Fatalf("bad: %#v", warnings)
|
||||
}
|
||||
if err != nil {
|
||||
t.Fatalf("should not have error: %s", err)
|
||||
}
|
||||
|
||||
// Test bad
|
||||
config["omi_name"] = "foo {{"
|
||||
b = Builder{}
|
||||
_, warnings, err = b.Prepare(config)
|
||||
if len(warnings) > 0 {
|
||||
t.Fatalf("bad: %#v", warnings)
|
||||
}
|
||||
if err == nil {
|
||||
t.Fatal("should have error")
|
||||
}
|
||||
|
||||
// Test bad
|
||||
delete(config, "omi_name")
|
||||
b = Builder{}
|
||||
_, warnings, err = b.Prepare(config)
|
||||
if len(warnings) > 0 {
|
||||
t.Fatalf("bad: %#v", warnings)
|
||||
}
|
||||
if err == nil {
|
||||
t.Fatal("should have error")
|
||||
}
|
||||
}
|
||||
|
||||
func TestBuilderPrepare_InvalidKey(t *testing.T) {
|
||||
var b Builder
|
||||
config := testConfig()
|
||||
|
||||
// Add a random key
|
||||
config["i_should_not_be_valid"] = true
|
||||
_, warnings, err := b.Prepare(config)
|
||||
if len(warnings) > 0 {
|
||||
t.Fatalf("bad: %#v", warnings)
|
||||
}
|
||||
if err == nil {
|
||||
t.Fatal("should have error")
|
||||
}
|
||||
}
|
||||
|
||||
func TestBuilderPrepare_InvalidShutdownBehavior(t *testing.T) {
|
||||
var b Builder
|
||||
config := testConfig()
|
||||
|
||||
// Test good
|
||||
config["shutdown_behavior"] = "terminate"
|
||||
config["skip_region_validation"] = true
|
||||
_, warnings, err := b.Prepare(config)
|
||||
if len(warnings) > 0 {
|
||||
t.Fatalf("bad: %#v", warnings)
|
||||
}
|
||||
if err != nil {
|
||||
t.Fatalf("should not have error: %s", err)
|
||||
}
|
||||
|
||||
// Test good
|
||||
config["shutdown_behavior"] = "stop"
|
||||
_, warnings, err = b.Prepare(config)
|
||||
if len(warnings) > 0 {
|
||||
t.Fatalf("bad: %#v", warnings)
|
||||
}
|
||||
if err != nil {
|
||||
t.Fatalf("should not have error: %s", err)
|
||||
}
|
||||
|
||||
// Test bad
|
||||
config["shutdown_behavior"] = "foobar"
|
||||
_, warnings, err = b.Prepare(config)
|
||||
if len(warnings) > 0 {
|
||||
t.Fatalf("bad: %#v", warnings)
|
||||
}
|
||||
if err == nil {
|
||||
t.Fatal("should have error")
|
||||
}
|
||||
}
|
|
@ -1,51 +0,0 @@
|
|||
package bsusurrogate
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
builderT "github.com/hashicorp/packer/acctest"
|
||||
)
|
||||
|
||||
func TestBuilderAcc_basic(t *testing.T) {
|
||||
builderT.Test(t, builderT.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Builder: &Builder{},
|
||||
Template: testBuilderAccBasic,
|
||||
SkipArtifactTeardown: true,
|
||||
})
|
||||
}
|
||||
|
||||
func testAccPreCheck(t *testing.T) {
|
||||
}
|
||||
|
||||
const testBuilderAccBasic = `
|
||||
{
|
||||
"builders": [{
|
||||
"type": "test",
|
||||
"region": "eu-west-2",
|
||||
"vm_type": "t2.micro",
|
||||
"source_omi": "ami-abe953fa",
|
||||
"ssh_username": "outscale",
|
||||
"omi_name": "packer-test {{timestamp}}",
|
||||
"omi_virtualization_type": "hvm",
|
||||
"subregion_name": "eu-west-2a",
|
||||
"launch_block_device_mappings" : [
|
||||
{
|
||||
"volume_type" : "io1",
|
||||
"device_name" : "/dev/xvdf",
|
||||
"delete_on_vm_deletion" : false,
|
||||
"volume_size" : 10,
|
||||
"iops": 300
|
||||
}
|
||||
],
|
||||
"omi_root_device":{
|
||||
"source_device_name": "/dev/xvdf",
|
||||
"device_name": "/dev/sda1",
|
||||
"delete_on_vm_deletion": true,
|
||||
"volume_size": 10,
|
||||
"volume_type": "standard"
|
||||
}
|
||||
|
||||
}]
|
||||
}
|
||||
`
|
|
@ -1,15 +0,0 @@
|
|||
package bsusurrogate
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
packersdk "github.com/hashicorp/packer-plugin-sdk/packer"
|
||||
)
|
||||
|
||||
func TestBuilder_ImplementsBuilder(t *testing.T) {
|
||||
var raw interface{}
|
||||
raw = &Builder{}
|
||||
if _, ok := raw.(packersdk.Builder); !ok {
|
||||
t.Fatal("Builder should be a builder")
|
||||
}
|
||||
}
|
|
@ -1,66 +0,0 @@
|
|||
//TODO: explain how to delete the image.
|
||||
package bsuvolume
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
builderT "github.com/hashicorp/packer/acctest"
|
||||
)
|
||||
|
||||
func TestBuilderAcc_basic(t *testing.T) {
|
||||
builderT.Test(t, builderT.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Builder: &Builder{},
|
||||
Template: testBuilderAccBasic,
|
||||
SkipArtifactTeardown: true,
|
||||
})
|
||||
}
|
||||
|
||||
func testAccPreCheck(t *testing.T) {
|
||||
}
|
||||
|
||||
const testBuilderAccBasic = `
|
||||
{
|
||||
"builders": [
|
||||
{
|
||||
"type": "test",
|
||||
"region": "eu-west-2",
|
||||
"vm_type": "t2.micro",
|
||||
"source_omi": "ami-abe953fa",
|
||||
"ssh_username": "outscale",
|
||||
"bsu_volumes": [
|
||||
{
|
||||
"volume_type": "gp2",
|
||||
"device_name": "/dev/xvdf",
|
||||
"delete_on_vm_deletion": false,
|
||||
"tags": {
|
||||
"zpool": "data",
|
||||
"Name": "Data1"
|
||||
},
|
||||
"volume_size": 10
|
||||
},
|
||||
{
|
||||
"volume_type": "gp2",
|
||||
"device_name": "/dev/xvdg",
|
||||
"tags": {
|
||||
"zpool": "data",
|
||||
"Name": "Data2"
|
||||
},
|
||||
"delete_on_vm_deletion": false,
|
||||
"volume_size": 10
|
||||
},
|
||||
{
|
||||
"volume_size": 10,
|
||||
"tags": {
|
||||
"Name": "Data3",
|
||||
"zpool": "data"
|
||||
},
|
||||
"delete_on_vm_deletion": false,
|
||||
"device_name": "/dev/xvdh",
|
||||
"volume_type": "gp2"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
`
|
|
@ -1,92 +0,0 @@
|
|||
package bsuvolume
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
packersdk "github.com/hashicorp/packer-plugin-sdk/packer"
|
||||
)
|
||||
|
||||
func testConfig() map[string]interface{} {
|
||||
return map[string]interface{}{
|
||||
"access_key": "foo",
|
||||
"secret_key": "bar",
|
||||
"source_omi": "foo",
|
||||
"vm_type": "foo",
|
||||
"region": "us-east-1",
|
||||
"ssh_username": "root",
|
||||
}
|
||||
}
|
||||
|
||||
func TestBuilder_ImplementsBuilder(t *testing.T) {
|
||||
var raw interface{}
|
||||
raw = &Builder{}
|
||||
if _, ok := raw.(packersdk.Builder); !ok {
|
||||
t.Fatalf("Builder should be a builder")
|
||||
}
|
||||
}
|
||||
|
||||
func TestBuilder_Prepare_BadType(t *testing.T) {
|
||||
b := &Builder{}
|
||||
c := map[string]interface{}{
|
||||
"access_key": []string{},
|
||||
}
|
||||
|
||||
_, warnings, err := b.Prepare(c)
|
||||
if len(warnings) > 0 {
|
||||
t.Fatalf("bad: %#v", warnings)
|
||||
}
|
||||
if err == nil {
|
||||
t.Fatalf("prepare should fail")
|
||||
}
|
||||
}
|
||||
|
||||
func TestBuilderPrepare_InvalidKey(t *testing.T) {
|
||||
var b Builder
|
||||
config := testConfig()
|
||||
|
||||
// Add a random key
|
||||
config["i_should_not_be_valid"] = true
|
||||
_, warnings, err := b.Prepare(config)
|
||||
if len(warnings) > 0 {
|
||||
t.Fatalf("bad: %#v", warnings)
|
||||
}
|
||||
if err == nil {
|
||||
t.Fatal("should have error")
|
||||
}
|
||||
}
|
||||
|
||||
func TestBuilderPrepare_InvalidShutdownBehavior(t *testing.T) {
|
||||
var b Builder
|
||||
config := testConfig()
|
||||
|
||||
// Test good
|
||||
config["shutdown_behavior"] = "terminate"
|
||||
config["skip_region_validation"] = true
|
||||
_, warnings, err := b.Prepare(config)
|
||||
if len(warnings) > 0 {
|
||||
t.Fatalf("bad: %#v", warnings)
|
||||
}
|
||||
if err != nil {
|
||||
t.Fatalf("should not have error: %s", err)
|
||||
}
|
||||
|
||||
// Test good
|
||||
config["shutdown_behavior"] = "stop"
|
||||
_, warnings, err = b.Prepare(config)
|
||||
if len(warnings) > 0 {
|
||||
t.Fatalf("bad: %#v", warnings)
|
||||
}
|
||||
if err != nil {
|
||||
t.Fatalf("should not have error: %s", err)
|
||||
}
|
||||
|
||||
// Test bad
|
||||
config["shutdown_behavior"] = "foobar"
|
||||
_, warnings, err = b.Prepare(config)
|
||||
if len(warnings) > 0 {
|
||||
t.Fatalf("bad: %#v", warnings)
|
||||
}
|
||||
if err == nil {
|
||||
t.Fatal("should have error")
|
||||
}
|
||||
}
|
|
@ -1,15 +0,0 @@
|
|||
package chroot
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
packersdk "github.com/hashicorp/packer-plugin-sdk/packer"
|
||||
)
|
||||
|
||||
func TestCommunicator_ImplementsCommunicator(t *testing.T) {
|
||||
var raw interface{}
|
||||
raw = &Communicator{}
|
||||
if _, ok := raw.(packersdk.Communicator); !ok {
|
||||
t.Fatalf("Communicator should be a communicator")
|
||||
}
|
||||
}
|
|
@ -1,11 +0,0 @@
|
|||
package chroot
|
||||
|
||||
import "testing"
|
||||
|
||||
func TestCopyFilesCleanupFunc_ImplementsCleanupFunc(t *testing.T) {
|
||||
var raw interface{}
|
||||
raw = new(StepCopyFiles)
|
||||
if _, ok := raw.(Cleanup); !ok {
|
||||
t.Fatalf("cleanup func should be a CleanupFunc")
|
||||
}
|
||||
}
|
|
@ -1,45 +0,0 @@
|
|||
package common
|
||||
|
||||
import (
|
||||
"testing"
|
||||
)
|
||||
|
||||
func testAccessConfig() *AccessConfig {
|
||||
return &AccessConfig{}
|
||||
}
|
||||
|
||||
func TestAccessConfigPrepare_Region(t *testing.T) {
|
||||
c := testAccessConfig()
|
||||
|
||||
c.RawRegion = "us-east-12"
|
||||
err := c.ValidateOSCRegion(c.RawRegion)
|
||||
if err == nil {
|
||||
t.Fatalf("should have region validation err: %s", c.RawRegion)
|
||||
}
|
||||
|
||||
c.RawRegion = "us-east-1"
|
||||
err = c.ValidateOSCRegion(c.RawRegion)
|
||||
if err == nil {
|
||||
t.Fatalf("should have region validation err: %s", c.RawRegion)
|
||||
}
|
||||
|
||||
c.RawRegion = "custom"
|
||||
err = c.ValidateOSCRegion(c.RawRegion)
|
||||
if err == nil {
|
||||
t.Fatalf("should have region validation err: %s", c.RawRegion)
|
||||
}
|
||||
|
||||
c.RawRegion = "custom"
|
||||
c.SkipValidation = true
|
||||
// testing whole prepare func here; this is checking that validation is
|
||||
// skipped, so we don't need a mock connection
|
||||
if err := c.Prepare(nil); err != nil {
|
||||
t.Fatalf("shouldn't have err: %s", err)
|
||||
}
|
||||
|
||||
c.SkipValidation = false
|
||||
c.RawRegion = ""
|
||||
if err := c.Prepare(nil); err != nil {
|
||||
t.Fatalf("shouldn't have err: %s", err)
|
||||
}
|
||||
}
|
|
@ -1,289 +0,0 @@
|
|||
package common
|
||||
|
||||
import (
|
||||
"reflect"
|
||||
"testing"
|
||||
|
||||
"github.com/outscale/osc-sdk-go/osc"
|
||||
)
|
||||
|
||||
func TestBlockDevice_LaunchDevices(t *testing.T) {
|
||||
cases := []struct {
|
||||
Config *BlockDevice
|
||||
Result osc.BlockDeviceMappingVmCreation
|
||||
}{
|
||||
{
|
||||
Config: &BlockDevice{
|
||||
DeviceName: "/dev/sdb",
|
||||
SnapshotId: "snap-1234",
|
||||
VolumeType: "standard",
|
||||
VolumeSize: 8,
|
||||
DeleteOnVmDeletion: true,
|
||||
},
|
||||
|
||||
Result: osc.BlockDeviceMappingVmCreation{
|
||||
DeviceName: "/dev/sdb",
|
||||
Bsu: osc.BsuToCreate{
|
||||
SnapshotId: "snap-1234",
|
||||
VolumeType: "standard",
|
||||
VolumeSize: 8,
|
||||
DeleteOnVmDeletion: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
Config: &BlockDevice{
|
||||
DeviceName: "/dev/sdb",
|
||||
VolumeSize: 8,
|
||||
},
|
||||
|
||||
Result: osc.BlockDeviceMappingVmCreation{
|
||||
DeviceName: "/dev/sdb",
|
||||
Bsu: osc.BsuToCreate{
|
||||
VolumeSize: 8,
|
||||
DeleteOnVmDeletion: false,
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
Config: &BlockDevice{
|
||||
DeviceName: "/dev/sdb",
|
||||
VolumeType: "io1",
|
||||
VolumeSize: 8,
|
||||
DeleteOnVmDeletion: true,
|
||||
IOPS: 1000,
|
||||
},
|
||||
|
||||
Result: osc.BlockDeviceMappingVmCreation{
|
||||
DeviceName: "/dev/sdb",
|
||||
Bsu: osc.BsuToCreate{
|
||||
VolumeType: "io1",
|
||||
VolumeSize: 8,
|
||||
DeleteOnVmDeletion: true,
|
||||
Iops: 1000,
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
Config: &BlockDevice{
|
||||
DeviceName: "/dev/sdb",
|
||||
VolumeType: "gp2",
|
||||
VolumeSize: 8,
|
||||
DeleteOnVmDeletion: true,
|
||||
},
|
||||
|
||||
Result: osc.BlockDeviceMappingVmCreation{
|
||||
DeviceName: "/dev/sdb",
|
||||
Bsu: osc.BsuToCreate{
|
||||
VolumeType: "gp2",
|
||||
VolumeSize: 8,
|
||||
DeleteOnVmDeletion: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
Config: &BlockDevice{
|
||||
DeviceName: "/dev/sdb",
|
||||
VolumeType: "gp2",
|
||||
VolumeSize: 8,
|
||||
DeleteOnVmDeletion: true,
|
||||
},
|
||||
|
||||
Result: osc.BlockDeviceMappingVmCreation{
|
||||
DeviceName: "/dev/sdb",
|
||||
Bsu: osc.BsuToCreate{
|
||||
VolumeType: "gp2",
|
||||
VolumeSize: 8,
|
||||
DeleteOnVmDeletion: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
Config: &BlockDevice{
|
||||
DeviceName: "/dev/sdb",
|
||||
VolumeType: "standard",
|
||||
DeleteOnVmDeletion: true,
|
||||
},
|
||||
|
||||
Result: osc.BlockDeviceMappingVmCreation{
|
||||
DeviceName: "/dev/sdb",
|
||||
Bsu: osc.BsuToCreate{
|
||||
VolumeType: "standard",
|
||||
DeleteOnVmDeletion: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
Config: &BlockDevice{
|
||||
DeviceName: "/dev/sdb",
|
||||
VirtualName: "ephemeral0",
|
||||
},
|
||||
|
||||
Result: osc.BlockDeviceMappingVmCreation{
|
||||
DeviceName: "/dev/sdb",
|
||||
VirtualDeviceName: "ephemeral0",
|
||||
},
|
||||
},
|
||||
{
|
||||
Config: &BlockDevice{
|
||||
DeviceName: "/dev/sdb",
|
||||
NoDevice: true,
|
||||
},
|
||||
|
||||
Result: osc.BlockDeviceMappingVmCreation{
|
||||
DeviceName: "/dev/sdb",
|
||||
NoDevice: "",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
for _, tc := range cases {
|
||||
|
||||
launchBlockDevices := LaunchBlockDevices{
|
||||
LaunchMappings: []BlockDevice{*tc.Config},
|
||||
}
|
||||
|
||||
expected := []osc.BlockDeviceMappingVmCreation{tc.Result}
|
||||
|
||||
launchResults := launchBlockDevices.BuildOSCLaunchDevices()
|
||||
if !reflect.DeepEqual(expected, launchResults) {
|
||||
t.Fatalf("Bad block device, \nexpected: %#v\n\ngot: %#v",
|
||||
expected, launchResults)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestBlockDevice_OMI(t *testing.T) {
|
||||
cases := []struct {
|
||||
Config *BlockDevice
|
||||
Result osc.BlockDeviceMappingImage
|
||||
}{
|
||||
{
|
||||
Config: &BlockDevice{
|
||||
DeviceName: "/dev/sdb",
|
||||
SnapshotId: "snap-1234",
|
||||
VolumeType: "standard",
|
||||
VolumeSize: 8,
|
||||
DeleteOnVmDeletion: true,
|
||||
},
|
||||
|
||||
Result: osc.BlockDeviceMappingImage{
|
||||
DeviceName: "/dev/sdb",
|
||||
Bsu: osc.BsuToCreate{
|
||||
SnapshotId: "snap-1234",
|
||||
VolumeType: "standard",
|
||||
VolumeSize: 8,
|
||||
DeleteOnVmDeletion: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
Config: &BlockDevice{
|
||||
DeviceName: "/dev/sdb",
|
||||
VolumeSize: 8,
|
||||
DeleteOnVmDeletion: true,
|
||||
},
|
||||
|
||||
Result: osc.BlockDeviceMappingImage{
|
||||
DeviceName: "/dev/sdb",
|
||||
Bsu: osc.BsuToCreate{
|
||||
VolumeSize: 8,
|
||||
DeleteOnVmDeletion: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
Config: &BlockDevice{
|
||||
DeviceName: "/dev/sdb",
|
||||
VolumeType: "io1",
|
||||
VolumeSize: 8,
|
||||
DeleteOnVmDeletion: true,
|
||||
IOPS: 1000,
|
||||
},
|
||||
|
||||
Result: osc.BlockDeviceMappingImage{
|
||||
DeviceName: "/dev/sdb",
|
||||
Bsu: osc.BsuToCreate{
|
||||
VolumeType: "io1",
|
||||
VolumeSize: 8,
|
||||
DeleteOnVmDeletion: true,
|
||||
Iops: 1000,
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
Config: &BlockDevice{
|
||||
DeviceName: "/dev/sdb",
|
||||
VolumeType: "gp2",
|
||||
VolumeSize: 8,
|
||||
DeleteOnVmDeletion: true,
|
||||
},
|
||||
|
||||
Result: osc.BlockDeviceMappingImage{
|
||||
DeviceName: "/dev/sdb",
|
||||
Bsu: osc.BsuToCreate{
|
||||
VolumeType: "gp2",
|
||||
VolumeSize: 8,
|
||||
DeleteOnVmDeletion: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
Config: &BlockDevice{
|
||||
DeviceName: "/dev/sdb",
|
||||
VolumeType: "gp2",
|
||||
VolumeSize: 8,
|
||||
DeleteOnVmDeletion: true,
|
||||
},
|
||||
|
||||
Result: osc.BlockDeviceMappingImage{
|
||||
DeviceName: "/dev/sdb",
|
||||
Bsu: osc.BsuToCreate{
|
||||
VolumeType: "gp2",
|
||||
VolumeSize: 8,
|
||||
DeleteOnVmDeletion: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
Config: &BlockDevice{
|
||||
DeviceName: "/dev/sdb",
|
||||
VolumeType: "standard",
|
||||
DeleteOnVmDeletion: true,
|
||||
},
|
||||
|
||||
Result: osc.BlockDeviceMappingImage{
|
||||
DeviceName: "/dev/sdb",
|
||||
Bsu: osc.BsuToCreate{
|
||||
VolumeType: "standard",
|
||||
DeleteOnVmDeletion: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
Config: &BlockDevice{
|
||||
DeviceName: "/dev/sdb",
|
||||
VirtualName: "ephemeral0",
|
||||
},
|
||||
|
||||
Result: osc.BlockDeviceMappingImage{
|
||||
DeviceName: "/dev/sdb",
|
||||
VirtualDeviceName: "ephemeral0",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
for i, tc := range cases {
|
||||
omiBlockDevices := OMIBlockDevices{
|
||||
OMIMappings: []BlockDevice{*tc.Config},
|
||||
}
|
||||
|
||||
expected := []osc.BlockDeviceMappingImage{tc.Result}
|
||||
|
||||
omiResults := omiBlockDevices.BuildOscOMIDevices()
|
||||
if !reflect.DeepEqual(expected, omiResults) {
|
||||
t.Fatalf("%d - Bad block device, \nexpected: %+#v\n\ngot: %+#v",
|
||||
i, expected, omiResults)
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,62 +0,0 @@
|
|||
package common
|
||||
|
||||
import (
|
||||
"reflect"
|
||||
"testing"
|
||||
|
||||
"github.com/hashicorp/packer-plugin-sdk/multistep"
|
||||
"github.com/outscale/osc-sdk-go/osc"
|
||||
)
|
||||
|
||||
func testImage() osc.Image {
|
||||
return osc.Image{
|
||||
ImageId: "ami-abcd1234",
|
||||
ImageName: "ami_test_name",
|
||||
Tags: []osc.ResourceTag{
|
||||
{
|
||||
Key: "key-1",
|
||||
Value: "value-1",
|
||||
},
|
||||
{
|
||||
Key: "key-2",
|
||||
Value: "value-2",
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
func testState() multistep.StateBag {
|
||||
state := new(multistep.BasicStateBag)
|
||||
return state
|
||||
}
|
||||
|
||||
func TestInterpolateBuildInfo_extractBuildInfo_noSourceImage(t *testing.T) {
|
||||
state := testState()
|
||||
buildInfo := extractBuildInfo("foo", state)
|
||||
|
||||
expected := BuildInfoTemplate{
|
||||
BuildRegion: "foo",
|
||||
}
|
||||
if !reflect.DeepEqual(*buildInfo, expected) {
|
||||
t.Fatalf("Unexpected BuildInfoTemplate: expected %#v got %#v\n", expected, *buildInfo)
|
||||
}
|
||||
}
|
||||
|
||||
func TestInterpolateBuildInfo_extractBuildInfo_withSourceImage(t *testing.T) {
|
||||
state := testState()
|
||||
state.Put("source_image", testImage())
|
||||
buildInfo := extractBuildInfo("foo", state)
|
||||
|
||||
expected := BuildInfoTemplate{
|
||||
BuildRegion: "foo",
|
||||
SourceOMI: "ami-abcd1234",
|
||||
SourceOMIName: "ami_test_name",
|
||||
SourceOMITags: map[string]string{
|
||||
"key-1": "value-1",
|
||||
"key-2": "value-2",
|
||||
},
|
||||
}
|
||||
if !reflect.DeepEqual(*buildInfo, expected) {
|
||||
t.Fatalf("Unexpected BuildInfoTemplate: expected %#v got %#v\n", expected, *buildInfo)
|
||||
}
|
||||
}
|
|
@ -1,144 +0,0 @@
|
|||
package common
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"reflect"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func testOMIConfig() *OMIConfig {
|
||||
return &OMIConfig{
|
||||
OMIName: "foo",
|
||||
}
|
||||
}
|
||||
|
||||
func getFakeAccessConfig(region string) *AccessConfig {
|
||||
c := testAccessConfig()
|
||||
c.RawRegion = region
|
||||
return c
|
||||
}
|
||||
|
||||
func TestOMIConfigPrepare_name(t *testing.T) {
|
||||
c := testOMIConfig()
|
||||
accessConf := testAccessConfig()
|
||||
if err := c.Prepare(accessConf, nil); err != nil {
|
||||
t.Fatalf("shouldn't have err: %s", err)
|
||||
}
|
||||
|
||||
c.OMIName = ""
|
||||
if err := c.Prepare(accessConf, nil); err == nil {
|
||||
t.Fatal("should have error")
|
||||
}
|
||||
}
|
||||
|
||||
func TestOMIConfigPrepare_regions(t *testing.T) {
|
||||
c := testOMIConfig()
|
||||
c.OMIRegions = nil
|
||||
|
||||
var errs []error
|
||||
accessConf := testAccessConfig()
|
||||
if errs = c.prepareRegions(accessConf); len(errs) > 0 {
|
||||
t.Fatalf("shouldn't have err: %#v", errs)
|
||||
}
|
||||
|
||||
c.OMIRegions = []string{"us-east-1", "us-west-1"}
|
||||
|
||||
if errs = c.prepareRegions(accessConf); len(errs) > 0 {
|
||||
t.Fatalf("shouldn't have err: %#v", errs)
|
||||
}
|
||||
errs = errs[:0]
|
||||
|
||||
c.OMIRegions = []string{"us-east-1", "us-west-1", "us-east-1"}
|
||||
if errs = c.prepareRegions(accessConf); len(errs) > 0 {
|
||||
t.Fatalf("bad: %s", errs[0])
|
||||
}
|
||||
|
||||
expected := []string{"us-east-1", "us-west-1"}
|
||||
if !reflect.DeepEqual(c.OMIRegions, expected) {
|
||||
t.Fatalf("bad: %#v", c.OMIRegions)
|
||||
}
|
||||
|
||||
c.OMIRegions = []string{"custom"}
|
||||
if errs = c.prepareRegions(accessConf); len(errs) > 0 {
|
||||
t.Fatal("shouldn't have error")
|
||||
}
|
||||
|
||||
c.OMIRegions = []string{"us-east-1", "us-east-2", "us-west-1"}
|
||||
|
||||
if errs = c.prepareRegions(accessConf); len(errs) > 0 {
|
||||
t.Fatal(fmt.Sprintf("shouldn't have error: %s", errs[0]))
|
||||
}
|
||||
|
||||
c.OMIRegions = []string{"us-east-1", "us-east-2", "us-west-1"}
|
||||
|
||||
if errs = c.prepareRegions(accessConf); len(errs) > 0 {
|
||||
t.Fatal("should have passed; we are able to use default KMS key if not sharing")
|
||||
}
|
||||
|
||||
c.SnapshotAccountIDs = []string{"user-foo", "user-bar"}
|
||||
c.OMIRegions = []string{"us-east-1", "us-east-2", "us-west-1"}
|
||||
|
||||
if errs = c.prepareRegions(accessConf); len(errs) > 0 {
|
||||
t.Fatal("should have an error b/c can't use default KMS key if sharing")
|
||||
}
|
||||
|
||||
c.OMIRegions = []string{"us-east-1", "us-west-1"}
|
||||
|
||||
if errs = c.prepareRegions(accessConf); len(errs) > 0 {
|
||||
t.Fatal("should have error b/c theres a region in the key map that isn't in omi_regions")
|
||||
}
|
||||
|
||||
c.OMIRegions = []string{"us-east-1", "us-west-1", "us-east-2"}
|
||||
|
||||
c.SnapshotAccountIDs = []string{"foo", "bar"}
|
||||
c.OMIRegions = []string{"us-east-1", "us-west-1"}
|
||||
|
||||
if errs = c.prepareRegions(accessConf); len(errs) > 0 {
|
||||
t.Fatal("should have error b/c theres a region in in omi_regions that isn't in the key map")
|
||||
}
|
||||
|
||||
// allow rawregion to exist in omi_regions list.
|
||||
accessConf = getFakeAccessConfig("us-east-1")
|
||||
c.OMIRegions = []string{"us-east-1", "us-west-1", "us-east-2"}
|
||||
|
||||
if errs = c.prepareRegions(accessConf); len(errs) > 0 {
|
||||
t.Fatal("should allow user to have the raw region in omi_regions")
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func TestOMINameValidation(t *testing.T) {
|
||||
c := testOMIConfig()
|
||||
|
||||
accessConf := testAccessConfig()
|
||||
|
||||
c.OMIName = "aa"
|
||||
if err := c.Prepare(accessConf, nil); err == nil {
|
||||
t.Fatal("shouldn't be able to have an omi name with less than 3 characters")
|
||||
}
|
||||
|
||||
var longOmiName string
|
||||
for i := 0; i < 129; i++ {
|
||||
longOmiName += "a"
|
||||
}
|
||||
c.OMIName = longOmiName
|
||||
if err := c.Prepare(accessConf, nil); err == nil {
|
||||
t.Fatal("shouldn't be able to have an omi name with great than 128 characters")
|
||||
}
|
||||
|
||||
c.OMIName = "+aaa"
|
||||
if err := c.Prepare(accessConf, nil); err == nil {
|
||||
t.Fatal("shouldn't be able to have an omi name with invalid characters")
|
||||
}
|
||||
|
||||
c.OMIName = "fooBAR1()[] ./-'@_"
|
||||
if err := c.Prepare(accessConf, nil); err != nil {
|
||||
t.Fatal("should be able to use all of the allowed OMI characters")
|
||||
}
|
||||
|
||||
c.OMIName = `xyz-base-2017-04-05-1934`
|
||||
if err := c.Prepare(accessConf, nil); err != nil {
|
||||
t.Fatalf("expected `xyz-base-2017-04-05-1934` to pass validation.")
|
||||
}
|
||||
|
||||
}
|
|
@ -1,64 +0,0 @@
|
|||
package retry
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestRetry(t *testing.T) {
|
||||
numTries := uint(0)
|
||||
// Test that a passing function only gets called once.
|
||||
err := Run(0, 0, 0, func(i uint) (bool, error) {
|
||||
numTries++
|
||||
return true, nil
|
||||
})
|
||||
if numTries != 1 {
|
||||
t.Fatal("Passing function should not have been retried.")
|
||||
}
|
||||
if err != nil {
|
||||
t.Fatalf("Passing function should not have returned a retry error. Error: %s", err)
|
||||
}
|
||||
|
||||
// Test that a failing function gets retried (once in this example).
|
||||
numTries = 0
|
||||
results := []bool{false, true}
|
||||
err = Run(0, 0, 0, func(i uint) (bool, error) {
|
||||
result := results[numTries]
|
||||
numTries++
|
||||
return result, nil
|
||||
})
|
||||
if numTries != 2 {
|
||||
t.Fatalf("Retried function should have been tried twice. Tried %d times.", numTries)
|
||||
}
|
||||
if err != nil {
|
||||
t.Fatalf("Successful retried function should not have returned a retry error. Error: %s", err)
|
||||
}
|
||||
|
||||
// Test that a function error gets returned, and the function does not get called again.
|
||||
numTries = 0
|
||||
funcErr := fmt.Errorf("This function had an error!")
|
||||
err = Run(0, 0, 0, func(i uint) (bool, error) {
|
||||
numTries++
|
||||
return false, funcErr
|
||||
})
|
||||
if numTries != 1 {
|
||||
t.Fatal("Errant function should not have been retried.")
|
||||
}
|
||||
if err != funcErr {
|
||||
t.Fatalf("Errant function did not return the right error %s. Error: %s", funcErr, err)
|
||||
}
|
||||
|
||||
// Test when a function exhausts its retries.
|
||||
numTries = 0
|
||||
expectedTries := uint(3)
|
||||
err = Run(0, 0, expectedTries, func(i uint) (bool, error) {
|
||||
numTries++
|
||||
return false, nil
|
||||
})
|
||||
if numTries != expectedTries {
|
||||
t.Fatalf("Unsuccessful retry function should have been called %d times. Only called %d times.", expectedTries, numTries)
|
||||
}
|
||||
if err != RetryExhaustedError {
|
||||
t.Fatalf("Unsuccessful retry function should have returned a retry exhausted error. Actual error: %s", err)
|
||||
}
|
||||
}
|
|
@ -1,243 +0,0 @@
|
|||
package common
|
||||
|
||||
import (
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"regexp"
|
||||
"testing"
|
||||
|
||||
"github.com/hashicorp/packer-plugin-sdk/communicator"
|
||||
"github.com/hashicorp/packer-plugin-sdk/template/config"
|
||||
)
|
||||
|
||||
func init() {
|
||||
// Clear out the OUTSCALE access key env vars so they don't
|
||||
// affect our tests.
|
||||
os.Setenv("OUTSCALE_ACCESS_KEY_ID", "")
|
||||
os.Setenv("OUTSCALE_ACCESS_KEY", "")
|
||||
os.Setenv("OUTSCALE_SECRET_ACCESS_KEY", "")
|
||||
os.Setenv("OUTSCALE_SECRET_KEY", "")
|
||||
}
|
||||
|
||||
func testConfig() *RunConfig {
|
||||
return &RunConfig{
|
||||
SourceOmi: "abcd",
|
||||
VmType: "m1.small",
|
||||
Comm: communicator.Config{
|
||||
SSH: communicator.SSH{
|
||||
SSHUsername: "foo",
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
func testConfigFilter() *RunConfig {
|
||||
config := testConfig()
|
||||
config.SourceOmi = ""
|
||||
config.SourceOmiFilter = OmiFilterOptions{}
|
||||
return config
|
||||
}
|
||||
|
||||
func TestRunConfigPrepare(t *testing.T) {
|
||||
c := testConfig()
|
||||
err := c.Prepare(nil)
|
||||
if len(err) > 0 {
|
||||
t.Fatalf("err: %s", err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestRunConfigPrepare_VmType(t *testing.T) {
|
||||
c := testConfig()
|
||||
c.VmType = ""
|
||||
if err := c.Prepare(nil); len(err) != 1 {
|
||||
t.Fatalf("Should error if an vm_type is not specified")
|
||||
}
|
||||
}
|
||||
|
||||
func TestRunConfigPrepare_SourceOmi(t *testing.T) {
|
||||
c := testConfig()
|
||||
c.SourceOmi = ""
|
||||
if err := c.Prepare(nil); len(err) != 2 {
|
||||
t.Fatalf("Should error if a source_omi (or source_omi_filter) is not specified")
|
||||
}
|
||||
}
|
||||
|
||||
func TestRunConfigPrepare_SourceOmiFilterBlank(t *testing.T) {
|
||||
c := testConfigFilter()
|
||||
if err := c.Prepare(nil); len(err) != 2 {
|
||||
t.Fatalf("Should error if source_ami_filter is empty or not specified (and source_ami is not specified)")
|
||||
}
|
||||
}
|
||||
|
||||
func TestRunConfigPrepare_SourceOmiFilterOwnersBlank(t *testing.T) {
|
||||
c := testConfigFilter()
|
||||
filter_key := "name"
|
||||
filter_value := "foo"
|
||||
c.SourceOmiFilter = OmiFilterOptions{
|
||||
NameValueFilter: config.NameValueFilter{
|
||||
Filters: map[string]string{filter_key: filter_value},
|
||||
},
|
||||
}
|
||||
if err := c.Prepare(nil); len(err) != 1 {
|
||||
t.Fatalf("Should error if Owners is not specified)")
|
||||
}
|
||||
}
|
||||
|
||||
func TestRunConfigPrepare_SourceOmiFilterGood(t *testing.T) {
|
||||
c := testConfigFilter()
|
||||
owner := "123"
|
||||
filter_key := "name"
|
||||
filter_value := "foo"
|
||||
goodFilter := OmiFilterOptions{
|
||||
Owners: []string{owner},
|
||||
NameValueFilter: config.NameValueFilter{
|
||||
Filters: map[string]string{filter_key: filter_value},
|
||||
},
|
||||
}
|
||||
c.SourceOmiFilter = goodFilter
|
||||
if err := c.Prepare(nil); len(err) != 0 {
|
||||
t.Fatalf("err: %s", err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestRunConfigPrepare_EnableT2UnlimitedGood(t *testing.T) {
|
||||
c := testConfig()
|
||||
// Must have a T2 vm type if T2 Unlimited is enabled
|
||||
c.VmType = "t2.micro"
|
||||
c.EnableT2Unlimited = true
|
||||
err := c.Prepare(nil)
|
||||
if len(err) > 0 {
|
||||
t.Fatalf("err: %s", err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestRunConfigPrepare_EnableT2UnlimitedBadVmType(t *testing.T) {
|
||||
c := testConfig()
|
||||
// T2 Unlimited cannot be used with vm types other than T2
|
||||
c.VmType = "m5.large"
|
||||
c.EnableT2Unlimited = true
|
||||
err := c.Prepare(nil)
|
||||
if len(err) != 1 {
|
||||
t.Fatalf("Should error if T2 Unlimited is enabled with non-T2 vm_type")
|
||||
}
|
||||
}
|
||||
|
||||
func TestRunConfigPrepare_EnableT2UnlimitedBadWithSpotInstanceRequest(t *testing.T) {
|
||||
c := testConfig()
|
||||
// T2 Unlimited cannot be used with Spot Instances
|
||||
c.VmType = "t2.micro"
|
||||
c.EnableT2Unlimited = true
|
||||
c.SpotPrice = "auto"
|
||||
c.SpotPriceAutoProduct = "Linux/UNIX"
|
||||
err := c.Prepare(nil)
|
||||
if len(err) != 1 {
|
||||
t.Fatalf("Should error if T2 Unlimited has been used in conjuntion with a Spot Price request")
|
||||
}
|
||||
}
|
||||
|
||||
func TestRunConfigPrepare_SpotAuto(t *testing.T) {
|
||||
c := testConfig()
|
||||
c.SpotPrice = "auto"
|
||||
if err := c.Prepare(nil); len(err) != 1 {
|
||||
t.Fatalf("Should error if spot_price_auto_product is not set and spot_price is set to auto")
|
||||
}
|
||||
|
||||
// Good - SpotPrice and SpotPriceAutoProduct are correctly set
|
||||
c.SpotPriceAutoProduct = "foo"
|
||||
if err := c.Prepare(nil); len(err) != 0 {
|
||||
t.Fatalf("err: %s", err)
|
||||
}
|
||||
|
||||
c.SpotPrice = ""
|
||||
if err := c.Prepare(nil); len(err) != 1 {
|
||||
t.Fatalf("Should error if spot_price is not set to auto and spot_price_auto_product is set")
|
||||
}
|
||||
}
|
||||
|
||||
func TestRunConfigPrepare_SSHPort(t *testing.T) {
|
||||
c := testConfig()
|
||||
c.Comm.SSHPort = 0
|
||||
if err := c.Prepare(nil); len(err) != 0 {
|
||||
t.Fatalf("err: %s", err)
|
||||
}
|
||||
|
||||
if c.Comm.SSHPort != 22 {
|
||||
t.Fatalf("invalid value: %d", c.Comm.SSHPort)
|
||||
}
|
||||
|
||||
c.Comm.SSHPort = 44
|
||||
if err := c.Prepare(nil); len(err) != 0 {
|
||||
t.Fatalf("err: %s", err)
|
||||
}
|
||||
|
||||
if c.Comm.SSHPort != 44 {
|
||||
t.Fatalf("invalid value: %d", c.Comm.SSHPort)
|
||||
}
|
||||
}
|
||||
|
||||
func TestRunConfigPrepare_UserData(t *testing.T) {
|
||||
c := testConfig()
|
||||
tf, err := ioutil.TempFile("", "packer")
|
||||
if err != nil {
|
||||
t.Fatalf("err: %s", err)
|
||||
}
|
||||
defer os.Remove(tf.Name())
|
||||
defer tf.Close()
|
||||
|
||||
c.UserData = "foo"
|
||||
c.UserDataFile = tf.Name()
|
||||
if err := c.Prepare(nil); len(err) != 1 {
|
||||
t.Fatalf("Should error if user_data string and user_data_file have both been specified")
|
||||
}
|
||||
}
|
||||
|
||||
func TestRunConfigPrepare_UserDataFile(t *testing.T) {
|
||||
c := testConfig()
|
||||
if err := c.Prepare(nil); len(err) != 0 {
|
||||
t.Fatalf("err: %s", err)
|
||||
}
|
||||
|
||||
c.UserDataFile = "idontexistidontthink"
|
||||
if err := c.Prepare(nil); len(err) != 1 {
|
||||
t.Fatalf("Should error if the file specified by user_data_file does not exist")
|
||||
}
|
||||
|
||||
tf, err := ioutil.TempFile("", "packer")
|
||||
if err != nil {
|
||||
t.Fatalf("err: %s", err)
|
||||
}
|
||||
defer os.Remove(tf.Name())
|
||||
defer tf.Close()
|
||||
|
||||
c.UserDataFile = tf.Name()
|
||||
if err := c.Prepare(nil); len(err) != 0 {
|
||||
t.Fatalf("err: %s", err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestRunConfigPrepare_TemporaryKeyPairName(t *testing.T) {
|
||||
c := testConfig()
|
||||
c.Comm.SSHTemporaryKeyPairName = ""
|
||||
if err := c.Prepare(nil); len(err) != 0 {
|
||||
t.Fatalf("err: %s", err)
|
||||
}
|
||||
|
||||
if c.Comm.SSHTemporaryKeyPairName == "" {
|
||||
t.Fatal("keypair name is empty")
|
||||
}
|
||||
|
||||
// Match prefix and UUID, e.g. "packer_5790d491-a0b8-c84c-c9d2-2aea55086550".
|
||||
r := regexp.MustCompile(`\Apacker_(?:(?i)[a-f\d]{8}(?:-[a-f\d]{4}){3}-[a-f\d]{12}?)\z`)
|
||||
if !r.MatchString(c.Comm.SSHTemporaryKeyPairName) {
|
||||
t.Fatal("keypair name is not valid")
|
||||
}
|
||||
|
||||
c.Comm.SSHTemporaryKeyPairName = "ssh-key-123"
|
||||
if err := c.Prepare(nil); len(err) != 0 {
|
||||
t.Fatalf("err: %s", err)
|
||||
}
|
||||
|
||||
if c.Comm.SSHTemporaryKeyPairName != "ssh-key-123" {
|
||||
t.Fatal("keypair name does not match")
|
||||
}
|
||||
}
|
|
@ -1,13 +0,0 @@
|
|||
package version
|
||||
|
||||
import (
|
||||
"github.com/hashicorp/packer-plugin-sdk/version"
|
||||
packerVersion "github.com/hashicorp/packer/version"
|
||||
)
|
||||
|
||||
var OutscalePluginVersion *version.PluginVersion
|
||||
|
||||
func init() {
|
||||
OutscalePluginVersion = version.InitializePluginVersion(
|
||||
packerVersion.Version, packerVersion.VersionPrerelease)
|
||||
}
|
|
@ -33,10 +33,6 @@ import (
|
|||
openstackbuilder "github.com/hashicorp/packer/builder/openstack"
|
||||
oracleclassicbuilder "github.com/hashicorp/packer/builder/oracle/classic"
|
||||
oracleocibuilder "github.com/hashicorp/packer/builder/oracle/oci"
|
||||
oscbsubuilder "github.com/hashicorp/packer/builder/osc/bsu"
|
||||
oscbsusurrogatebuilder "github.com/hashicorp/packer/builder/osc/bsusurrogate"
|
||||
oscbsuvolumebuilder "github.com/hashicorp/packer/builder/osc/bsuvolume"
|
||||
oscchrootbuilder "github.com/hashicorp/packer/builder/osc/chroot"
|
||||
parallelsisobuilder "github.com/hashicorp/packer/builder/parallels/iso"
|
||||
parallelspvmbuilder "github.com/hashicorp/packer/builder/parallels/pvm"
|
||||
profitbricksbuilder "github.com/hashicorp/packer/builder/profitbricks"
|
||||
|
@ -101,10 +97,6 @@ var Builders = map[string]packersdk.Builder{
|
|||
"openstack": new(openstackbuilder.Builder),
|
||||
"oracle-classic": new(oracleclassicbuilder.Builder),
|
||||
"oracle-oci": new(oracleocibuilder.Builder),
|
||||
"osc-bsu": new(oscbsubuilder.Builder),
|
||||
"osc-bsusurrogate": new(oscbsusurrogatebuilder.Builder),
|
||||
"osc-bsuvolume": new(oscbsuvolumebuilder.Builder),
|
||||
"osc-chroot": new(oscchrootbuilder.Builder),
|
||||
"parallels-iso": new(parallelsisobuilder.Builder),
|
||||
"parallels-pvm": new(parallelspvmbuilder.Builder),
|
||||
"profitbricks": new(profitbricksbuilder.Builder),
|
||||
|
|
|
@ -26,6 +26,10 @@ import (
|
|||
googlecomputeexportpostprocessor "github.com/hashicorp/packer-plugin-googlecompute/post-processor/googlecompute-export"
|
||||
googlecomputeimportpostprocessor "github.com/hashicorp/packer-plugin-googlecompute/post-processor/googlecompute-import"
|
||||
ncloudbuilder "github.com/hashicorp/packer-plugin-ncloud/builder/ncloud"
|
||||
oscbsubuilder "github.com/hashicorp/packer-plugin-outscale/builder/osc/bsu"
|
||||
oscbsusurrogatebuilder "github.com/hashicorp/packer-plugin-outscale/builder/osc/bsusurrogate"
|
||||
oscbsuvolumebuilder "github.com/hashicorp/packer-plugin-outscale/builder/osc/bsuvolume"
|
||||
oscchrootbuilder "github.com/hashicorp/packer-plugin-outscale/builder/osc/chroot"
|
||||
proxmoxclone "github.com/hashicorp/packer-plugin-proxmox/builder/proxmox/clone"
|
||||
proxmoxiso "github.com/hashicorp/packer-plugin-proxmox/builder/proxmox/iso"
|
||||
qemubuilder "github.com/hashicorp/packer-plugin-qemu/builder/qemu"
|
||||
|
@ -69,6 +73,10 @@ var VendoredBuilders = map[string]packersdk.Builder{
|
|||
"virtualbox-vm": new(virtualboxvmbuilder.Builder),
|
||||
"vmware-iso": new(vmwareisobuilder.Builder),
|
||||
"vmware-vmx": new(vmwarevmxbuilder.Builder),
|
||||
"osc-bsu": new(oscbsubuilder.Builder),
|
||||
"osc-bsusurrogate": new(oscbsusurrogatebuilder.Builder),
|
||||
"osc-bsuvolume": new(oscbsuvolumebuilder.Builder),
|
||||
"osc-chroot": new(oscchrootbuilder.Builder),
|
||||
}
|
||||
|
||||
// VendoredProvisioners are provisioner components that were once bundled with the
|
||||
|
|
8
go.mod
8
go.mod
|
@ -12,9 +12,8 @@ require (
|
|||
github.com/ChrisTrenkamp/goxpath v0.0.0-20170922090931-c385f95c6022
|
||||
github.com/aliyun/alibaba-cloud-sdk-go v0.0.0-20190418113227-25233c783f4e
|
||||
github.com/aliyun/aliyun-oss-go-sdk v0.0.0-20170113022742-e6dbea820a9f
|
||||
github.com/antihax/optional v1.0.0
|
||||
github.com/approvals/go-approval-tests v0.0.0-20160714161514-ad96e53bea43
|
||||
github.com/aws/aws-sdk-go v1.38.0
|
||||
github.com/aws/aws-sdk-go v1.38.22
|
||||
github.com/biogo/hts v0.0.0-20160420073057-50da7d4131a3
|
||||
github.com/c2h5oh/datasize v0.0.0-20200112174442-28bbd4740fee
|
||||
github.com/cheggaaa/pb v1.0.27
|
||||
|
@ -48,7 +47,8 @@ require (
|
|||
github.com/hashicorp/packer-plugin-docker v0.0.7
|
||||
github.com/hashicorp/packer-plugin-googlecompute v0.0.1
|
||||
github.com/hashicorp/packer-plugin-ncloud v0.0.2
|
||||
github.com/hashicorp/packer-plugin-proxmox v0.0.1
|
||||
github.com/hashicorp/packer-plugin-outscale v0.0.1
|
||||
github.com/hashicorp/packer-plugin-proxmox v0.0.2
|
||||
github.com/hashicorp/packer-plugin-qemu v0.0.1
|
||||
github.com/hashicorp/packer-plugin-sdk v0.2.0
|
||||
github.com/hashicorp/packer-plugin-virtualbox v0.0.1
|
||||
|
@ -69,7 +69,6 @@ require (
|
|||
github.com/mitchellh/prefixedio v0.0.0-20151214002211-6e6954073784
|
||||
github.com/mitchellh/reflectwalk v1.0.0
|
||||
github.com/oracle/oci-go-sdk/v36 v36.2.0
|
||||
github.com/outscale/osc-sdk-go/osc v0.0.0-20200722135656-d654809d0699
|
||||
github.com/pierrec/lz4 v2.0.5+incompatible
|
||||
github.com/pkg/errors v0.9.1
|
||||
github.com/posener/complete v1.2.3
|
||||
|
@ -91,7 +90,6 @@ require (
|
|||
golang.org/x/net v0.0.0-20210415231046-e915ea6b2b7d
|
||||
golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84
|
||||
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c
|
||||
golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44
|
||||
golang.org/x/tools v0.1.0
|
||||
google.golang.org/grpc v1.36.1
|
||||
)
|
||||
|
|
15
go.sum
15
go.sum
|
@ -132,8 +132,9 @@ github.com/aws/aws-sdk-go v1.30.8/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU
|
|||
github.com/aws/aws-sdk-go v1.31.9/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0=
|
||||
github.com/aws/aws-sdk-go v1.36.0/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro=
|
||||
github.com/aws/aws-sdk-go v1.36.5/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro=
|
||||
github.com/aws/aws-sdk-go v1.38.0 h1:mqnmtdW8rGIQmp2d0WRFLua0zW0Pel0P6/vd3gJuViY=
|
||||
github.com/aws/aws-sdk-go v1.38.0/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro=
|
||||
github.com/aws/aws-sdk-go v1.38.22 h1:hJwaMazDt7EP4Rz/T4RQmdchWWv+YB3+/i6AOUWjVL0=
|
||||
github.com/aws/aws-sdk-go v1.38.22/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro=
|
||||
github.com/aws/aws-sdk-go-v2 v1.2.1 h1:055XAi+MtmhyYX161p+jWRibkCb9YpI2ymXZiW1dwVY=
|
||||
github.com/aws/aws-sdk-go-v2 v1.2.1/go.mod h1:hTQc/9pYq5bfFACIUY9tc/2SYWd9Vnmw+testmuQeRY=
|
||||
github.com/aws/aws-sdk-go-v2/config v1.1.2 h1:H2r6cwMvvINFpEC55Y7jcNaR/oc7zYIChrG2497wmBI=
|
||||
|
@ -465,8 +466,10 @@ github.com/hashicorp/packer-plugin-googlecompute v0.0.1 h1:Shjio88MraB+ocj0VI5+M
|
|||
github.com/hashicorp/packer-plugin-googlecompute v0.0.1/go.mod h1:MfV898IrEMpKH6wVnvOI5Tkhxm2snf3QxwVqV4k3bNI=
|
||||
github.com/hashicorp/packer-plugin-ncloud v0.0.2 h1:MGvGkOVfzeosqOSs5dteghLwv9VRcRxTuLoLX1ssUag=
|
||||
github.com/hashicorp/packer-plugin-ncloud v0.0.2/go.mod h1:Hud2R1pkky96TQy3TPTTrr9Kej4b/4dqC/v+uEE0VDY=
|
||||
github.com/hashicorp/packer-plugin-proxmox v0.0.1 h1:nwfQtfcfV4Gx4aiX1OQD/FoZvWCt2L4qaRYY7zTJ8L0=
|
||||
github.com/hashicorp/packer-plugin-proxmox v0.0.1/go.mod h1:3URutEWX1yy10qcHNJncS4OMpZknA1FyvlrfL+5usYk=
|
||||
github.com/hashicorp/packer-plugin-outscale v0.0.1 h1:BrL8hKypNYrvP3NR+d+xX03SZKB08yTgXPRnH9piUI8=
|
||||
github.com/hashicorp/packer-plugin-outscale v0.0.1/go.mod h1:6jEWfJO7TgAbaL3e+St1bN5PoIC/MmDIsYqNUzAHF1w=
|
||||
github.com/hashicorp/packer-plugin-proxmox v0.0.2 h1:x6QW7PeKh+IJymPEt3QdpBhSRi5vqXb8qTWv7rMLuns=
|
||||
github.com/hashicorp/packer-plugin-proxmox v0.0.2/go.mod h1:3URutEWX1yy10qcHNJncS4OMpZknA1FyvlrfL+5usYk=
|
||||
github.com/hashicorp/packer-plugin-qemu v0.0.1 h1:yGnmWf4Z+ZmOJXJF6w23V2KChtTCiPHsFnfg7+LRu74=
|
||||
github.com/hashicorp/packer-plugin-qemu v0.0.1/go.mod h1:8Q/LCjO7oplLcLe1KLdEt7rq94h42Di6Lab2DTLNwVg=
|
||||
github.com/hashicorp/packer-plugin-sdk v0.0.6/go.mod h1:Nvh28f+Jmpp2rcaN79bULTouNkGNDRfHckhHKTAXtyU=
|
||||
|
@ -647,8 +650,9 @@ github.com/oracle/oci-go-sdk v18.0.0+incompatible h1:FLV4KixsVfF3rwyVTMI6Ryp/Q+O
|
|||
github.com/oracle/oci-go-sdk v18.0.0+incompatible/go.mod h1:VQb79nF8Z2cwLkLS35ukwStZIg5F66tcBccjip/j888=
|
||||
github.com/oracle/oci-go-sdk/v36 v36.2.0 h1:oBaN/FnBDy3ohMyVZ/rKfekYxnyksG2KK0YAhT5HSnk=
|
||||
github.com/oracle/oci-go-sdk/v36 v36.2.0/go.mod h1:t8Y/M3Lh8X4BOJhtThJKe1skRTg7qom7oWyHiNjo4RM=
|
||||
github.com/outscale/osc-sdk-go/osc v0.0.0-20200722135656-d654809d0699 h1:SHe9i7h5cHe+cB77fQ6lsEgIwKg3ckNU90P03CjGMnI=
|
||||
github.com/outscale/osc-sdk-go/osc v0.0.0-20200722135656-d654809d0699/go.mod h1:5AqqNH1X8zCHescKVlpSHRzrat1KCKDXqZoQPe8fY3A=
|
||||
github.com/outscale/osc-sdk-go/osc v0.0.0-20210317154930-f27e09c295b2 h1:gmvYTtBR5+erBu7PrPywmQhTSBN0b+PULYCB4rGjJUE=
|
||||
github.com/outscale/osc-sdk-go/osc v0.0.0-20210317154930-f27e09c295b2/go.mod h1:5AqqNH1X8zCHescKVlpSHRzrat1KCKDXqZoQPe8fY3A=
|
||||
github.com/packer-community/winrmcp v0.0.0-20180921204643-0fd363d6159a h1:A3QMuteviunoaY/8ex+RKFqwhcZJ/Cf3fCW3IwL2wx4=
|
||||
github.com/packer-community/winrmcp v0.0.0-20180921204643-0fd363d6159a/go.mod h1:f6Izs6JvFTdnRbziASagjZ2vmf55NSIkC/weStxCHqk=
|
||||
github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc=
|
||||
|
@ -958,8 +962,9 @@ golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7w
|
|||
golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210319071255-635bc2c9138d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44 h1:Bli41pIlzTzf3KEY06n+xnzK/BESIg2ze4Pgfh/aI8c=
|
||||
golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210420072515-93ed5bcd2bfe h1:WdX7u8s3yOigWAhHEaDl8r9G+4XwFQEQFtBMYyN+kXQ=
|
||||
golang.org/x/sys v0.0.0-20210420072515-93ed5bcd2bfe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
|
||||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1 h1:v+OssWQX+hTHEmOBgwxdZxK4zHq3yOs8F9J7mk0PY8E=
|
||||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
||||
|
|
|
@ -744,6 +744,7 @@ var awsPartition = partition{
|
|||
"ap-northeast-1": endpoint{},
|
||||
"ap-southeast-1": endpoint{},
|
||||
"ap-southeast-2": endpoint{},
|
||||
"ca-central-1": endpoint{},
|
||||
"eu-central-1": endpoint{},
|
||||
"eu-west-2": endpoint{},
|
||||
"us-east-1": endpoint{},
|
||||
|
@ -983,6 +984,7 @@ var awsPartition = partition{
|
|||
"ap-east-1": endpoint{},
|
||||
"ap-northeast-1": endpoint{},
|
||||
"ap-northeast-2": endpoint{},
|
||||
"ap-northeast-3": endpoint{},
|
||||
"ap-south-1": endpoint{},
|
||||
"ap-southeast-1": endpoint{},
|
||||
"ap-southeast-2": endpoint{},
|
||||
|
@ -1312,7 +1314,10 @@ var awsPartition = partition{
|
|||
"ap-southeast-2": endpoint{},
|
||||
"eu-central-1": endpoint{},
|
||||
"eu-north-1": endpoint{},
|
||||
"eu-south-1": endpoint{},
|
||||
"eu-west-1": endpoint{},
|
||||
"eu-west-2": endpoint{},
|
||||
"eu-west-3": endpoint{},
|
||||
"us-east-1": endpoint{},
|
||||
"us-east-2": endpoint{},
|
||||
"us-west-2": endpoint{},
|
||||
|
@ -1373,6 +1378,7 @@ var awsPartition = partition{
|
|||
"ap-east-1": endpoint{},
|
||||
"ap-northeast-1": endpoint{},
|
||||
"ap-northeast-2": endpoint{},
|
||||
"ap-northeast-3": endpoint{},
|
||||
"ap-south-1": endpoint{},
|
||||
"ap-southeast-1": endpoint{},
|
||||
"ap-southeast-2": endpoint{},
|
||||
|
@ -1777,6 +1783,7 @@ var awsPartition = partition{
|
|||
"ap-northeast-1": endpoint{},
|
||||
"ap-southeast-1": endpoint{},
|
||||
"ap-southeast-2": endpoint{},
|
||||
"ca-central-1": endpoint{},
|
||||
"eu-central-1": endpoint{},
|
||||
"eu-west-2": endpoint{},
|
||||
"us-east-1": endpoint{},
|
||||
|
@ -1788,6 +1795,7 @@ var awsPartition = partition{
|
|||
Endpoints: endpoints{
|
||||
"ap-northeast-1": endpoint{},
|
||||
"ap-southeast-2": endpoint{},
|
||||
"ca-central-1": endpoint{},
|
||||
"eu-central-1": endpoint{},
|
||||
"eu-west-2": endpoint{},
|
||||
"us-east-1": endpoint{},
|
||||
|
@ -3211,6 +3219,8 @@ var awsPartition = partition{
|
|||
"gamelift": service{
|
||||
|
||||
Endpoints: endpoints{
|
||||
"af-south-1": endpoint{},
|
||||
"ap-east-1": endpoint{},
|
||||
"ap-northeast-1": endpoint{},
|
||||
"ap-northeast-2": endpoint{},
|
||||
"ap-south-1": endpoint{},
|
||||
|
@ -3218,8 +3228,12 @@ var awsPartition = partition{
|
|||
"ap-southeast-2": endpoint{},
|
||||
"ca-central-1": endpoint{},
|
||||
"eu-central-1": endpoint{},
|
||||
"eu-north-1": endpoint{},
|
||||
"eu-south-1": endpoint{},
|
||||
"eu-west-1": endpoint{},
|
||||
"eu-west-2": endpoint{},
|
||||
"eu-west-3": endpoint{},
|
||||
"me-south-1": endpoint{},
|
||||
"sa-east-1": endpoint{},
|
||||
"us-east-1": endpoint{},
|
||||
"us-east-2": endpoint{},
|
||||
|
@ -3359,8 +3373,15 @@ var awsPartition = partition{
|
|||
Endpoints: endpoints{
|
||||
"af-south-1": endpoint{},
|
||||
"ap-southeast-2": endpoint{},
|
||||
"eu-central-1": endpoint{},
|
||||
"eu-north-1": endpoint{},
|
||||
"eu-west-1": endpoint{},
|
||||
"fips-us-east-1": endpoint{
|
||||
Hostname: "groundstation-fips.us-east-1.amazonaws.com",
|
||||
CredentialScope: credentialScope{
|
||||
Region: "us-east-1",
|
||||
},
|
||||
},
|
||||
"fips-us-east-2": endpoint{
|
||||
Hostname: "groundstation-fips.us-east-2.amazonaws.com",
|
||||
CredentialScope: credentialScope{
|
||||
|
@ -3374,6 +3395,7 @@ var awsPartition = partition{
|
|||
},
|
||||
},
|
||||
"me-south-1": endpoint{},
|
||||
"us-east-1": endpoint{},
|
||||
"us-east-2": endpoint{},
|
||||
"us-west-2": endpoint{},
|
||||
},
|
||||
|
@ -3388,6 +3410,7 @@ var awsPartition = partition{
|
|||
"ap-east-1": endpoint{},
|
||||
"ap-northeast-1": endpoint{},
|
||||
"ap-northeast-2": endpoint{},
|
||||
"ap-northeast-3": endpoint{},
|
||||
"ap-south-1": endpoint{},
|
||||
"ap-southeast-1": endpoint{},
|
||||
"ap-southeast-2": endpoint{},
|
||||
|
@ -3971,6 +3994,7 @@ var awsPartition = partition{
|
|||
"ap-east-1": endpoint{},
|
||||
"ap-northeast-1": endpoint{},
|
||||
"ap-northeast-2": endpoint{},
|
||||
"ap-northeast-3": endpoint{},
|
||||
"ap-south-1": endpoint{},
|
||||
"ap-southeast-1": endpoint{},
|
||||
"ap-southeast-2": endpoint{},
|
||||
|
@ -4081,6 +4105,14 @@ var awsPartition = partition{
|
|||
"us-west-2": endpoint{},
|
||||
},
|
||||
},
|
||||
"lookoutequipment": service{
|
||||
|
||||
Endpoints: endpoints{
|
||||
"ap-northeast-2": endpoint{},
|
||||
"eu-west-1": endpoint{},
|
||||
"us-east-1": endpoint{},
|
||||
},
|
||||
},
|
||||
"lookoutvision": service{
|
||||
|
||||
Endpoints: endpoints{
|
||||
|
@ -4126,6 +4158,7 @@ var awsPartition = partition{
|
|||
"ap-east-1": endpoint{},
|
||||
"ap-northeast-1": endpoint{},
|
||||
"ap-northeast-2": endpoint{},
|
||||
"ap-northeast-3": endpoint{},
|
||||
"ap-south-1": endpoint{},
|
||||
"ap-southeast-1": endpoint{},
|
||||
"ap-southeast-2": endpoint{},
|
||||
|
@ -4462,6 +4495,7 @@ var awsPartition = partition{
|
|||
"ap-east-1": endpoint{},
|
||||
"ap-northeast-1": endpoint{},
|
||||
"ap-northeast-2": endpoint{},
|
||||
"ap-northeast-3": endpoint{},
|
||||
"ap-south-1": endpoint{},
|
||||
"ap-southeast-1": endpoint{},
|
||||
"ap-southeast-2": endpoint{},
|
||||
|
@ -4818,6 +4852,22 @@ var awsPartition = partition{
|
|||
"us-west-2": endpoint{},
|
||||
},
|
||||
},
|
||||
"personalize": service{
|
||||
|
||||
Endpoints: endpoints{
|
||||
"ap-northeast-1": endpoint{},
|
||||
"ap-northeast-2": endpoint{},
|
||||
"ap-south-1": endpoint{},
|
||||
"ap-southeast-1": endpoint{},
|
||||
"ap-southeast-2": endpoint{},
|
||||
"ca-central-1": endpoint{},
|
||||
"eu-central-1": endpoint{},
|
||||
"eu-west-1": endpoint{},
|
||||
"us-east-1": endpoint{},
|
||||
"us-east-2": endpoint{},
|
||||
"us-west-2": endpoint{},
|
||||
},
|
||||
},
|
||||
"pinpoint": service{
|
||||
Defaults: endpoint{
|
||||
CredentialScope: credentialScope{
|
||||
|
@ -5424,6 +5474,90 @@ var awsPartition = partition{
|
|||
DualStackHostname: "{service}.dualstack.{region}.{dnsSuffix}",
|
||||
},
|
||||
Endpoints: endpoints{
|
||||
"accesspoint-af-south-1": endpoint{
|
||||
Hostname: "s3-accesspoint.af-south-1.amazonaws.com",
|
||||
SignatureVersions: []string{"s3v4"},
|
||||
},
|
||||
"accesspoint-ap-east-1": endpoint{
|
||||
Hostname: "s3-accesspoint.ap-east-1.amazonaws.com",
|
||||
SignatureVersions: []string{"s3v4"},
|
||||
},
|
||||
"accesspoint-ap-northeast-1": endpoint{
|
||||
Hostname: "s3-accesspoint.ap-northeast-1.amazonaws.com",
|
||||
SignatureVersions: []string{"s3v4"},
|
||||
},
|
||||
"accesspoint-ap-northeast-2": endpoint{
|
||||
Hostname: "s3-accesspoint.ap-northeast-2.amazonaws.com",
|
||||
SignatureVersions: []string{"s3v4"},
|
||||
},
|
||||
"accesspoint-ap-northeast-3": endpoint{
|
||||
Hostname: "s3-accesspoint.ap-northeast-3.amazonaws.com",
|
||||
SignatureVersions: []string{"s3v4"},
|
||||
},
|
||||
"accesspoint-ap-south-1": endpoint{
|
||||
Hostname: "s3-accesspoint.ap-south-1.amazonaws.com",
|
||||
SignatureVersions: []string{"s3v4"},
|
||||
},
|
||||
"accesspoint-ap-southeast-1": endpoint{
|
||||
Hostname: "s3-accesspoint.ap-southeast-1.amazonaws.com",
|
||||
SignatureVersions: []string{"s3v4"},
|
||||
},
|
||||
"accesspoint-ap-southeast-2": endpoint{
|
||||
Hostname: "s3-accesspoint.ap-southeast-2.amazonaws.com",
|
||||
SignatureVersions: []string{"s3v4"},
|
||||
},
|
||||
"accesspoint-ca-central-1": endpoint{
|
||||
Hostname: "s3-accesspoint.ca-central-1.amazonaws.com",
|
||||
SignatureVersions: []string{"s3v4"},
|
||||
},
|
||||
"accesspoint-eu-central-1": endpoint{
|
||||
Hostname: "s3-accesspoint.eu-central-1.amazonaws.com",
|
||||
SignatureVersions: []string{"s3v4"},
|
||||
},
|
||||
"accesspoint-eu-north-1": endpoint{
|
||||
Hostname: "s3-accesspoint.eu-north-1.amazonaws.com",
|
||||
SignatureVersions: []string{"s3v4"},
|
||||
},
|
||||
"accesspoint-eu-south-1": endpoint{
|
||||
Hostname: "s3-accesspoint.eu-south-1.amazonaws.com",
|
||||
SignatureVersions: []string{"s3v4"},
|
||||
},
|
||||
"accesspoint-eu-west-1": endpoint{
|
||||
Hostname: "s3-accesspoint.eu-west-1.amazonaws.com",
|
||||
SignatureVersions: []string{"s3v4"},
|
||||
},
|
||||
"accesspoint-eu-west-2": endpoint{
|
||||
Hostname: "s3-accesspoint.eu-west-2.amazonaws.com",
|
||||
SignatureVersions: []string{"s3v4"},
|
||||
},
|
||||
"accesspoint-eu-west-3": endpoint{
|
||||
Hostname: "s3-accesspoint.eu-west-3.amazonaws.com",
|
||||
SignatureVersions: []string{"s3v4"},
|
||||
},
|
||||
"accesspoint-me-south-1": endpoint{
|
||||
Hostname: "s3-accesspoint.me-south-1.amazonaws.com",
|
||||
SignatureVersions: []string{"s3v4"},
|
||||
},
|
||||
"accesspoint-sa-east-1": endpoint{
|
||||
Hostname: "s3-accesspoint.sa-east-1.amazonaws.com",
|
||||
SignatureVersions: []string{"s3v4"},
|
||||
},
|
||||
"accesspoint-us-east-1": endpoint{
|
||||
Hostname: "s3-accesspoint.us-east-1.amazonaws.com",
|
||||
SignatureVersions: []string{"s3v4"},
|
||||
},
|
||||
"accesspoint-us-east-2": endpoint{
|
||||
Hostname: "s3-accesspoint.us-east-2.amazonaws.com",
|
||||
SignatureVersions: []string{"s3v4"},
|
||||
},
|
||||
"accesspoint-us-west-1": endpoint{
|
||||
Hostname: "s3-accesspoint.us-west-1.amazonaws.com",
|
||||
SignatureVersions: []string{"s3v4"},
|
||||
},
|
||||
"accesspoint-us-west-2": endpoint{
|
||||
Hostname: "s3-accesspoint.us-west-2.amazonaws.com",
|
||||
SignatureVersions: []string{"s3v4"},
|
||||
},
|
||||
"af-south-1": endpoint{},
|
||||
"ap-east-1": endpoint{},
|
||||
"ap-northeast-1": endpoint{
|
||||
|
@ -5456,8 +5590,28 @@ var awsPartition = partition{
|
|||
Hostname: "s3.eu-west-1.amazonaws.com",
|
||||
SignatureVersions: []string{"s3", "s3v4"},
|
||||
},
|
||||
"eu-west-2": endpoint{},
|
||||
"eu-west-3": endpoint{},
|
||||
"eu-west-2": endpoint{},
|
||||
"eu-west-3": endpoint{},
|
||||
"fips-accesspoint-ca-central-1": endpoint{
|
||||
Hostname: "s3-accesspoint-fips.ca-central-1.amazonaws.com",
|
||||
SignatureVersions: []string{"s3v4"},
|
||||
},
|
||||
"fips-accesspoint-us-east-1": endpoint{
|
||||
Hostname: "s3-accesspoint-fips.us-east-1.amazonaws.com",
|
||||
SignatureVersions: []string{"s3v4"},
|
||||
},
|
||||
"fips-accesspoint-us-east-2": endpoint{
|
||||
Hostname: "s3-accesspoint-fips.us-east-2.amazonaws.com",
|
||||
SignatureVersions: []string{"s3v4"},
|
||||
},
|
||||
"fips-accesspoint-us-west-1": endpoint{
|
||||
Hostname: "s3-accesspoint-fips.us-west-1.amazonaws.com",
|
||||
SignatureVersions: []string{"s3v4"},
|
||||
},
|
||||
"fips-accesspoint-us-west-2": endpoint{
|
||||
Hostname: "s3-accesspoint-fips.us-west-2.amazonaws.com",
|
||||
SignatureVersions: []string{"s3v4"},
|
||||
},
|
||||
"me-south-1": endpoint{},
|
||||
"s3-external-1": endpoint{
|
||||
Hostname: "s3-external-1.amazonaws.com",
|
||||
|
@ -5760,6 +5914,7 @@ var awsPartition = partition{
|
|||
"ap-east-1": endpoint{},
|
||||
"ap-northeast-1": endpoint{},
|
||||
"ap-northeast-2": endpoint{},
|
||||
"ap-northeast-3": endpoint{},
|
||||
"ap-south-1": endpoint{},
|
||||
"ap-southeast-1": endpoint{},
|
||||
"ap-southeast-2": endpoint{},
|
||||
|
@ -7693,7 +7848,8 @@ var awscnPartition = partition{
|
|||
"lakeformation": service{
|
||||
|
||||
Endpoints: endpoints{
|
||||
"cn-north-1": endpoint{},
|
||||
"cn-north-1": endpoint{},
|
||||
"cn-northwest-1": endpoint{},
|
||||
},
|
||||
},
|
||||
"lambda": service{
|
||||
|
@ -7737,6 +7893,13 @@ var awscnPartition = partition{
|
|||
"cn-northwest-1": endpoint{},
|
||||
},
|
||||
},
|
||||
"mq": service{
|
||||
|
||||
Endpoints: endpoints{
|
||||
"cn-north-1": endpoint{},
|
||||
"cn-northwest-1": endpoint{},
|
||||
},
|
||||
},
|
||||
"neptune": service{
|
||||
|
||||
Endpoints: endpoints{
|
||||
|
@ -7761,6 +7924,12 @@ var awscnPartition = partition{
|
|||
},
|
||||
},
|
||||
},
|
||||
"personalize": service{
|
||||
|
||||
Endpoints: endpoints{
|
||||
"cn-north-1": endpoint{},
|
||||
},
|
||||
},
|
||||
"polly": service{
|
||||
|
||||
Endpoints: endpoints{
|
||||
|
@ -7824,6 +7993,14 @@ var awscnPartition = partition{
|
|||
DualStackHostname: "{service}.dualstack.{region}.{dnsSuffix}",
|
||||
},
|
||||
Endpoints: endpoints{
|
||||
"accesspoint-cn-north-1": endpoint{
|
||||
Hostname: "s3-accesspoint.cn-north-1.amazonaws.com.cn",
|
||||
SignatureVersions: []string{"s3v4"},
|
||||
},
|
||||
"accesspoint-cn-northwest-1": endpoint{
|
||||
Hostname: "s3-accesspoint.cn-northwest-1.amazonaws.com.cn",
|
||||
SignatureVersions: []string{"s3v4"},
|
||||
},
|
||||
"cn-north-1": endpoint{},
|
||||
"cn-northwest-1": endpoint{},
|
||||
},
|
||||
|
@ -8117,6 +8294,27 @@ var awsusgovPartition = partition{
|
|||
"us-gov-west-1": endpoint{},
|
||||
},
|
||||
},
|
||||
"api.detective": service{
|
||||
Defaults: endpoint{
|
||||
Protocols: []string{"https"},
|
||||
},
|
||||
Endpoints: endpoints{
|
||||
"us-gov-east-1": endpoint{},
|
||||
"us-gov-east-1-fips": endpoint{
|
||||
Hostname: "api.detective-fips.us-gov-east-1.amazonaws.com",
|
||||
CredentialScope: credentialScope{
|
||||
Region: "us-gov-east-1",
|
||||
},
|
||||
},
|
||||
"us-gov-west-1": endpoint{},
|
||||
"us-gov-west-1-fips": endpoint{
|
||||
Hostname: "api.detective-fips.us-gov-west-1.amazonaws.com",
|
||||
CredentialScope: credentialScope{
|
||||
Region: "us-gov-west-1",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
"api.ecr": service{
|
||||
|
||||
Endpoints: endpoints{
|
||||
|
@ -8806,6 +9004,27 @@ var awsusgovPartition = partition{
|
|||
"us-gov-west-1": endpoint{},
|
||||
},
|
||||
},
|
||||
"fms": service{
|
||||
Defaults: endpoint{
|
||||
Protocols: []string{"https"},
|
||||
},
|
||||
Endpoints: endpoints{
|
||||
"fips-us-gov-east-1": endpoint{
|
||||
Hostname: "fms-fips.us-gov-east-1.amazonaws.com",
|
||||
CredentialScope: credentialScope{
|
||||
Region: "us-gov-east-1",
|
||||
},
|
||||
},
|
||||
"fips-us-gov-west-1": endpoint{
|
||||
Hostname: "fms-fips.us-gov-west-1.amazonaws.com",
|
||||
CredentialScope: credentialScope{
|
||||
Region: "us-gov-west-1",
|
||||
},
|
||||
},
|
||||
"us-gov-east-1": endpoint{},
|
||||
"us-gov-west-1": endpoint{},
|
||||
},
|
||||
},
|
||||
"fsx": service{
|
||||
|
||||
Endpoints: endpoints{
|
||||
|
@ -9389,6 +9608,22 @@ var awsusgovPartition = partition{
|
|||
DualStackHostname: "{service}.dualstack.{region}.{dnsSuffix}",
|
||||
},
|
||||
Endpoints: endpoints{
|
||||
"accesspoint-us-gov-east-1": endpoint{
|
||||
Hostname: "s3-accesspoint.us-gov-east-1.amazonaws.com",
|
||||
SignatureVersions: []string{"s3v4"},
|
||||
},
|
||||
"accesspoint-us-gov-west-1": endpoint{
|
||||
Hostname: "s3-accesspoint.us-gov-west-1.amazonaws.com",
|
||||
SignatureVersions: []string{"s3v4"},
|
||||
},
|
||||
"fips-accesspoint-us-gov-east-1": endpoint{
|
||||
Hostname: "s3-accesspoint-fips.us-gov-east-1.amazonaws.com",
|
||||
SignatureVersions: []string{"s3v4"},
|
||||
},
|
||||
"fips-accesspoint-us-gov-west-1": endpoint{
|
||||
Hostname: "s3-accesspoint-fips.us-gov-west-1.amazonaws.com",
|
||||
SignatureVersions: []string{"s3v4"},
|
||||
},
|
||||
"fips-us-gov-west-1": endpoint{
|
||||
Hostname: "s3-fips.us-gov-west-1.amazonaws.com",
|
||||
CredentialScope: credentialScope{
|
||||
|
@ -9522,6 +9757,27 @@ var awsusgovPartition = partition{
|
|||
},
|
||||
},
|
||||
},
|
||||
"servicequotas": service{
|
||||
Defaults: endpoint{
|
||||
Protocols: []string{"https"},
|
||||
},
|
||||
Endpoints: endpoints{
|
||||
"fips-us-gov-east-1": endpoint{
|
||||
Hostname: "servicequotas.us-gov-east-1.amazonaws.com",
|
||||
CredentialScope: credentialScope{
|
||||
Region: "us-gov-east-1",
|
||||
},
|
||||
},
|
||||
"fips-us-gov-west-1": endpoint{
|
||||
Hostname: "servicequotas.us-gov-west-1.amazonaws.com",
|
||||
CredentialScope: credentialScope{
|
||||
Region: "us-gov-west-1",
|
||||
},
|
||||
},
|
||||
"us-gov-east-1": endpoint{},
|
||||
"us-gov-west-1": endpoint{},
|
||||
},
|
||||
},
|
||||
"sms": service{
|
||||
|
||||
Endpoints: endpoints{
|
||||
|
@ -10041,6 +10297,12 @@ var awsisoPartition = partition{
|
|||
"us-iso-east-1": endpoint{},
|
||||
},
|
||||
},
|
||||
"firehose": service{
|
||||
|
||||
Endpoints: endpoints{
|
||||
"us-iso-east-1": endpoint{},
|
||||
},
|
||||
},
|
||||
"glacier": service{
|
||||
|
||||
Endpoints: endpoints{
|
||||
|
|
|
@ -5,4 +5,4 @@ package aws
|
|||
const SDKName = "aws-sdk-go"
|
||||
|
||||
// SDKVersion is the version of this SDK
|
||||
const SDKVersion = "1.38.0"
|
||||
const SDKVersion = "1.38.22"
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -344,10 +344,18 @@ type EC2API interface {
|
|||
CreatePlacementGroupWithContext(aws.Context, *ec2.CreatePlacementGroupInput, ...request.Option) (*ec2.CreatePlacementGroupOutput, error)
|
||||
CreatePlacementGroupRequest(*ec2.CreatePlacementGroupInput) (*request.Request, *ec2.CreatePlacementGroupOutput)
|
||||
|
||||
CreateReplaceRootVolumeTask(*ec2.CreateReplaceRootVolumeTaskInput) (*ec2.CreateReplaceRootVolumeTaskOutput, error)
|
||||
CreateReplaceRootVolumeTaskWithContext(aws.Context, *ec2.CreateReplaceRootVolumeTaskInput, ...request.Option) (*ec2.CreateReplaceRootVolumeTaskOutput, error)
|
||||
CreateReplaceRootVolumeTaskRequest(*ec2.CreateReplaceRootVolumeTaskInput) (*request.Request, *ec2.CreateReplaceRootVolumeTaskOutput)
|
||||
|
||||
CreateReservedInstancesListing(*ec2.CreateReservedInstancesListingInput) (*ec2.CreateReservedInstancesListingOutput, error)
|
||||
CreateReservedInstancesListingWithContext(aws.Context, *ec2.CreateReservedInstancesListingInput, ...request.Option) (*ec2.CreateReservedInstancesListingOutput, error)
|
||||
CreateReservedInstancesListingRequest(*ec2.CreateReservedInstancesListingInput) (*request.Request, *ec2.CreateReservedInstancesListingOutput)
|
||||
|
||||
CreateRestoreImageTask(*ec2.CreateRestoreImageTaskInput) (*ec2.CreateRestoreImageTaskOutput, error)
|
||||
CreateRestoreImageTaskWithContext(aws.Context, *ec2.CreateRestoreImageTaskInput, ...request.Option) (*ec2.CreateRestoreImageTaskOutput, error)
|
||||
CreateRestoreImageTaskRequest(*ec2.CreateRestoreImageTaskInput) (*request.Request, *ec2.CreateRestoreImageTaskOutput)
|
||||
|
||||
CreateRoute(*ec2.CreateRouteInput) (*ec2.CreateRouteOutput, error)
|
||||
CreateRouteWithContext(aws.Context, *ec2.CreateRouteInput, ...request.Option) (*ec2.CreateRouteOutput, error)
|
||||
CreateRouteRequest(*ec2.CreateRouteInput) (*request.Request, *ec2.CreateRouteOutput)
|
||||
|
@ -372,6 +380,10 @@ type EC2API interface {
|
|||
CreateSpotDatafeedSubscriptionWithContext(aws.Context, *ec2.CreateSpotDatafeedSubscriptionInput, ...request.Option) (*ec2.CreateSpotDatafeedSubscriptionOutput, error)
|
||||
CreateSpotDatafeedSubscriptionRequest(*ec2.CreateSpotDatafeedSubscriptionInput) (*request.Request, *ec2.CreateSpotDatafeedSubscriptionOutput)
|
||||
|
||||
CreateStoreImageTask(*ec2.CreateStoreImageTaskInput) (*ec2.CreateStoreImageTaskOutput, error)
|
||||
CreateStoreImageTaskWithContext(aws.Context, *ec2.CreateStoreImageTaskInput, ...request.Option) (*ec2.CreateStoreImageTaskOutput, error)
|
||||
CreateStoreImageTaskRequest(*ec2.CreateStoreImageTaskInput) (*request.Request, *ec2.CreateStoreImageTaskOutput)
|
||||
|
||||
CreateSubnet(*ec2.CreateSubnetInput) (*ec2.CreateSubnetOutput, error)
|
||||
CreateSubnetWithContext(aws.Context, *ec2.CreateSubnetInput, ...request.Option) (*ec2.CreateSubnetOutput, error)
|
||||
CreateSubnetRequest(*ec2.CreateSubnetInput) (*request.Request, *ec2.CreateSubnetOutput)
|
||||
|
@ -1142,6 +1154,13 @@ type EC2API interface {
|
|||
DescribeRegionsWithContext(aws.Context, *ec2.DescribeRegionsInput, ...request.Option) (*ec2.DescribeRegionsOutput, error)
|
||||
DescribeRegionsRequest(*ec2.DescribeRegionsInput) (*request.Request, *ec2.DescribeRegionsOutput)
|
||||
|
||||
DescribeReplaceRootVolumeTasks(*ec2.DescribeReplaceRootVolumeTasksInput) (*ec2.DescribeReplaceRootVolumeTasksOutput, error)
|
||||
DescribeReplaceRootVolumeTasksWithContext(aws.Context, *ec2.DescribeReplaceRootVolumeTasksInput, ...request.Option) (*ec2.DescribeReplaceRootVolumeTasksOutput, error)
|
||||
DescribeReplaceRootVolumeTasksRequest(*ec2.DescribeReplaceRootVolumeTasksInput) (*request.Request, *ec2.DescribeReplaceRootVolumeTasksOutput)
|
||||
|
||||
DescribeReplaceRootVolumeTasksPages(*ec2.DescribeReplaceRootVolumeTasksInput, func(*ec2.DescribeReplaceRootVolumeTasksOutput, bool) bool) error
|
||||
DescribeReplaceRootVolumeTasksPagesWithContext(aws.Context, *ec2.DescribeReplaceRootVolumeTasksInput, func(*ec2.DescribeReplaceRootVolumeTasksOutput, bool) bool, ...request.Option) error
|
||||
|
||||
DescribeReservedInstances(*ec2.DescribeReservedInstancesInput) (*ec2.DescribeReservedInstancesOutput, error)
|
||||
DescribeReservedInstancesWithContext(aws.Context, *ec2.DescribeReservedInstancesInput, ...request.Option) (*ec2.DescribeReservedInstancesOutput, error)
|
||||
DescribeReservedInstancesRequest(*ec2.DescribeReservedInstancesInput) (*request.Request, *ec2.DescribeReservedInstancesOutput)
|
||||
|
@ -1247,6 +1266,13 @@ type EC2API interface {
|
|||
DescribeStaleSecurityGroupsPages(*ec2.DescribeStaleSecurityGroupsInput, func(*ec2.DescribeStaleSecurityGroupsOutput, bool) bool) error
|
||||
DescribeStaleSecurityGroupsPagesWithContext(aws.Context, *ec2.DescribeStaleSecurityGroupsInput, func(*ec2.DescribeStaleSecurityGroupsOutput, bool) bool, ...request.Option) error
|
||||
|
||||
DescribeStoreImageTasks(*ec2.DescribeStoreImageTasksInput) (*ec2.DescribeStoreImageTasksOutput, error)
|
||||
DescribeStoreImageTasksWithContext(aws.Context, *ec2.DescribeStoreImageTasksInput, ...request.Option) (*ec2.DescribeStoreImageTasksOutput, error)
|
||||
DescribeStoreImageTasksRequest(*ec2.DescribeStoreImageTasksInput) (*request.Request, *ec2.DescribeStoreImageTasksOutput)
|
||||
|
||||
DescribeStoreImageTasksPages(*ec2.DescribeStoreImageTasksInput, func(*ec2.DescribeStoreImageTasksOutput, bool) bool) error
|
||||
DescribeStoreImageTasksPagesWithContext(aws.Context, *ec2.DescribeStoreImageTasksInput, func(*ec2.DescribeStoreImageTasksOutput, bool) bool, ...request.Option) error
|
||||
|
||||
DescribeSubnets(*ec2.DescribeSubnetsInput) (*ec2.DescribeSubnetsOutput, error)
|
||||
DescribeSubnetsWithContext(aws.Context, *ec2.DescribeSubnetsInput, ...request.Option) (*ec2.DescribeSubnetsOutput, error)
|
||||
DescribeSubnetsRequest(*ec2.DescribeSubnetsInput) (*request.Request, *ec2.DescribeSubnetsOutput)
|
||||
|
@ -1467,6 +1493,10 @@ type EC2API interface {
|
|||
DisableFastSnapshotRestoresWithContext(aws.Context, *ec2.DisableFastSnapshotRestoresInput, ...request.Option) (*ec2.DisableFastSnapshotRestoresOutput, error)
|
||||
DisableFastSnapshotRestoresRequest(*ec2.DisableFastSnapshotRestoresInput) (*request.Request, *ec2.DisableFastSnapshotRestoresOutput)
|
||||
|
||||
DisableSerialConsoleAccess(*ec2.DisableSerialConsoleAccessInput) (*ec2.DisableSerialConsoleAccessOutput, error)
|
||||
DisableSerialConsoleAccessWithContext(aws.Context, *ec2.DisableSerialConsoleAccessInput, ...request.Option) (*ec2.DisableSerialConsoleAccessOutput, error)
|
||||
DisableSerialConsoleAccessRequest(*ec2.DisableSerialConsoleAccessInput) (*request.Request, *ec2.DisableSerialConsoleAccessOutput)
|
||||
|
||||
DisableTransitGatewayRouteTablePropagation(*ec2.DisableTransitGatewayRouteTablePropagationInput) (*ec2.DisableTransitGatewayRouteTablePropagationOutput, error)
|
||||
DisableTransitGatewayRouteTablePropagationWithContext(aws.Context, *ec2.DisableTransitGatewayRouteTablePropagationInput, ...request.Option) (*ec2.DisableTransitGatewayRouteTablePropagationOutput, error)
|
||||
DisableTransitGatewayRouteTablePropagationRequest(*ec2.DisableTransitGatewayRouteTablePropagationInput) (*request.Request, *ec2.DisableTransitGatewayRouteTablePropagationOutput)
|
||||
|
@ -1527,6 +1557,10 @@ type EC2API interface {
|
|||
EnableFastSnapshotRestoresWithContext(aws.Context, *ec2.EnableFastSnapshotRestoresInput, ...request.Option) (*ec2.EnableFastSnapshotRestoresOutput, error)
|
||||
EnableFastSnapshotRestoresRequest(*ec2.EnableFastSnapshotRestoresInput) (*request.Request, *ec2.EnableFastSnapshotRestoresOutput)
|
||||
|
||||
EnableSerialConsoleAccess(*ec2.EnableSerialConsoleAccessInput) (*ec2.EnableSerialConsoleAccessOutput, error)
|
||||
EnableSerialConsoleAccessWithContext(aws.Context, *ec2.EnableSerialConsoleAccessInput, ...request.Option) (*ec2.EnableSerialConsoleAccessOutput, error)
|
||||
EnableSerialConsoleAccessRequest(*ec2.EnableSerialConsoleAccessInput) (*request.Request, *ec2.EnableSerialConsoleAccessOutput)
|
||||
|
||||
EnableTransitGatewayRouteTablePropagation(*ec2.EnableTransitGatewayRouteTablePropagationInput) (*ec2.EnableTransitGatewayRouteTablePropagationOutput, error)
|
||||
EnableTransitGatewayRouteTablePropagationWithContext(aws.Context, *ec2.EnableTransitGatewayRouteTablePropagationInput, ...request.Option) (*ec2.EnableTransitGatewayRouteTablePropagationOutput, error)
|
||||
EnableTransitGatewayRouteTablePropagationRequest(*ec2.EnableTransitGatewayRouteTablePropagationInput) (*request.Request, *ec2.EnableTransitGatewayRouteTablePropagationOutput)
|
||||
|
@ -1602,6 +1636,10 @@ type EC2API interface {
|
|||
GetEbsEncryptionByDefaultWithContext(aws.Context, *ec2.GetEbsEncryptionByDefaultInput, ...request.Option) (*ec2.GetEbsEncryptionByDefaultOutput, error)
|
||||
GetEbsEncryptionByDefaultRequest(*ec2.GetEbsEncryptionByDefaultInput) (*request.Request, *ec2.GetEbsEncryptionByDefaultOutput)
|
||||
|
||||
GetFlowLogsIntegrationTemplate(*ec2.GetFlowLogsIntegrationTemplateInput) (*ec2.GetFlowLogsIntegrationTemplateOutput, error)
|
||||
GetFlowLogsIntegrationTemplateWithContext(aws.Context, *ec2.GetFlowLogsIntegrationTemplateInput, ...request.Option) (*ec2.GetFlowLogsIntegrationTemplateOutput, error)
|
||||
GetFlowLogsIntegrationTemplateRequest(*ec2.GetFlowLogsIntegrationTemplateInput) (*request.Request, *ec2.GetFlowLogsIntegrationTemplateOutput)
|
||||
|
||||
GetGroupsForCapacityReservation(*ec2.GetGroupsForCapacityReservationInput) (*ec2.GetGroupsForCapacityReservationOutput, error)
|
||||
GetGroupsForCapacityReservationWithContext(aws.Context, *ec2.GetGroupsForCapacityReservationInput, ...request.Option) (*ec2.GetGroupsForCapacityReservationOutput, error)
|
||||
GetGroupsForCapacityReservationRequest(*ec2.GetGroupsForCapacityReservationInput) (*request.Request, *ec2.GetGroupsForCapacityReservationOutput)
|
||||
|
@ -1639,6 +1677,10 @@ type EC2API interface {
|
|||
GetReservedInstancesExchangeQuoteWithContext(aws.Context, *ec2.GetReservedInstancesExchangeQuoteInput, ...request.Option) (*ec2.GetReservedInstancesExchangeQuoteOutput, error)
|
||||
GetReservedInstancesExchangeQuoteRequest(*ec2.GetReservedInstancesExchangeQuoteInput) (*request.Request, *ec2.GetReservedInstancesExchangeQuoteOutput)
|
||||
|
||||
GetSerialConsoleAccessStatus(*ec2.GetSerialConsoleAccessStatusInput) (*ec2.GetSerialConsoleAccessStatusOutput, error)
|
||||
GetSerialConsoleAccessStatusWithContext(aws.Context, *ec2.GetSerialConsoleAccessStatusInput, ...request.Option) (*ec2.GetSerialConsoleAccessStatusOutput, error)
|
||||
GetSerialConsoleAccessStatusRequest(*ec2.GetSerialConsoleAccessStatusInput) (*request.Request, *ec2.GetSerialConsoleAccessStatusOutput)
|
||||
|
||||
GetTransitGatewayAttachmentPropagations(*ec2.GetTransitGatewayAttachmentPropagationsInput) (*ec2.GetTransitGatewayAttachmentPropagationsOutput, error)
|
||||
GetTransitGatewayAttachmentPropagationsWithContext(aws.Context, *ec2.GetTransitGatewayAttachmentPropagationsInput, ...request.Option) (*ec2.GetTransitGatewayAttachmentPropagationsOutput, error)
|
||||
GetTransitGatewayAttachmentPropagationsRequest(*ec2.GetTransitGatewayAttachmentPropagationsInput) (*request.Request, *ec2.GetTransitGatewayAttachmentPropagationsOutput)
|
||||
|
|
|
@ -982,7 +982,7 @@ func (c *EC2) WaitUntilSecurityGroupExistsWithContext(ctx aws.Context, input *De
|
|||
{
|
||||
State: request.RetryWaiterState,
|
||||
Matcher: request.ErrorWaiterMatch,
|
||||
Expected: "InvalidGroupNotFound",
|
||||
Expected: "InvalidGroup.NotFound",
|
||||
},
|
||||
},
|
||||
Logger: c.Config.Logger,
|
||||
|
|
|
@ -1094,7 +1094,9 @@ func (c *IAM) CreateInstanceProfileRequest(input *CreateInstanceProfileInput) (r
|
|||
// CreateInstanceProfile API operation for AWS Identity and Access Management.
|
||||
//
|
||||
// Creates a new instance profile. For information about instance profiles,
|
||||
// see About instance profiles (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html#reference_iam-quotas-entities).
|
||||
// see Using roles for applications on Amazon EC2 (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2.html)
|
||||
// in the IAM User Guide, and Instance profiles (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html#ec2-instance-profile)
|
||||
// in the Amazon EC2 User Guide.
|
||||
//
|
||||
// For information about the number of instance profiles you can create, see
|
||||
// IAM object quotas (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html)
|
||||
|
@ -5489,6 +5491,12 @@ func (c *IAM) GetAccessKeyLastUsedRequest(input *GetAccessKeyLastUsedInput) (req
|
|||
//
|
||||
// See the AWS API reference guide for AWS Identity and Access Management's
|
||||
// API operation GetAccessKeyLastUsed 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/GetAccessKeyLastUsed
|
||||
func (c *IAM) GetAccessKeyLastUsed(input *GetAccessKeyLastUsedInput) (*GetAccessKeyLastUsedOutput, error) {
|
||||
req, out := c.GetAccessKeyLastUsedRequest(input)
|
||||
|
|
|
@ -2096,7 +2096,8 @@ func (c *S3) DeleteObjectRequest(input *DeleteObjectInput) (req *request.Request
|
|||
//
|
||||
// Removes the null version (if there is one) of an object and inserts a delete
|
||||
// marker, which becomes the latest version of the object. If there isn't a
|
||||
// null version, Amazon S3 does not remove any objects.
|
||||
// null version, Amazon S3 does not remove any objects but will still respond
|
||||
// that the command was successful.
|
||||
//
|
||||
// To remove a specific version, you must be the bucket owner and you must use
|
||||
// the version Id subresource. Using this subresource permanently deletes the
|
||||
|
@ -6188,6 +6189,9 @@ func (c *S3) ListObjectVersionsRequest(input *ListObjectVersionsInput) (req *req
|
|||
// use request parameters as selection criteria to return metadata about a subset
|
||||
// of all the object versions.
|
||||
//
|
||||
// To use this operation, you must have permissions to perform the s3:ListBucketVersions
|
||||
// action. Be aware of the name difference.
|
||||
//
|
||||
// A 200 OK response can contain valid or invalid XML. Make sure to design your
|
||||
// application to parse the contents of the response and handle it appropriately.
|
||||
//
|
||||
|
@ -9194,7 +9198,7 @@ func (c *S3) PutObjectRequest(input *PutObjectInput) (req *request.Request, outp
|
|||
// The Content-MD5 header is required for any request to upload an object with
|
||||
// a retention period configured using Amazon S3 Object Lock. For more information
|
||||
// about Amazon S3 Object Lock, see Amazon S3 Object Lock Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
//
|
||||
// Server-side Encryption
|
||||
//
|
||||
|
@ -9490,14 +9494,11 @@ func (c *S3) PutObjectLegalHoldRequest(input *PutObjectLegalHoldInput) (req *req
|
|||
|
||||
// PutObjectLegalHold API operation for Amazon Simple Storage Service.
|
||||
//
|
||||
// Applies a Legal Hold configuration to the specified object.
|
||||
// Applies a Legal Hold configuration to the specified object. For more information,
|
||||
// see Locking Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html).
|
||||
//
|
||||
// This action is not supported by Amazon S3 on Outposts.
|
||||
//
|
||||
// Related Resources
|
||||
//
|
||||
// * Locking Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.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.
|
||||
|
@ -9576,14 +9577,16 @@ func (c *S3) PutObjectLockConfigurationRequest(input *PutObjectLockConfiguration
|
|||
//
|
||||
// Places an Object Lock configuration on the specified bucket. The rule specified
|
||||
// in the Object Lock configuration will be applied by default to every new
|
||||
// object placed in the specified bucket.
|
||||
// object placed in the specified bucket. For more information, see Locking
|
||||
// Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html).
|
||||
//
|
||||
// DefaultRetention requires either Days or Years. You can't specify both at
|
||||
// the same time.
|
||||
// * The DefaultRetention settings require both a mode and a period.
|
||||
//
|
||||
// Related Resources
|
||||
// * The DefaultRetention period can be either Days or Years but you must
|
||||
// select one. You cannot specify Days and Years at the same time.
|
||||
//
|
||||
// * Locking Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html)
|
||||
// * You can only enable Object Lock for new buckets. If you want to turn
|
||||
// on Object Lock for an existing bucket, contact AWS Support.
|
||||
//
|
||||
// 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
|
||||
|
@ -9661,14 +9664,11 @@ func (c *S3) PutObjectRetentionRequest(input *PutObjectRetentionInput) (req *req
|
|||
|
||||
// PutObjectRetention API operation for Amazon Simple Storage Service.
|
||||
//
|
||||
// Places an Object Retention configuration on an object.
|
||||
// Places an Object Retention configuration on an object. For more information,
|
||||
// see Locking Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html).
|
||||
//
|
||||
// This action is not supported by Amazon S3 on Outposts.
|
||||
//
|
||||
// Related Resources
|
||||
//
|
||||
// * Locking Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.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.
|
||||
|
@ -10905,6 +10905,32 @@ func (c *S3) WriteGetObjectResponseRequest(input *WriteGetObjectResponseInput) (
|
|||
// a customer-owned Lambda function, the metadata returned to the end user GetObject
|
||||
// call might differ from what Amazon S3 would normally return.
|
||||
//
|
||||
// AWS provides some prebuilt Lambda functions that you can use with S3 Object
|
||||
// Lambda to detect and redact personally identifiable information (PII) and
|
||||
// decompress S3 objects. These Lambda functions are available in the AWS Serverless
|
||||
// Application Repository, and can be selected through the AWS Management Console
|
||||
// when you create your Object Lambda Access Point.
|
||||
//
|
||||
// Example 1: PII Access Control - This Lambda function uses Amazon Comprehend,
|
||||
// a natural language processing (NLP) service using machine learning to find
|
||||
// insights and relationships in text. It automatically detects personally identifiable
|
||||
// information (PII) such as names, addresses, dates, credit card numbers, and
|
||||
// social security numbers from documents in your Amazon S3 bucket.
|
||||
//
|
||||
// Example 2: PII Redaction - This Lambda function uses Amazon Comprehend, a
|
||||
// natural language processing (NLP) service using machine learning to find
|
||||
// insights and relationships in text. It automatically redacts personally identifiable
|
||||
// information (PII) such as names, addresses, dates, credit card numbers, and
|
||||
// social security numbers from documents in your Amazon S3 bucket.
|
||||
//
|
||||
// Example 3: Decompression - The Lambda function S3ObjectLambdaDecompression,
|
||||
// is equipped to decompress objects stored in S3 in one of six compressed file
|
||||
// formats including bzip2, gzip, snappy, zlib, zstandard and ZIP.
|
||||
//
|
||||
// For information on how to view and use these functions, see Using AWS built
|
||||
// Lambda functions (https://docs.aws.amazon.com/AmazonS3/latest/userguide/olap-examples.html)
|
||||
// in the Amazon S3 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.
|
||||
|
@ -10937,7 +10963,7 @@ func (c *S3) WriteGetObjectResponseWithContext(ctx aws.Context, input *WriteGetO
|
|||
// that Amazon S3 will wait before permanently removing all parts of the upload.
|
||||
// For more information, see Aborting Incomplete Multipart Uploads Using a Bucket
|
||||
// Lifecycle Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
type AbortIncompleteMultipartUpload struct {
|
||||
_ struct{} `type:"structure"`
|
||||
|
||||
|
@ -10972,7 +10998,7 @@ type AbortMultipartUploadInput struct {
|
|||
// When using this action with an access point through the AWS SDKs, you provide
|
||||
// the access point ARN in place of the bucket name. For more information about
|
||||
// access point ARNs, see Using Access Points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
//
|
||||
// When using this action with Amazon S3 on Outposts, you must direct requests
|
||||
// to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form
|
||||
|
@ -10980,7 +11006,7 @@ type AbortMultipartUploadInput struct {
|
|||
// using this action using S3 on Outposts through the AWS SDKs, you provide
|
||||
// the Outposts bucket ARN in place of the bucket name. For more information
|
||||
// about S3 on Outposts ARNs, see Using S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
//
|
||||
// Bucket is a required field
|
||||
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
|
||||
|
@ -11133,7 +11159,7 @@ func (s *AbortMultipartUploadOutput) SetRequestCharged(v string) *AbortMultipart
|
|||
|
||||
// Configures the transfer acceleration state for an Amazon S3 bucket. For more
|
||||
// information, see Amazon S3 Transfer Acceleration (https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
type AccelerateConfiguration struct {
|
||||
_ struct{} `type:"structure"`
|
||||
|
||||
|
@ -11611,7 +11637,7 @@ func (s *Bucket) SetName(v string) *Bucket {
|
|||
|
||||
// Specifies the lifecycle configuration for objects in an Amazon S3 bucket.
|
||||
// For more information, see Object Lifecycle Management (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
type BucketLifecycleConfiguration struct {
|
||||
_ struct{} `type:"structure"`
|
||||
|
||||
|
@ -11705,7 +11731,7 @@ func (s *BucketLoggingStatus) SetLoggingEnabled(v *LoggingEnabled) *BucketLoggin
|
|||
// Describes the cross-origin access configuration for objects in an Amazon
|
||||
// S3 bucket. For more information, see Enabling Cross-Origin Resource Sharing
|
||||
// (https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) in the Amazon
|
||||
// Simple Storage Service Developer Guide.
|
||||
// S3 User Guide.
|
||||
type CORSConfiguration struct {
|
||||
_ struct{} `type:"structure"`
|
||||
|
||||
|
@ -12266,7 +12292,7 @@ type CompleteMultipartUploadOutput struct {
|
|||
// When using this action with an access point through the AWS SDKs, you provide
|
||||
// the access point ARN in place of the bucket name. For more information about
|
||||
// access point ARNs, see Using Access Points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
//
|
||||
// When using this action with Amazon S3 on Outposts, you must direct requests
|
||||
// to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form
|
||||
|
@ -12274,7 +12300,7 @@ type CompleteMultipartUploadOutput struct {
|
|||
// using this action using S3 on Outposts through the AWS SDKs, you provide
|
||||
// the Outposts bucket ARN in place of the bucket name. For more information
|
||||
// about S3 on Outposts ARNs, see Using S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
Bucket *string `type:"string"`
|
||||
|
||||
// Indicates whether the multipart upload uses an S3 Bucket Key for server-side
|
||||
|
@ -12552,7 +12578,7 @@ type CopyObjectInput struct {
|
|||
// When using this action with an access point through the AWS SDKs, you provide
|
||||
// the access point ARN in place of the bucket name. For more information about
|
||||
// access point ARNs, see Using Access Points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
//
|
||||
// When using this action with Amazon S3 on Outposts, you must direct requests
|
||||
// to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form
|
||||
|
@ -12560,7 +12586,7 @@ type CopyObjectInput struct {
|
|||
// using this action using S3 on Outposts through the AWS SDKs, you provide
|
||||
// the Outposts bucket ARN in place of the bucket name. For more information
|
||||
// about S3 on Outposts ARNs, see Using S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
//
|
||||
// Bucket is a required field
|
||||
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
|
||||
|
@ -13469,7 +13495,7 @@ type CreateMultipartUploadInput struct {
|
|||
// When using this action with an access point through the AWS SDKs, you provide
|
||||
// the access point ARN in place of the bucket name. For more information about
|
||||
// access point ARNs, see Using Access Points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
//
|
||||
// When using this action with Amazon S3 on Outposts, you must direct requests
|
||||
// to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form
|
||||
|
@ -13477,7 +13503,7 @@ type CreateMultipartUploadInput struct {
|
|||
// using this action using S3 on Outposts through the AWS SDKs, you provide
|
||||
// the Outposts bucket ARN in place of the bucket name. For more information
|
||||
// about S3 on Outposts ARNs, see Using S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
//
|
||||
// Bucket is a required field
|
||||
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
|
||||
|
@ -13883,7 +13909,7 @@ type CreateMultipartUploadOutput struct {
|
|||
// When using this action with an access point through the AWS SDKs, you provide
|
||||
// the access point ARN in place of the bucket name. For more information about
|
||||
// access point ARNs, see Using Access Points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
//
|
||||
// When using this action with Amazon S3 on Outposts, you must direct requests
|
||||
// to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form
|
||||
|
@ -13891,7 +13917,7 @@ type CreateMultipartUploadOutput struct {
|
|||
// using this action using S3 on Outposts through the AWS SDKs, you provide
|
||||
// the Outposts bucket ARN in place of the bucket name. For more information
|
||||
// about S3 on Outposts ARNs, see Using S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
Bucket *string `locationName:"Bucket" type:"string"`
|
||||
|
||||
// Indicates whether the multipart upload uses an S3 Bucket Key for server-side
|
||||
|
@ -14024,17 +14050,24 @@ func (s *CreateMultipartUploadOutput) SetUploadId(v string) *CreateMultipartUplo
|
|||
|
||||
// The container element for specifying the default Object Lock retention settings
|
||||
// for new objects placed in the specified bucket.
|
||||
//
|
||||
// * The DefaultRetention settings require both a mode and a period.
|
||||
//
|
||||
// * The DefaultRetention period can be either Days or Years but you must
|
||||
// select one. You cannot specify Days and Years at the same time.
|
||||
type DefaultRetention struct {
|
||||
_ struct{} `type:"structure"`
|
||||
|
||||
// The number of days that you want to specify for the default retention period.
|
||||
// Must be used with Mode.
|
||||
Days *int64 `type:"integer"`
|
||||
|
||||
// The default Object Lock retention mode you want to apply to new objects placed
|
||||
// in the specified bucket.
|
||||
// in the specified bucket. Must be used with either Days or Years.
|
||||
Mode *string `type:"string" enum:"ObjectLockRetentionMode"`
|
||||
|
||||
// The number of years that you want to specify for the default retention period.
|
||||
// Must be used with Mode.
|
||||
Years *int64 `type:"integer"`
|
||||
}
|
||||
|
||||
|
@ -15581,7 +15614,7 @@ type DeleteObjectInput struct {
|
|||
// When using this action with an access point through the AWS SDKs, you provide
|
||||
// the access point ARN in place of the bucket name. For more information about
|
||||
// access point ARNs, see Using Access Points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
//
|
||||
// When using this action with Amazon S3 on Outposts, you must direct requests
|
||||
// to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form
|
||||
|
@ -15589,7 +15622,7 @@ type DeleteObjectInput struct {
|
|||
// using this action using S3 on Outposts through the AWS SDKs, you provide
|
||||
// the Outposts bucket ARN in place of the bucket name. For more information
|
||||
// about S3 on Outposts ARNs, see Using S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
//
|
||||
// Bucket is a required field
|
||||
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
|
||||
|
@ -15787,7 +15820,7 @@ type DeleteObjectTaggingInput struct {
|
|||
// When using this action with an access point through the AWS SDKs, you provide
|
||||
// the access point ARN in place of the bucket name. For more information about
|
||||
// access point ARNs, see Using Access Points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
//
|
||||
// When using this action with Amazon S3 on Outposts, you must direct requests
|
||||
// to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form
|
||||
|
@ -15795,7 +15828,7 @@ type DeleteObjectTaggingInput struct {
|
|||
// using this action using S3 on Outposts through the AWS SDKs, you provide
|
||||
// the Outposts bucket ARN in place of the bucket name. For more information
|
||||
// about S3 on Outposts ARNs, see Using S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
//
|
||||
// Bucket is a required field
|
||||
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
|
||||
|
@ -15938,7 +15971,7 @@ type DeleteObjectsInput struct {
|
|||
// When using this action with an access point through the AWS SDKs, you provide
|
||||
// the access point ARN in place of the bucket name. For more information about
|
||||
// access point ARNs, see Using Access Points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
//
|
||||
// When using this action with Amazon S3 on Outposts, you must direct requests
|
||||
// to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form
|
||||
|
@ -15946,7 +15979,7 @@ type DeleteObjectsInput struct {
|
|||
// using this action using S3 on Outposts through the AWS SDKs, you provide
|
||||
// the Outposts bucket ARN in place of the bucket name. For more information
|
||||
// about S3 on Outposts ARNs, see Using S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
//
|
||||
// Bucket is a required field
|
||||
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
|
||||
|
@ -17048,7 +17081,7 @@ type FilterRule struct {
|
|||
// the filtering rule applies. The maximum length is 1,024 characters. Overlapping
|
||||
// prefixes and suffixes are not supported. For more information, see Configuring
|
||||
// Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
Name *string `type:"string" enum:"FilterRuleName"`
|
||||
|
||||
// The value that the filter searches for in object key names.
|
||||
|
@ -19458,7 +19491,7 @@ type GetObjectAclInput struct {
|
|||
// When using this action with an access point through the AWS SDKs, you provide
|
||||
// the access point ARN in place of the bucket name. For more information about
|
||||
// access point ARNs, see Using Access Points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
//
|
||||
// Bucket is a required field
|
||||
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
|
||||
|
@ -19632,7 +19665,7 @@ type GetObjectInput struct {
|
|||
// When using this action with an access point through the AWS SDKs, you provide
|
||||
// the access point ARN in place of the bucket name. For more information about
|
||||
// access point ARNs, see Using Access Points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
//
|
||||
// When using this action with Amazon S3 on Outposts, you must direct requests
|
||||
// to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form
|
||||
|
@ -19640,7 +19673,7 @@ type GetObjectInput struct {
|
|||
// using this action using S3 on Outposts through the AWS SDKs, you provide
|
||||
// the Outposts bucket ARN in place of the bucket name. For more information
|
||||
// about S3 on Outposts ARNs, see Using S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
//
|
||||
// Bucket is a required field
|
||||
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
|
||||
|
@ -19932,7 +19965,7 @@ type GetObjectLegalHoldInput struct {
|
|||
// When using this action with an access point through the AWS SDKs, you provide
|
||||
// the access point ARN in place of the bucket name. For more information about
|
||||
// access point ARNs, see Using Access Points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
//
|
||||
// Bucket is a required field
|
||||
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
|
||||
|
@ -20087,7 +20120,7 @@ type GetObjectLockConfigurationInput struct {
|
|||
// When using this action with an access point through the AWS SDKs, you provide
|
||||
// the access point ARN in place of the bucket name. For more information about
|
||||
// access point ARNs, see Using Access Points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
//
|
||||
// Bucket is a required field
|
||||
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
|
||||
|
@ -20535,7 +20568,7 @@ type GetObjectRetentionInput struct {
|
|||
// When using this action with an access point through the AWS SDKs, you provide
|
||||
// the access point ARN in place of the bucket name. For more information about
|
||||
// access point ARNs, see Using Access Points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
//
|
||||
// Bucket is a required field
|
||||
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
|
||||
|
@ -20690,7 +20723,7 @@ type GetObjectTaggingInput struct {
|
|||
// When using this action with an access point through the AWS SDKs, you provide
|
||||
// the access point ARN in place of the bucket name. For more information about
|
||||
// access point ARNs, see Using Access Points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
//
|
||||
// When using this action with Amazon S3 on Outposts, you must direct requests
|
||||
// to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form
|
||||
|
@ -20698,7 +20731,7 @@ type GetObjectTaggingInput struct {
|
|||
// using this action using S3 on Outposts through the AWS SDKs, you provide
|
||||
// the Outposts bucket ARN in place of the bucket name. For more information
|
||||
// about S3 on Outposts ARNs, see Using S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
//
|
||||
// Bucket is a required field
|
||||
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
|
||||
|
@ -21310,7 +21343,7 @@ type HeadBucketInput struct {
|
|||
// When using this action with an access point through the AWS SDKs, you provide
|
||||
// the access point ARN in place of the bucket name. For more information about
|
||||
// access point ARNs, see Using Access Points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
//
|
||||
// When using this action with Amazon S3 on Outposts, you must direct requests
|
||||
// to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form
|
||||
|
@ -21318,7 +21351,7 @@ type HeadBucketInput struct {
|
|||
// using this action using S3 on Outposts through the AWS SDKs, you provide
|
||||
// the Outposts bucket ARN in place of the bucket name. For more information
|
||||
// about S3 on Outposts ARNs, see Using S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
//
|
||||
// Bucket is a required field
|
||||
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
|
||||
|
@ -21425,7 +21458,7 @@ type HeadObjectInput struct {
|
|||
// When using this action with an access point through the AWS SDKs, you provide
|
||||
// the access point ARN in place of the bucket name. For more information about
|
||||
// access point ARNs, see Using Access Points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
//
|
||||
// When using this action with Amazon S3 on Outposts, you must direct requests
|
||||
// to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form
|
||||
|
@ -21433,7 +21466,7 @@ type HeadObjectInput struct {
|
|||
// using this action using S3 on Outposts through the AWS SDKs, you provide
|
||||
// the Outposts bucket ARN in place of the bucket name. For more information
|
||||
// about S3 on Outposts ARNs, see Using S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
//
|
||||
// Bucket is a required field
|
||||
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
|
||||
|
@ -21792,7 +21825,7 @@ type HeadObjectOutput struct {
|
|||
// If an archive copy is already restored, the header value indicates when Amazon
|
||||
// S3 is scheduled to delete the object copy. For example:
|
||||
//
|
||||
// x-amz-restore: ongoing-request="false", expiry-date="Fri, 23 Dec 2012 00:00:00
|
||||
// x-amz-restore: ongoing-request="false", expiry-date="Fri, 21 Dec 2012 00:00:00
|
||||
// GMT"
|
||||
//
|
||||
// If the object restoration is in progress, the header returns the value ongoing-request="true".
|
||||
|
@ -22869,14 +22902,14 @@ type LambdaFunctionConfiguration struct {
|
|||
|
||||
// The Amazon S3 bucket event for which to invoke the AWS Lambda function. For
|
||||
// more information, see Supported Event Types (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
//
|
||||
// Events is a required field
|
||||
Events []*string `locationName:"Event" type:"list" flattened:"true" required:"true"`
|
||||
|
||||
// Specifies object key name filtering rules. For information about key name
|
||||
// filtering, see Configuring Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
Filter *NotificationConfigurationFilter `type:"structure"`
|
||||
|
||||
// An optional unique identifier for configurations in a notification configuration.
|
||||
|
@ -23044,7 +23077,7 @@ type LifecycleRule struct {
|
|||
// that Amazon S3 will wait before permanently removing all parts of the upload.
|
||||
// For more information, see Aborting Incomplete Multipart Uploads Using a Bucket
|
||||
// Lifecycle Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
AbortIncompleteMultipartUpload *AbortIncompleteMultipartUpload `type:"structure"`
|
||||
|
||||
// Specifies the expiration for the lifecycle of the object in the form of date,
|
||||
|
@ -23052,7 +23085,8 @@ type LifecycleRule struct {
|
|||
Expiration *LifecycleExpiration `type:"structure"`
|
||||
|
||||
// The Filter is used to identify objects that a Lifecycle Rule applies to.
|
||||
// A Filter must have exactly one of Prefix, Tag, or And specified.
|
||||
// A Filter must have exactly one of Prefix, Tag, or And specified. Filter is
|
||||
// required if the LifecycleRule does not containt a Prefix element.
|
||||
Filter *LifecycleRuleFilter `type:"structure"`
|
||||
|
||||
// Unique identifier for the rule. The value cannot be longer than 255 characters.
|
||||
|
@ -23073,7 +23107,7 @@ type LifecycleRule struct {
|
|||
NoncurrentVersionTransitions []*NoncurrentVersionTransition `locationName:"NoncurrentVersionTransition" type:"list" flattened:"true"`
|
||||
|
||||
// Prefix identifying one or more objects to which the rule applies. This is
|
||||
// No longer used; use Filter instead.
|
||||
// no longer used; use Filter instead.
|
||||
//
|
||||
// Replacement must be made for object keys containing special characters (such
|
||||
// as carriage returns) when using XML requests. For more information, see XML
|
||||
|
@ -23954,7 +23988,7 @@ type ListMultipartUploadsInput struct {
|
|||
// When using this action with an access point through the AWS SDKs, you provide
|
||||
// the access point ARN in place of the bucket name. For more information about
|
||||
// access point ARNs, see Using Access Points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
//
|
||||
// When using this action with Amazon S3 on Outposts, you must direct requests
|
||||
// to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form
|
||||
|
@ -23962,7 +23996,7 @@ type ListMultipartUploadsInput struct {
|
|||
// using this action using S3 on Outposts through the AWS SDKs, you provide
|
||||
// the Outposts bucket ARN in place of the bucket name. For more information
|
||||
// about S3 on Outposts ARNs, see Using S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
//
|
||||
// Bucket is a required field
|
||||
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
|
||||
|
@ -24594,7 +24628,7 @@ type ListObjectsInput struct {
|
|||
// When using this action with an access point through the AWS SDKs, you provide
|
||||
// the access point ARN in place of the bucket name. For more information about
|
||||
// access point ARNs, see Using Access Points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
//
|
||||
// When using this action with Amazon S3 on Outposts, you must direct requests
|
||||
// to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form
|
||||
|
@ -24602,7 +24636,7 @@ type ListObjectsInput struct {
|
|||
// using this action using S3 on Outposts through the AWS SDKs, you provide
|
||||
// the Outposts bucket ARN in place of the bucket name. For more information
|
||||
// about S3 on Outposts ARNs, see Using S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
//
|
||||
// Bucket is a required field
|
||||
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
|
||||
|
@ -24888,7 +24922,7 @@ type ListObjectsV2Input struct {
|
|||
// When using this action with an access point through the AWS SDKs, you provide
|
||||
// the access point ARN in place of the bucket name. For more information about
|
||||
// access point ARNs, see Using Access Points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
//
|
||||
// When using this action with Amazon S3 on Outposts, you must direct requests
|
||||
// to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form
|
||||
|
@ -24896,7 +24930,7 @@ type ListObjectsV2Input struct {
|
|||
// using this action using S3 on Outposts through the AWS SDKs, you provide
|
||||
// the Outposts bucket ARN in place of the bucket name. For more information
|
||||
// about S3 on Outposts ARNs, see Using S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
//
|
||||
// Bucket is a required field
|
||||
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
|
||||
|
@ -25124,7 +25158,7 @@ type ListObjectsV2Output struct {
|
|||
// When using this action with an access point through the AWS SDKs, you provide
|
||||
// the access point ARN in place of the bucket name. For more information about
|
||||
// access point ARNs, see Using Access Points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
//
|
||||
// When using this action with Amazon S3 on Outposts, you must direct requests
|
||||
// to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form
|
||||
|
@ -25132,7 +25166,7 @@ type ListObjectsV2Output struct {
|
|||
// using this action using S3 on Outposts through the AWS SDKs, you provide
|
||||
// the Outposts bucket ARN in place of the bucket name. For more information
|
||||
// about S3 on Outposts ARNs, see Using S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
Name *string `type:"string"`
|
||||
|
||||
// NextContinuationToken is sent when isTruncated is true, which means there
|
||||
|
@ -25240,7 +25274,7 @@ type ListPartsInput struct {
|
|||
// When using this action with an access point through the AWS SDKs, you provide
|
||||
// the access point ARN in place of the bucket name. For more information about
|
||||
// access point ARNs, see Using Access Points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
//
|
||||
// When using this action with Amazon S3 on Outposts, you must direct requests
|
||||
// to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form
|
||||
|
@ -25248,7 +25282,7 @@ type ListPartsInput struct {
|
|||
// using this action using S3 on Outposts through the AWS SDKs, you provide
|
||||
// the Outposts bucket ARN in place of the bucket name. For more information
|
||||
// about S3 on Outposts ARNs, see Using S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
//
|
||||
// Bucket is a required field
|
||||
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
|
||||
|
@ -26155,7 +26189,7 @@ type NoncurrentVersionTransition struct {
|
|||
// perform the associated action. For information about the noncurrent days
|
||||
// calculations, see How Amazon S3 Calculates How Long an Object Has Been Noncurrent
|
||||
// (https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
NoncurrentDays *int64 `type:"integer"`
|
||||
|
||||
// The class of storage used to store the object.
|
||||
|
@ -26317,7 +26351,7 @@ func (s *NotificationConfigurationDeprecated) SetTopicConfiguration(v *TopicConf
|
|||
|
||||
// Specifies object key name filtering rules. For information about key name
|
||||
// filtering, see Configuring Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
type NotificationConfigurationFilter struct {
|
||||
_ struct{} `type:"structure"`
|
||||
|
||||
|
@ -26485,10 +26519,14 @@ func (s *ObjectIdentifier) SetVersionId(v string) *ObjectIdentifier {
|
|||
type ObjectLockConfiguration struct {
|
||||
_ struct{} `type:"structure"`
|
||||
|
||||
// Indicates whether this bucket has an Object Lock configuration enabled.
|
||||
// Indicates whether this bucket has an Object Lock configuration enabled. Enable
|
||||
// ObjectLockEnabled when you apply ObjectLockConfiguration to a bucket.
|
||||
ObjectLockEnabled *string `type:"string" enum:"ObjectLockEnabled"`
|
||||
|
||||
// The Object Lock rule in place for the specified object.
|
||||
// Specifies the Object Lock rule for the specified object. Enable the this
|
||||
// rule when you apply ObjectLockConfiguration to a bucket. Bucket settings
|
||||
// require both a mode and a period. The period can be either Days or Years
|
||||
// but you must select one. You cannot specify Days and Years at the same time.
|
||||
Rule *ObjectLockRule `type:"structure"`
|
||||
}
|
||||
|
||||
|
@ -26575,8 +26613,10 @@ func (s *ObjectLockRetention) SetRetainUntilDate(v time.Time) *ObjectLockRetenti
|
|||
type ObjectLockRule struct {
|
||||
_ struct{} `type:"structure"`
|
||||
|
||||
// The default retention period that you want to apply to new objects placed
|
||||
// in the specified bucket.
|
||||
// The default Object Lock retention mode and period that you want to apply
|
||||
// to new objects placed in the specified bucket. Bucket settings require both
|
||||
// a mode and a period. The period can be either Days or Years but you must
|
||||
// select one. You cannot specify Days and Years at the same time.
|
||||
DefaultRetention *DefaultRetention `type:"structure"`
|
||||
}
|
||||
|
||||
|
@ -27698,7 +27738,7 @@ type PutBucketEncryptionInput struct {
|
|||
// Amazon S3-managed keys (SSE-S3) or customer master keys stored in AWS KMS
|
||||
// (SSE-KMS). For information about the Amazon S3 default encryption feature,
|
||||
// see Amazon S3 Default Bucket Encryption (https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
//
|
||||
// Bucket is a required field
|
||||
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
|
||||
|
@ -29654,7 +29694,7 @@ type PutObjectAclInput struct {
|
|||
// When using this action with an access point through the AWS SDKs, you provide
|
||||
// the access point ARN in place of the bucket name. For more information about
|
||||
// access point ARNs, see Using Access Points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
//
|
||||
// Bucket is a required field
|
||||
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
|
||||
|
@ -29695,7 +29735,7 @@ type PutObjectAclInput struct {
|
|||
// When using this action with an access point through the AWS SDKs, you provide
|
||||
// the access point ARN in place of the bucket name. For more information about
|
||||
// access point ARNs, see Using Access Points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
//
|
||||
// When using this action with Amazon S3 on Outposts, you must direct requests
|
||||
// to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form
|
||||
|
@ -29703,7 +29743,7 @@ type PutObjectAclInput struct {
|
|||
// using this action using S3 on Outposts through the AWS SDKs, you provide
|
||||
// the Outposts bucket ARN in place of the bucket name. For more information
|
||||
// about S3 on Outposts ARNs, see Using S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
//
|
||||
// Key is a required field
|
||||
Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
|
||||
|
@ -29905,7 +29945,7 @@ type PutObjectInput struct {
|
|||
// When using this action with an access point through the AWS SDKs, you provide
|
||||
// the access point ARN in place of the bucket name. For more information about
|
||||
// access point ARNs, see Using Access Points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
//
|
||||
// When using this action with Amazon S3 on Outposts, you must direct requests
|
||||
// to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form
|
||||
|
@ -29913,7 +29953,7 @@ type PutObjectInput struct {
|
|||
// using this action using S3 on Outposts through the AWS SDKs, you provide
|
||||
// the Outposts bucket ARN in place of the bucket name. For more information
|
||||
// about S3 on Outposts ARNs, see Using S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
//
|
||||
// Bucket is a required field
|
||||
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
|
||||
|
@ -30362,7 +30402,7 @@ type PutObjectLegalHoldInput struct {
|
|||
// When using this action with an access point through the AWS SDKs, you provide
|
||||
// the access point ARN in place of the bucket name. For more information about
|
||||
// access point ARNs, see Using Access Points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
//
|
||||
// Bucket is a required field
|
||||
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
|
||||
|
@ -30792,7 +30832,7 @@ type PutObjectRetentionInput struct {
|
|||
// When using this action with an access point through the AWS SDKs, you provide
|
||||
// the access point ARN in place of the bucket name. For more information about
|
||||
// access point ARNs, see Using Access Points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
//
|
||||
// Bucket is a required field
|
||||
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
|
||||
|
@ -30968,7 +31008,7 @@ type PutObjectTaggingInput struct {
|
|||
// When using this action with an access point through the AWS SDKs, you provide
|
||||
// the access point ARN in place of the bucket name. For more information about
|
||||
// access point ARNs, see Using Access Points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
//
|
||||
// When using this action with Amazon S3 on Outposts, you must direct requests
|
||||
// to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form
|
||||
|
@ -30976,7 +31016,7 @@ type PutObjectTaggingInput struct {
|
|||
// using this action using S3 on Outposts through the AWS SDKs, you provide
|
||||
// the Outposts bucket ARN in place of the bucket name. For more information
|
||||
// about S3 on Outposts ARNs, see Using S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
//
|
||||
// Bucket is a required field
|
||||
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
|
||||
|
@ -31158,7 +31198,7 @@ type PutPublicAccessBlockInput struct {
|
|||
// S3 bucket. You can enable the configuration options in any combination. For
|
||||
// more information about when Amazon S3 considers a bucket or object public,
|
||||
// see The Meaning of "Public" (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
//
|
||||
// PublicAccessBlockConfiguration is a required field
|
||||
PublicAccessBlockConfiguration *PublicAccessBlockConfiguration `locationName:"PublicAccessBlockConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
|
||||
|
@ -31271,7 +31311,7 @@ type QueueConfiguration struct {
|
|||
|
||||
// Specifies object key name filtering rules. For information about key name
|
||||
// filtering, see Configuring Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
Filter *NotificationConfigurationFilter `type:"structure"`
|
||||
|
||||
// An optional unique identifier for configurations in a notification configuration.
|
||||
|
@ -31625,7 +31665,7 @@ type ReplicationConfiguration struct {
|
|||
// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
|
||||
// (IAM) role that Amazon S3 assumes when replicating objects. For more information,
|
||||
// see How to Set Up Replication (https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-how-setup.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
//
|
||||
// Role is a required field
|
||||
Role *string `type:"string" required:"true"`
|
||||
|
@ -31740,7 +31780,7 @@ type ReplicationRule struct {
|
|||
// with the highest priority. The higher the number, the higher the priority.
|
||||
//
|
||||
// For more information, see Replication (https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
Priority *int64 `type:"integer"`
|
||||
|
||||
// A container that describes additional filters for identifying the source
|
||||
|
@ -32156,7 +32196,7 @@ type RestoreObjectInput struct {
|
|||
// When using this action with an access point through the AWS SDKs, you provide
|
||||
// the access point ARN in place of the bucket name. For more information about
|
||||
// access point ARNs, see Using Access Points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
//
|
||||
// When using this action with Amazon S3 on Outposts, you must direct requests
|
||||
// to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form
|
||||
|
@ -32164,7 +32204,7 @@ type RestoreObjectInput struct {
|
|||
// using this action using S3 on Outposts through the AWS SDKs, you provide
|
||||
// the Outposts bucket ARN in place of the bucket name. For more information
|
||||
// about S3 on Outposts ARNs, see Using S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
//
|
||||
// Bucket is a required field
|
||||
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
|
||||
|
@ -32509,7 +32549,7 @@ type Rule struct {
|
|||
// that Amazon S3 will wait before permanently removing all parts of the upload.
|
||||
// For more information, see Aborting Incomplete Multipart Uploads Using a Bucket
|
||||
// Lifecycle Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
AbortIncompleteMultipartUpload *AbortIncompleteMultipartUpload `type:"structure"`
|
||||
|
||||
// Specifies the expiration for the lifecycle of the object.
|
||||
|
@ -33951,7 +33991,7 @@ type TopicConfiguration struct {
|
|||
|
||||
// Specifies object key name filtering rules. For information about key name
|
||||
// filtering, see Configuring Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
Filter *NotificationConfigurationFilter `type:"structure"`
|
||||
|
||||
// An optional unique identifier for configurations in a notification configuration.
|
||||
|
@ -34131,7 +34171,7 @@ type UploadPartCopyInput struct {
|
|||
// When using this action with an access point through the AWS SDKs, you provide
|
||||
// the access point ARN in place of the bucket name. For more information about
|
||||
// access point ARNs, see Using Access Points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
//
|
||||
// When using this action with Amazon S3 on Outposts, you must direct requests
|
||||
// to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form
|
||||
|
@ -34139,7 +34179,7 @@ type UploadPartCopyInput struct {
|
|||
// using this action using S3 on Outposts through the AWS SDKs, you provide
|
||||
// the Outposts bucket ARN in place of the bucket name. For more information
|
||||
// about S3 on Outposts ARNs, see Using S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
//
|
||||
// Bucket is a required field
|
||||
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
|
||||
|
@ -34573,7 +34613,7 @@ type UploadPartInput struct {
|
|||
// When using this action with an access point through the AWS SDKs, you provide
|
||||
// the access point ARN in place of the bucket name. For more information about
|
||||
// access point ARNs, see Using Access Points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
//
|
||||
// When using this action with Amazon S3 on Outposts, you must direct requests
|
||||
// to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form
|
||||
|
@ -34581,7 +34621,7 @@ type UploadPartInput struct {
|
|||
// using this action using S3 on Outposts through the AWS SDKs, you provide
|
||||
// the Outposts bucket ARN in place of the bucket name. For more information
|
||||
// about S3 on Outposts ARNs, see Using S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
//
|
||||
// Bucket is a required field
|
||||
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
|
||||
|
@ -35054,7 +35094,8 @@ type WriteGetObjectResponseInput struct {
|
|||
// A string that uniquely identifies an error condition. Returned in the <Code>
|
||||
// tag of the error XML response for a corresponding GetObject call. Cannot
|
||||
// be used with a successful StatusCode header or when the transformed object
|
||||
// is provided in the body.
|
||||
// is provided in the body. All error codes from S3 are sentence-cased. Regex
|
||||
// value is "^[A-Z][a-zA-Z]+$".
|
||||
ErrorCode *string `location:"header" locationName:"x-amz-fwd-error-code" type:"string"`
|
||||
|
||||
// Contains a generic description of the error condition. Returned in the <Message>
|
||||
|
|
|
@ -30,7 +30,7 @@ type UploadInput struct {
|
|||
// When using this action with an access point through the AWS SDKs, you provide
|
||||
// the access point ARN in place of the bucket name. For more information about
|
||||
// access point ARNs, see Using Access Points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
//
|
||||
// When using this action with Amazon S3 on Outposts, you must direct requests
|
||||
// to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form
|
||||
|
@ -38,7 +38,7 @@ type UploadInput struct {
|
|||
// using this action using S3 on Outposts through the AWS SDKs, you provide
|
||||
// the Outposts bucket ARN in place of the bucket name. For more information
|
||||
// about S3 on Outposts ARNs, see Using S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
|
||||
// in the Amazon Simple Storage Service Developer Guide.
|
||||
// in the Amazon S3 User Guide.
|
||||
//
|
||||
// Bucket is a required field
|
||||
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
|
||||
|
|
|
@ -7248,6 +7248,10 @@ func (c *SSM) GetCommandInvocationRequest(input *GetCommandInvocationInput) (req
|
|||
// Returns detailed information about command execution for an invocation or
|
||||
// plugin.
|
||||
//
|
||||
// GetCommandInvocation only gives the execution status of a plugin in a document.
|
||||
// To get the command execution status on a specific instance, use ListCommandInvocations.
|
||||
// To get the command execution status across instances, use ListCommands.
|
||||
//
|
||||
// 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.
|
||||
|
@ -9524,8 +9528,8 @@ func (c *SSM) LabelParameterVersionRequest(input *LabelParameterVersionInput) (r
|
|||
// * You can't create a label when you create a new parameter. You must attach
|
||||
// a label to a specific version of a parameter.
|
||||
//
|
||||
// * You can't delete a parameter label. If you no longer want to use a parameter
|
||||
// label, then you must move it to a different version of a parameter.
|
||||
// * If you no longer want to use a parameter label, then you can either
|
||||
// delete it or move it to a different version of a parameter.
|
||||
//
|
||||
// * A label can have a maximum of 100 characters.
|
||||
//
|
||||
|
@ -13627,6 +13631,96 @@ func (c *SSM) TerminateSessionWithContext(ctx aws.Context, input *TerminateSessi
|
|||
return out, req.Send()
|
||||
}
|
||||
|
||||
const opUnlabelParameterVersion = "UnlabelParameterVersion"
|
||||
|
||||
// UnlabelParameterVersionRequest generates a "aws/request.Request" representing the
|
||||
// client's request for the UnlabelParameterVersion 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 UnlabelParameterVersion for more information on using the UnlabelParameterVersion
|
||||
// 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 UnlabelParameterVersionRequest method.
|
||||
// req, resp := client.UnlabelParameterVersionRequest(params)
|
||||
//
|
||||
// err := req.Send()
|
||||
// if err == nil { // resp is now filled
|
||||
// fmt.Println(resp)
|
||||
// }
|
||||
//
|
||||
// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UnlabelParameterVersion
|
||||
func (c *SSM) UnlabelParameterVersionRequest(input *UnlabelParameterVersionInput) (req *request.Request, output *UnlabelParameterVersionOutput) {
|
||||
op := &request.Operation{
|
||||
Name: opUnlabelParameterVersion,
|
||||
HTTPMethod: "POST",
|
||||
HTTPPath: "/",
|
||||
}
|
||||
|
||||
if input == nil {
|
||||
input = &UnlabelParameterVersionInput{}
|
||||
}
|
||||
|
||||
output = &UnlabelParameterVersionOutput{}
|
||||
req = c.newRequest(op, input, output)
|
||||
return
|
||||
}
|
||||
|
||||
// UnlabelParameterVersion API operation for Amazon Simple Systems Manager (SSM).
|
||||
//
|
||||
// Remove a label or labels from a parameter.
|
||||
//
|
||||
// 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 Simple Systems Manager (SSM)'s
|
||||
// API operation UnlabelParameterVersion for usage and error information.
|
||||
//
|
||||
// Returned Error Types:
|
||||
// * InternalServerError
|
||||
// An error occurred on the server side.
|
||||
//
|
||||
// * TooManyUpdates
|
||||
// There are concurrent updates for a resource that supports one update at a
|
||||
// time.
|
||||
//
|
||||
// * ParameterNotFound
|
||||
// The parameter could not be found. Verify the name and try again.
|
||||
//
|
||||
// * ParameterVersionNotFound
|
||||
// The specified parameter version was not found. Verify the parameter name
|
||||
// and version, and try again.
|
||||
//
|
||||
// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UnlabelParameterVersion
|
||||
func (c *SSM) UnlabelParameterVersion(input *UnlabelParameterVersionInput) (*UnlabelParameterVersionOutput, error) {
|
||||
req, out := c.UnlabelParameterVersionRequest(input)
|
||||
return out, req.Send()
|
||||
}
|
||||
|
||||
// UnlabelParameterVersionWithContext is the same as UnlabelParameterVersion with the addition of
|
||||
// the ability to pass a context and additional request options.
|
||||
//
|
||||
// See UnlabelParameterVersion 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 *SSM) UnlabelParameterVersionWithContext(ctx aws.Context, input *UnlabelParameterVersionInput, opts ...request.Option) (*UnlabelParameterVersionOutput, error) {
|
||||
req, out := c.UnlabelParameterVersionRequest(input)
|
||||
req.SetContext(ctx)
|
||||
req.ApplyOptions(opts...)
|
||||
return out, req.Send()
|
||||
}
|
||||
|
||||
const opUpdateAssociation = "UpdateAssociation"
|
||||
|
||||
// UpdateAssociationRequest generates a "aws/request.Request" representing the
|
||||
|
@ -15233,9 +15327,7 @@ type AddTagsToResourceInput struct {
|
|||
// ResourceType is a required field
|
||||
ResourceType *string `type:"string" required:"true" enum:"ResourceTypeForTagging"`
|
||||
|
||||
// One or more tags. The value parameter is required, but if you don't want
|
||||
// the tag to have a value, specify the parameter with no value, and we set
|
||||
// the value to an empty string.
|
||||
// One or more tags. The value parameter is required.
|
||||
//
|
||||
// Do not enter personally identifiable information in this field.
|
||||
//
|
||||
|
@ -15457,7 +15549,8 @@ type Association struct {
|
|||
// Information about the association.
|
||||
Overview *AssociationOverview `type:"structure"`
|
||||
|
||||
// A cron expression that specifies a schedule when the association runs.
|
||||
// A cron expression that specifies a schedule when the association runs. The
|
||||
// schedule runs in Coordinated Universal Time (UTC).
|
||||
ScheduleExpression *string `min:"1" type:"string"`
|
||||
|
||||
// The instances targeted by the request to create an association.
|
||||
|
@ -19465,8 +19558,10 @@ type CreateActivationInput struct {
|
|||
// Do not enter personally identifiable information in this field.
|
||||
Description *string `type:"string"`
|
||||
|
||||
// The date by which this activation request should expire. The default value
|
||||
// is 24 hours.
|
||||
// The date by which this activation request should expire, in timestamp format,
|
||||
// such as "2021-07-07T00:00:00". You can specify a date up to 30 days in advance.
|
||||
// If you don't provide an expiration date, the activation code expires in 24
|
||||
// hours.
|
||||
ExpirationDate *time.Time `type:"timestamp"`
|
||||
|
||||
// The Amazon Identity and Access Management (IAM) role that you want to assign
|
||||
|
@ -23124,7 +23219,7 @@ type DescribeAutomationStepExecutionsInput struct {
|
|||
NextToken *string `type:"string"`
|
||||
|
||||
// A boolean that indicates whether to list step executions in reverse order
|
||||
// by start time. The default value is false.
|
||||
// by start time. The default value is 'false'.
|
||||
ReverseOrder *bool `type:"boolean"`
|
||||
}
|
||||
|
||||
|
@ -25756,6 +25851,13 @@ type DescribePatchGroupStateOutput struct {
|
|||
// The number of instances in the patch group.
|
||||
Instances *int64 `type:"integer"`
|
||||
|
||||
// The number of instances where patches that are specified as "Critical" for
|
||||
// compliance reporting in the patch baseline are not installed. These patches
|
||||
// might be missing, have failed installation, were rejected, or were installed
|
||||
// but awaiting a required instance reboot. The status of these instances is
|
||||
// NON_COMPLIANT.
|
||||
InstancesWithCriticalNonCompliantPatches *int64 `type:"integer"`
|
||||
|
||||
// The number of instances with patches from the patch baseline that failed
|
||||
// to install.
|
||||
InstancesWithFailedPatches *int64 `type:"integer"`
|
||||
|
@ -25786,6 +25888,17 @@ type DescribePatchGroupStateOutput struct {
|
|||
// The number of instances with patches that aren't applicable.
|
||||
InstancesWithNotApplicablePatches *int64 `type:"integer"`
|
||||
|
||||
// The number of instances with patches installed that are specified as other
|
||||
// than "Critical" or "Security" but are not compliant with the patch baseline.
|
||||
// The status of these instances is NON_COMPLIANT.
|
||||
InstancesWithOtherNonCompliantPatches *int64 `type:"integer"`
|
||||
|
||||
// The number of instances where patches that are specified as "Security" in
|
||||
// a patch advisory are not installed. These patches might be missing, have
|
||||
// failed installation, were rejected, or were installed but awaiting a required
|
||||
// instance reboot. The status of these instances is NON_COMPLIANT.
|
||||
InstancesWithSecurityNonCompliantPatches *int64 `type:"integer"`
|
||||
|
||||
// The number of instances with NotApplicable patches beyond the supported limit,
|
||||
// which are not reported by name to Systems Manager Inventory.
|
||||
InstancesWithUnreportedNotApplicablePatches *int64 `type:"integer"`
|
||||
|
@ -25807,6 +25920,12 @@ func (s *DescribePatchGroupStateOutput) SetInstances(v int64) *DescribePatchGrou
|
|||
return s
|
||||
}
|
||||
|
||||
// SetInstancesWithCriticalNonCompliantPatches sets the InstancesWithCriticalNonCompliantPatches field's value.
|
||||
func (s *DescribePatchGroupStateOutput) SetInstancesWithCriticalNonCompliantPatches(v int64) *DescribePatchGroupStateOutput {
|
||||
s.InstancesWithCriticalNonCompliantPatches = &v
|
||||
return s
|
||||
}
|
||||
|
||||
// SetInstancesWithFailedPatches sets the InstancesWithFailedPatches field's value.
|
||||
func (s *DescribePatchGroupStateOutput) SetInstancesWithFailedPatches(v int64) *DescribePatchGroupStateOutput {
|
||||
s.InstancesWithFailedPatches = &v
|
||||
|
@ -25849,6 +25968,18 @@ func (s *DescribePatchGroupStateOutput) SetInstancesWithNotApplicablePatches(v i
|
|||
return s
|
||||
}
|
||||
|
||||
// SetInstancesWithOtherNonCompliantPatches sets the InstancesWithOtherNonCompliantPatches field's value.
|
||||
func (s *DescribePatchGroupStateOutput) SetInstancesWithOtherNonCompliantPatches(v int64) *DescribePatchGroupStateOutput {
|
||||
s.InstancesWithOtherNonCompliantPatches = &v
|
||||
return s
|
||||
}
|
||||
|
||||
// SetInstancesWithSecurityNonCompliantPatches sets the InstancesWithSecurityNonCompliantPatches field's value.
|
||||
func (s *DescribePatchGroupStateOutput) SetInstancesWithSecurityNonCompliantPatches(v int64) *DescribePatchGroupStateOutput {
|
||||
s.InstancesWithSecurityNonCompliantPatches = &v
|
||||
return s
|
||||
}
|
||||
|
||||
// SetInstancesWithUnreportedNotApplicablePatches sets the InstancesWithUnreportedNotApplicablePatches field's value.
|
||||
func (s *DescribePatchGroupStateOutput) SetInstancesWithUnreportedNotApplicablePatches(v int64) *DescribePatchGroupStateOutput {
|
||||
s.InstancesWithUnreportedNotApplicablePatches = &v
|
||||
|
@ -28042,19 +28173,25 @@ type GetCommandInvocationInput struct {
|
|||
CommandId *string `min:"36" type:"string" required:"true"`
|
||||
|
||||
// (Required) The ID of the managed instance targeted by the command. A managed
|
||||
// instance can be an EC2 instance or an instance in your hybrid environment
|
||||
// that is configured for Systems Manager.
|
||||
// instance can be an Amazon Elastic Compute Cloud (Amazon EC2) instance or
|
||||
// an instance in your hybrid environment that is configured for AWS Systems
|
||||
// Manager.
|
||||
//
|
||||
// InstanceId is a required field
|
||||
InstanceId *string `type:"string" required:"true"`
|
||||
|
||||
// The name of the plugin for which you want detailed results. If the document
|
||||
// contains only one plugin, you can omit the name and details for that plugin
|
||||
// are returned. If the document contains more than one plugin, you must specify
|
||||
// the name of the plugin for which you want to view details.
|
||||
// contains only one plugin, you can omit the name and details for that plugin.
|
||||
// If the document contains more than one plugin, you must specify the name
|
||||
// of the plugin for which you want to view details.
|
||||
//
|
||||
// Plugin names are also referred to as step names in Systems Manager documents.
|
||||
// For example, aws:RunShellScript is a plugin.
|
||||
//
|
||||
// To find the PluginName, check the document content and find the name of the
|
||||
// plugin. Alternatively, use ListCommandInvocations with the CommandId and
|
||||
// Details parameters. The PluginName is the Name attribute of the CommandPlugin
|
||||
// object in the CommandPlugins list.
|
||||
PluginName *string `min:"4" type:"string"`
|
||||
}
|
||||
|
||||
|
@ -28129,7 +28266,7 @@ type GetCommandInvocationOutput struct {
|
|||
// Duration since ExecutionStartDateTime.
|
||||
ExecutionElapsedTime *string `type:"string"`
|
||||
|
||||
// The date and time the plugin was finished running. Date and time are written
|
||||
// The date and time the plugin finished running. Date and time are written
|
||||
// in ISO 8601 format. For example, June 7, 2017 is represented as 2017-06-7.
|
||||
// The following sample AWS CLI command uses the InvokedAfter filter.
|
||||
//
|
||||
|
@ -28174,8 +28311,9 @@ type GetCommandInvocationOutput struct {
|
|||
// then this string is empty.
|
||||
StandardOutputContent *string `type:"string"`
|
||||
|
||||
// The URL for the complete text written by the plugin to stdout in Amazon S3.
|
||||
// If an S3 bucket was not specified, then this string is empty.
|
||||
// The URL for the complete text written by the plugin to stdout in Amazon Simple
|
||||
// Storage Service (Amazon S3). If an S3 bucket was not specified, then this
|
||||
// string is empty.
|
||||
StandardOutputUrl *string `type:"string"`
|
||||
|
||||
// The status of this invocation plugin. This status can be different than StatusDetails.
|
||||
|
@ -31944,6 +32082,13 @@ type InstancePatchState struct {
|
|||
// BaselineId is a required field
|
||||
BaselineId *string `min:"20" type:"string" required:"true"`
|
||||
|
||||
// The number of instances where patches that are specified as "Critical" for
|
||||
// compliance reporting in the patch baseline are not installed. These patches
|
||||
// might be missing, have failed installation, were rejected, or were installed
|
||||
// but awaiting a required instance reboot. The status of these instances is
|
||||
// NON_COMPLIANT.
|
||||
CriticalNonCompliantCount *int64 `type:"integer"`
|
||||
|
||||
// The number of patches from the patch baseline that were attempted to be installed
|
||||
// during the last patching operation, but failed to install.
|
||||
FailedCount *int64 `type:"integer"`
|
||||
|
@ -32013,6 +32158,11 @@ type InstancePatchState struct {
|
|||
// OperationStartTime is a required field
|
||||
OperationStartTime *time.Time `type:"timestamp" required:"true"`
|
||||
|
||||
// The number of instances with patches installed that are specified as other
|
||||
// than "Critical" or "Security" but are not compliant with the patch baseline.
|
||||
// The status of these instances is NON_COMPLIANT.
|
||||
OtherNonCompliantCount *int64 `type:"integer"`
|
||||
|
||||
// Placeholder information. This field will always be empty in the current release
|
||||
// of the service.
|
||||
OwnerInformation *string `min:"1" type:"string" sensitive:"true"`
|
||||
|
@ -32036,6 +32186,12 @@ type InstancePatchState struct {
|
|||
// until a reboot is performed.
|
||||
RebootOption *string `type:"string" enum:"RebootOption"`
|
||||
|
||||
// The number of instances where patches that are specified as "Security" in
|
||||
// a patch advisory are not installed. These patches might be missing, have
|
||||
// failed installation, were rejected, or were installed but awaiting a required
|
||||
// instance reboot. The status of these instances is NON_COMPLIANT.
|
||||
SecurityNonCompliantCount *int64 `type:"integer"`
|
||||
|
||||
// The ID of the patch baseline snapshot used during the patching operation
|
||||
// when this compliance data was collected.
|
||||
SnapshotId *string `min:"36" type:"string"`
|
||||
|
@ -32061,6 +32217,12 @@ func (s *InstancePatchState) SetBaselineId(v string) *InstancePatchState {
|
|||
return s
|
||||
}
|
||||
|
||||
// SetCriticalNonCompliantCount sets the CriticalNonCompliantCount field's value.
|
||||
func (s *InstancePatchState) SetCriticalNonCompliantCount(v int64) *InstancePatchState {
|
||||
s.CriticalNonCompliantCount = &v
|
||||
return s
|
||||
}
|
||||
|
||||
// SetFailedCount sets the FailedCount field's value.
|
||||
func (s *InstancePatchState) SetFailedCount(v int64) *InstancePatchState {
|
||||
s.FailedCount = &v
|
||||
|
@ -32139,6 +32301,12 @@ func (s *InstancePatchState) SetOperationStartTime(v time.Time) *InstancePatchSt
|
|||
return s
|
||||
}
|
||||
|
||||
// SetOtherNonCompliantCount sets the OtherNonCompliantCount field's value.
|
||||
func (s *InstancePatchState) SetOtherNonCompliantCount(v int64) *InstancePatchState {
|
||||
s.OtherNonCompliantCount = &v
|
||||
return s
|
||||
}
|
||||
|
||||
// SetOwnerInformation sets the OwnerInformation field's value.
|
||||
func (s *InstancePatchState) SetOwnerInformation(v string) *InstancePatchState {
|
||||
s.OwnerInformation = &v
|
||||
|
@ -32157,6 +32325,12 @@ func (s *InstancePatchState) SetRebootOption(v string) *InstancePatchState {
|
|||
return s
|
||||
}
|
||||
|
||||
// SetSecurityNonCompliantCount sets the SecurityNonCompliantCount field's value.
|
||||
func (s *InstancePatchState) SetSecurityNonCompliantCount(v int64) *InstancePatchState {
|
||||
s.SecurityNonCompliantCount = &v
|
||||
return s
|
||||
}
|
||||
|
||||
// SetSnapshotId sets the SnapshotId field's value.
|
||||
func (s *InstancePatchState) SetSnapshotId(v string) *InstancePatchState {
|
||||
s.SnapshotId = &v
|
||||
|
@ -36170,7 +36344,7 @@ type ListCommandInvocationsInput struct {
|
|||
CommandId *string `min:"36" type:"string"`
|
||||
|
||||
// (Optional) If set this returns the response of the command executions and
|
||||
// any command output. By default this is set to False.
|
||||
// any command output. The default value is 'false'.
|
||||
Details *bool `type:"boolean"`
|
||||
|
||||
// (Optional) One or more filters. Use a filter to return a more specific list
|
||||
|
@ -43263,7 +43437,7 @@ type PutParameterInput struct {
|
|||
// Name is a required field
|
||||
Name *string `min:"1" type:"string" required:"true"`
|
||||
|
||||
// Overwrite an existing parameter. If not specified, will default to "false".
|
||||
// Overwrite an existing parameter. The default value is 'false'.
|
||||
Overwrite *bool `type:"boolean"`
|
||||
|
||||
// One or more policies to apply to a parameter. This action takes a JSON array.
|
||||
|
@ -45158,6 +45332,14 @@ type ResourceDataSyncSource struct {
|
|||
// sync source of this type can synchronize data from AWS Organizations.
|
||||
AwsOrganizationsSource *ResourceDataSyncAwsOrganizationsSource `type:"structure"`
|
||||
|
||||
// When you create a resource data sync, if you choose one of the AWS Organizations
|
||||
// options, then Systems Manager automatically enables all OpsData sources in
|
||||
// the selected AWS Regions for all AWS accounts in your organization (or in
|
||||
// the selected organization units). For more information, see About multiple
|
||||
// account and Region resource data syncs (https://docs.aws.amazon.com/systems-manager/latest/userguide/Explorer-resouce-data-sync-multiple-accounts-and-regions.html)
|
||||
// in the AWS Systems Manager User Guide.
|
||||
EnableAllOpsDataSources *bool `type:"boolean"`
|
||||
|
||||
// Whether to automatically synchronize and aggregate data from new AWS Regions
|
||||
// when those Regions come online.
|
||||
IncludeFutureRegions *bool `type:"boolean"`
|
||||
|
@ -45215,6 +45397,12 @@ func (s *ResourceDataSyncSource) SetAwsOrganizationsSource(v *ResourceDataSyncAw
|
|||
return s
|
||||
}
|
||||
|
||||
// SetEnableAllOpsDataSources sets the EnableAllOpsDataSources field's value.
|
||||
func (s *ResourceDataSyncSource) SetEnableAllOpsDataSources(v bool) *ResourceDataSyncSource {
|
||||
s.EnableAllOpsDataSources = &v
|
||||
return s
|
||||
}
|
||||
|
||||
// SetIncludeFutureRegions sets the IncludeFutureRegions field's value.
|
||||
func (s *ResourceDataSyncSource) SetIncludeFutureRegions(v bool) *ResourceDataSyncSource {
|
||||
s.IncludeFutureRegions = &v
|
||||
|
@ -45253,6 +45441,14 @@ type ResourceDataSyncSourceWithState struct {
|
|||
// type.
|
||||
AwsOrganizationsSource *ResourceDataSyncAwsOrganizationsSource `type:"structure"`
|
||||
|
||||
// When you create a resource data sync, if you choose one of the AWS Organizations
|
||||
// options, then Systems Manager automatically enables all OpsData sources in
|
||||
// the selected AWS Regions for all AWS accounts in your organization (or in
|
||||
// the selected organization units). For more information, see About multiple
|
||||
// account and Region resource data syncs (https://docs.aws.amazon.com/systems-manager/latest/userguide/Explorer-resouce-data-sync-multiple-accounts-and-regions.html)
|
||||
// in the AWS Systems Manager User Guide.
|
||||
EnableAllOpsDataSources *bool `type:"boolean"`
|
||||
|
||||
// Whether to automatically synchronize and aggregate data from new AWS Regions
|
||||
// when those Regions come online.
|
||||
IncludeFutureRegions *bool `type:"boolean"`
|
||||
|
@ -45297,6 +45493,12 @@ func (s *ResourceDataSyncSourceWithState) SetAwsOrganizationsSource(v *ResourceD
|
|||
return s
|
||||
}
|
||||
|
||||
// SetEnableAllOpsDataSources sets the EnableAllOpsDataSources field's value.
|
||||
func (s *ResourceDataSyncSourceWithState) SetEnableAllOpsDataSources(v bool) *ResourceDataSyncSourceWithState {
|
||||
s.EnableAllOpsDataSources = &v
|
||||
return s
|
||||
}
|
||||
|
||||
// SetIncludeFutureRegions sets the IncludeFutureRegions field's value.
|
||||
func (s *ResourceDataSyncSourceWithState) SetIncludeFutureRegions(v bool) *ResourceDataSyncSourceWithState {
|
||||
s.IncludeFutureRegions = &v
|
||||
|
@ -47026,6 +47228,11 @@ func (s *StartAutomationExecutionOutput) SetAutomationExecutionId(v string) *Sta
|
|||
type StartChangeRequestExecutionInput struct {
|
||||
_ struct{} `type:"structure"`
|
||||
|
||||
// User-provided details about the change. If no details are provided, content
|
||||
// specified in the Template information section of the associated change template
|
||||
// is added.
|
||||
ChangeDetails *string `min:"1" type:"string"`
|
||||
|
||||
// The name of the change request associated with the runbook workflow to be
|
||||
// run.
|
||||
ChangeRequestName *string `min:"1" type:"string"`
|
||||
|
@ -47055,6 +47262,11 @@ type StartChangeRequestExecutionInput struct {
|
|||
// Runbooks is a required field
|
||||
Runbooks []*Runbook `min:"1" type:"list" required:"true"`
|
||||
|
||||
// The time that the requester expects the runbook workflow related to the change
|
||||
// request to complete. The time is an estimate only that the requester provides
|
||||
// for reviewers.
|
||||
ScheduledEndTime *time.Time `type:"timestamp"`
|
||||
|
||||
// The date and time specified in the change request to run the Automation runbooks.
|
||||
//
|
||||
// The Automation runbooks specified for the runbook workflow can't run until
|
||||
|
@ -47086,6 +47298,9 @@ func (s StartChangeRequestExecutionInput) GoString() string {
|
|||
// Validate inspects the fields of the type to determine if they are valid.
|
||||
func (s *StartChangeRequestExecutionInput) Validate() error {
|
||||
invalidParams := request.ErrInvalidParams{Context: "StartChangeRequestExecutionInput"}
|
||||
if s.ChangeDetails != nil && len(*s.ChangeDetails) < 1 {
|
||||
invalidParams.Add(request.NewErrParamMinLen("ChangeDetails", 1))
|
||||
}
|
||||
if s.ChangeRequestName != nil && len(*s.ChangeRequestName) < 1 {
|
||||
invalidParams.Add(request.NewErrParamMinLen("ChangeRequestName", 1))
|
||||
}
|
||||
|
@ -47131,6 +47346,12 @@ func (s *StartChangeRequestExecutionInput) Validate() error {
|
|||
return nil
|
||||
}
|
||||
|
||||
// SetChangeDetails sets the ChangeDetails field's value.
|
||||
func (s *StartChangeRequestExecutionInput) SetChangeDetails(v string) *StartChangeRequestExecutionInput {
|
||||
s.ChangeDetails = &v
|
||||
return s
|
||||
}
|
||||
|
||||
// SetChangeRequestName sets the ChangeRequestName field's value.
|
||||
func (s *StartChangeRequestExecutionInput) SetChangeRequestName(v string) *StartChangeRequestExecutionInput {
|
||||
s.ChangeRequestName = &v
|
||||
|
@ -47167,6 +47388,12 @@ func (s *StartChangeRequestExecutionInput) SetRunbooks(v []*Runbook) *StartChang
|
|||
return s
|
||||
}
|
||||
|
||||
// SetScheduledEndTime sets the ScheduledEndTime field's value.
|
||||
func (s *StartChangeRequestExecutionInput) SetScheduledEndTime(v time.Time) *StartChangeRequestExecutionInput {
|
||||
s.ScheduledEndTime = &v
|
||||
return s
|
||||
}
|
||||
|
||||
// SetScheduledTime sets the ScheduledTime field's value.
|
||||
func (s *StartChangeRequestExecutionInput) SetScheduledTime(v time.Time) *StartChangeRequestExecutionInput {
|
||||
s.ScheduledTime = &v
|
||||
|
@ -47898,6 +48125,9 @@ type Target struct {
|
|||
// User-defined criteria that maps to Key. For example, if you specified tag:ServerRole,
|
||||
// you could specify value:WebServer to run a command on instances that include
|
||||
// EC2 tags of ServerRole,WebServer.
|
||||
//
|
||||
// Depending on the type of Target, the maximum number of values for a Key might
|
||||
// be lower than the global maximum of 50.
|
||||
Values []*string `type:"list"`
|
||||
}
|
||||
|
||||
|
@ -48377,6 +48607,111 @@ func (s *TotalSizeLimitExceededException) RequestID() string {
|
|||
return s.RespMetadata.RequestID
|
||||
}
|
||||
|
||||
type UnlabelParameterVersionInput struct {
|
||||
_ struct{} `type:"structure"`
|
||||
|
||||
// One or more labels to delete from the specified parameter version.
|
||||
//
|
||||
// Labels is a required field
|
||||
Labels []*string `min:"1" type:"list" required:"true"`
|
||||
|
||||
// The parameter name of which you want to delete one or more labels.
|
||||
//
|
||||
// Name is a required field
|
||||
Name *string `min:"1" type:"string" required:"true"`
|
||||
|
||||
// The specific version of the parameter which you want to delete one or more
|
||||
// labels from. If it is not present, the call will fail.
|
||||
//
|
||||
// ParameterVersion is a required field
|
||||
ParameterVersion *int64 `type:"long" required:"true"`
|
||||
}
|
||||
|
||||
// String returns the string representation
|
||||
func (s UnlabelParameterVersionInput) String() string {
|
||||
return awsutil.Prettify(s)
|
||||
}
|
||||
|
||||
// GoString returns the string representation
|
||||
func (s UnlabelParameterVersionInput) GoString() string {
|
||||
return s.String()
|
||||
}
|
||||
|
||||
// Validate inspects the fields of the type to determine if they are valid.
|
||||
func (s *UnlabelParameterVersionInput) Validate() error {
|
||||
invalidParams := request.ErrInvalidParams{Context: "UnlabelParameterVersionInput"}
|
||||
if s.Labels == nil {
|
||||
invalidParams.Add(request.NewErrParamRequired("Labels"))
|
||||
}
|
||||
if s.Labels != nil && len(s.Labels) < 1 {
|
||||
invalidParams.Add(request.NewErrParamMinLen("Labels", 1))
|
||||
}
|
||||
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.ParameterVersion == nil {
|
||||
invalidParams.Add(request.NewErrParamRequired("ParameterVersion"))
|
||||
}
|
||||
|
||||
if invalidParams.Len() > 0 {
|
||||
return invalidParams
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// SetLabels sets the Labels field's value.
|
||||
func (s *UnlabelParameterVersionInput) SetLabels(v []*string) *UnlabelParameterVersionInput {
|
||||
s.Labels = v
|
||||
return s
|
||||
}
|
||||
|
||||
// SetName sets the Name field's value.
|
||||
func (s *UnlabelParameterVersionInput) SetName(v string) *UnlabelParameterVersionInput {
|
||||
s.Name = &v
|
||||
return s
|
||||
}
|
||||
|
||||
// SetParameterVersion sets the ParameterVersion field's value.
|
||||
func (s *UnlabelParameterVersionInput) SetParameterVersion(v int64) *UnlabelParameterVersionInput {
|
||||
s.ParameterVersion = &v
|
||||
return s
|
||||
}
|
||||
|
||||
type UnlabelParameterVersionOutput struct {
|
||||
_ struct{} `type:"structure"`
|
||||
|
||||
// The labels that are not attached to the given parameter version.
|
||||
InvalidLabels []*string `min:"1" type:"list"`
|
||||
|
||||
// A list of all labels deleted from the parameter.
|
||||
RemovedLabels []*string `min:"1" type:"list"`
|
||||
}
|
||||
|
||||
// String returns the string representation
|
||||
func (s UnlabelParameterVersionOutput) String() string {
|
||||
return awsutil.Prettify(s)
|
||||
}
|
||||
|
||||
// GoString returns the string representation
|
||||
func (s UnlabelParameterVersionOutput) GoString() string {
|
||||
return s.String()
|
||||
}
|
||||
|
||||
// SetInvalidLabels sets the InvalidLabels field's value.
|
||||
func (s *UnlabelParameterVersionOutput) SetInvalidLabels(v []*string) *UnlabelParameterVersionOutput {
|
||||
s.InvalidLabels = v
|
||||
return s
|
||||
}
|
||||
|
||||
// SetRemovedLabels sets the RemovedLabels field's value.
|
||||
func (s *UnlabelParameterVersionOutput) SetRemovedLabels(v []*string) *UnlabelParameterVersionOutput {
|
||||
s.RemovedLabels = v
|
||||
return s
|
||||
}
|
||||
|
||||
// The calendar entry contained in the specified Systems Manager document is
|
||||
// not supported.
|
||||
type UnsupportedCalendarException struct {
|
||||
|
@ -49267,9 +49602,9 @@ type UpdateDocumentInput struct {
|
|||
// supports JSON and YAML documents. JSON is the default format.
|
||||
DocumentFormat *string `type:"string" enum:"DocumentFormat"`
|
||||
|
||||
// (Required) The latest version of the document that you want to update. The
|
||||
// latest document version can be specified using the $LATEST variable or by
|
||||
// the version number. Updating a previous version of a document is not supported.
|
||||
// The version of the document that you want to update. Currently, Systems Manager
|
||||
// supports updating only the latest version of the document. You can specify
|
||||
// the version number of the latest version or use the $LATEST variable.
|
||||
DocumentVersion *string `type:"string"`
|
||||
|
||||
// The name of the document that you want to update.
|
||||
|
|
|
@ -663,6 +663,10 @@ type SSMAPI interface {
|
|||
TerminateSessionWithContext(aws.Context, *ssm.TerminateSessionInput, ...request.Option) (*ssm.TerminateSessionOutput, error)
|
||||
TerminateSessionRequest(*ssm.TerminateSessionInput) (*request.Request, *ssm.TerminateSessionOutput)
|
||||
|
||||
UnlabelParameterVersion(*ssm.UnlabelParameterVersionInput) (*ssm.UnlabelParameterVersionOutput, error)
|
||||
UnlabelParameterVersionWithContext(aws.Context, *ssm.UnlabelParameterVersionInput, ...request.Option) (*ssm.UnlabelParameterVersionOutput, error)
|
||||
UnlabelParameterVersionRequest(*ssm.UnlabelParameterVersionInput) (*request.Request, *ssm.UnlabelParameterVersionOutput)
|
||||
|
||||
UpdateAssociation(*ssm.UpdateAssociationInput) (*ssm.UpdateAssociationOutput, error)
|
||||
UpdateAssociationWithContext(aws.Context, *ssm.UpdateAssociationInput, ...request.Option) (*ssm.UpdateAssociationOutput, error)
|
||||
UpdateAssociationRequest(*ssm.UpdateAssociationInput) (*request.Request, *ssm.UpdateAssociationOutput)
|
||||
|
|
|
@ -65,34 +65,6 @@ func (c *STS) AssumeRoleRequest(input *AssumeRoleInput) (req *request.Request, o
|
|||
// and Comparing the AWS STS API operations (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// You cannot use AWS account root user credentials to call AssumeRole. You
|
||||
// must use credentials for an IAM user or an IAM role to call AssumeRole.
|
||||
//
|
||||
// For cross-account access, imagine that you own multiple accounts and need
|
||||
// to access resources in each account. You could create long-term credentials
|
||||
// in each account to access those resources. However, managing all those credentials
|
||||
// and remembering which one can access which account can be time consuming.
|
||||
// Instead, you can create one set of long-term credentials in one account.
|
||||
// Then use temporary security credentials to access all the other accounts
|
||||
// by assuming roles in those accounts. For more information about roles, see
|
||||
// IAM Roles (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// Session Duration
|
||||
//
|
||||
// By default, the temporary security credentials created by AssumeRole last
|
||||
// for one hour. However, you can use the optional DurationSeconds parameter
|
||||
// to specify the duration of your session. You can provide a value from 900
|
||||
// seconds (15 minutes) up to the maximum session duration setting for the role.
|
||||
// This setting can have a value from 1 hour to 12 hours. To learn how to view
|
||||
// the maximum value for your role, see View the Maximum Session Duration Setting
|
||||
// for a Role (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session)
|
||||
// in the IAM User Guide. The maximum session duration limit applies when you
|
||||
// use the AssumeRole* API operations or the assume-role* CLI commands. However
|
||||
// the limit 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.
|
||||
//
|
||||
// Permissions
|
||||
//
|
||||
// The temporary security credentials created by AssumeRole can be used to make
|
||||
|
@ -102,7 +74,7 @@ func (c *STS) AssumeRoleRequest(input *AssumeRoleInput) (req *request.Request, o
|
|||
// (Optional) You can pass inline or managed session policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session)
|
||||
// to this operation. You can pass a single JSON policy document to use as an
|
||||
// inline session policy. You can also specify up to 10 managed policies to
|
||||
// use as managed session policies. The plain text that you use for both inline
|
||||
// use as managed session policies. The plaintext that you use for both inline
|
||||
// and managed session policies can't exceed 2,048 characters. Passing policies
|
||||
// to this operation returns new temporary credentials. The resulting session's
|
||||
// permissions are the intersection of the role's identity-based policy and
|
||||
|
@ -308,6 +280,15 @@ func (c *STS) AssumeRoleWithSAMLRequest(input *AssumeRoleWithSAMLInput) (req *re
|
|||
// 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.
|
||||
//
|
||||
// Role chaining (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-role-chaining)
|
||||
// limits your AWS CLI or AWS API role session to a maximum of one hour. When
|
||||
// you use the AssumeRole API operation to assume a role, you can specify the
|
||||
// duration of your role session with the DurationSeconds parameter. You can
|
||||
// specify a parameter value of up to 43200 seconds (12 hours), depending on
|
||||
// the maximum session duration setting for your role. However, if you assume
|
||||
// a role using role chaining and provide a DurationSeconds parameter value
|
||||
// greater than one hour, the operation fails.
|
||||
//
|
||||
// Permissions
|
||||
//
|
||||
// The temporary security credentials created by AssumeRoleWithSAML can be used
|
||||
|
@ -317,7 +298,7 @@ func (c *STS) AssumeRoleWithSAMLRequest(input *AssumeRoleWithSAMLInput) (req *re
|
|||
// (Optional) You can pass inline or managed session policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session)
|
||||
// to this operation. You can pass a single JSON policy document to use as an
|
||||
// inline session policy. You can also specify up to 10 managed policies to
|
||||
// use as managed session policies. The plain text that you use for both inline
|
||||
// use as managed session policies. The plaintext that you use for both inline
|
||||
// and managed session policies can't exceed 2,048 characters. Passing policies
|
||||
// to this operation returns new temporary credentials. The resulting session's
|
||||
// permissions are the intersection of the role's identity-based policy and
|
||||
|
@ -346,16 +327,16 @@ func (c *STS) AssumeRoleWithSAMLRequest(input *AssumeRoleWithSAMLInput) (req *re
|
|||
// in STS (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// You can pass up to 50 session tags. The plain text session tag keys can’t
|
||||
// You can pass up to 50 session tags. The plaintext session tag keys can’t
|
||||
// exceed 128 characters and the values can’t exceed 256 characters. For these
|
||||
// and additional limits, see IAM and STS Character Limits (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-limits.html#reference_iam-limits-entity-length)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// An AWS conversion compresses the passed session policies and session tags
|
||||
// into a packed binary format that has a separate limit. Your request can fail
|
||||
// for this limit even if your plain text meets the other requirements. The
|
||||
// PackedPolicySize response element indicates by percentage how close the policies
|
||||
// and tags for your request are to the upper size limit.
|
||||
// for this limit even if your plaintext meets the other requirements. The PackedPolicySize
|
||||
// response element indicates by percentage how close the policies and tags
|
||||
// for your request are to the upper size limit.
|
||||
//
|
||||
// You can pass a session tag with the same key as a tag that is attached to
|
||||
// the role. When you do, session tags override the role's tags with the same
|
||||
|
@ -564,7 +545,7 @@ func (c *STS) AssumeRoleWithWebIdentityRequest(input *AssumeRoleWithWebIdentityI
|
|||
// (Optional) You can pass inline or managed session policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session)
|
||||
// to this operation. You can pass a single JSON policy document to use as an
|
||||
// inline session policy. You can also specify up to 10 managed policies to
|
||||
// use as managed session policies. The plain text that you use for both inline
|
||||
// use as managed session policies. The plaintext that you use for both inline
|
||||
// and managed session policies can't exceed 2,048 characters. Passing policies
|
||||
// to this operation returns new temporary credentials. The resulting session's
|
||||
// permissions are the intersection of the role's identity-based policy and
|
||||
|
@ -583,16 +564,16 @@ func (c *STS) AssumeRoleWithWebIdentityRequest(input *AssumeRoleWithWebIdentityI
|
|||
// in STS (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// You can pass up to 50 session tags. The plain text session tag keys can’t
|
||||
// You can pass up to 50 session tags. The plaintext session tag keys can’t
|
||||
// exceed 128 characters and the values can’t exceed 256 characters. For these
|
||||
// and additional limits, see IAM and STS Character Limits (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-limits.html#reference_iam-limits-entity-length)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// An AWS conversion compresses the passed session policies and session tags
|
||||
// into a packed binary format that has a separate limit. Your request can fail
|
||||
// for this limit even if your plain text meets the other requirements. The
|
||||
// PackedPolicySize response element indicates by percentage how close the policies
|
||||
// and tags for your request are to the upper size limit.
|
||||
// for this limit even if your plaintext meets the other requirements. The PackedPolicySize
|
||||
// response element indicates by percentage how close the policies and tags
|
||||
// for your request are to the upper size limit.
|
||||
//
|
||||
// You can pass a session tag with the same key as a tag that is attached to
|
||||
// the role. When you do, the session tag overrides the role tag with the same
|
||||
|
@ -619,7 +600,7 @@ func (c *STS) AssumeRoleWithWebIdentityRequest(input *AssumeRoleWithWebIdentityI
|
|||
//
|
||||
// Calling AssumeRoleWithWebIdentity can result in an entry in your AWS CloudTrail
|
||||
// logs. The entry includes the Subject (http://openid.net/specs/openid-connect-core-1_0.html#Claims)
|
||||
// of the provided Web Identity Token. We recommend that you avoid using any
|
||||
// of the provided web identity token. We recommend that you avoid using any
|
||||
// personally identifiable information (PII) in this field. For example, you
|
||||
// could instead use a GUID or a pairwise identifier, as suggested in the OIDC
|
||||
// specification (http://openid.net/specs/openid-connect-core-1_0.html#SubjectIDTypes).
|
||||
|
@ -1108,6 +1089,70 @@ func (c *STS) GetFederationTokenRequest(input *GetFederationTokenInput) (req *re
|
|||
// You must pass an inline or managed session policy (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session)
|
||||
// to this operation. You can pass a single JSON policy document to use as an
|
||||
// inline session policy. You can also specify up to 10 managed policies to
|
||||
// use as managed session policies. The plaintext that you use for both inline
|
||||
// and managed session policies can't exceed 2,048 characters.
|
||||
//
|
||||
// Though the session policy parameters are optional, if you do not pass a policy,
|
||||
// then the resulting federated user session has no permissions. When you pass
|
||||
// session policies, the session permissions are the intersection of the IAM
|
||||
// user policies and the session policies that you pass. This gives you a way
|
||||
// to further restrict the permissions for a federated user. You cannot use
|
||||
// session policies to grant more permissions than those that are defined in
|
||||
// the permissions policy of the IAM user. For more information, see Session
|
||||
// Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session)
|
||||
// in the IAM User Guide. For information about using GetFederationToken to
|
||||
// create temporary security credentials, see GetFederationToken—Federation
|
||||
// Through a Custom Identity Broker (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_getfederationtoken).
|
||||
//
|
||||
// You can use the credentials to access a resource that has a resource-based
|
||||
// policy. If that policy specifically references the federated user session
|
||||
// in the Principal element of the policy, the session has the permissions allowed
|
||||
// by the policy. These permissions are granted in addition to the permissions
|
||||
// granted by the session policies.
|
||||
//
|
||||
// Tags
|
||||
//
|
||||
// (Optional) You can pass tag key-value pairs to your session. These are called
|
||||
// session tags. For more information about session tags, see Passing Session
|
||||
// Tags in STS (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// You can create a mobile-based or browser-based app that can authenticate
|
||||
// users using a web identity provider like Login with Amazon, Facebook, Google,
|
||||
// or an OpenID Connect-compatible identity provider. In this case, we recommend
|
||||
// that you use Amazon Cognito (http://aws.amazon.com/cognito/) or AssumeRoleWithWebIdentity.
|
||||
// For more information, see Federation Through a Web-based Identity Provider
|
||||
// (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_assumerolewithwebidentity)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// You can also call GetFederationToken using the security credentials of an
|
||||
// AWS account root user, but we do not recommend it. Instead, we recommend
|
||||
// that you create an IAM user for the purpose of the proxy application. Then
|
||||
// attach a policy to the IAM user that limits federated users to only the actions
|
||||
// and resources that they need to access. For more information, see IAM Best
|
||||
// Practices (https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// Session duration
|
||||
//
|
||||
// The temporary credentials are valid for the specified duration, from 900
|
||||
// seconds (15 minutes) up to a maximum of 129,600 seconds (36 hours). The default
|
||||
// session duration is 43,200 seconds (12 hours). Temporary credentials that
|
||||
// are obtained by using AWS account root user credentials have a maximum duration
|
||||
// of 3,600 seconds (1 hour).
|
||||
//
|
||||
// Permissions
|
||||
//
|
||||
// You can use the temporary credentials created by GetFederationToken in any
|
||||
// AWS service except the following:
|
||||
//
|
||||
// * You cannot call any IAM operations using the AWS CLI or the AWS API.
|
||||
//
|
||||
// * You cannot call any STS operations except GetCallerIdentity.
|
||||
//
|
||||
// You must pass an inline or managed session policy (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session)
|
||||
// to this operation. You can pass a single JSON policy document to use as an
|
||||
// inline session policy. You can also specify up to 10 managed policies to
|
||||
// use as managed session policies. The plain text that you use for both inline
|
||||
// and managed session policies can't exceed 2,048 characters.
|
||||
//
|
||||
|
@ -1338,14 +1383,15 @@ func (c *STS) GetSessionTokenWithContext(ctx aws.Context, input *GetSessionToken
|
|||
type AssumeRoleInput struct {
|
||||
_ struct{} `type:"structure"`
|
||||
|
||||
// The duration, in seconds, of the role session. The value can range from 900
|
||||
// seconds (15 minutes) up to the maximum session duration setting for the role.
|
||||
// This setting can have a value from 1 hour to 12 hours. If you specify a value
|
||||
// higher than this setting, the operation fails. For example, if you specify
|
||||
// a session duration of 12 hours, but your administrator set the maximum session
|
||||
// duration to 6 hours, your operation fails. To learn how to view the maximum
|
||||
// value for your role, see View the Maximum Session Duration Setting for a
|
||||
// Role (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session)
|
||||
// The duration, in seconds, of the role session. The value specified can can
|
||||
// range from 900 seconds (15 minutes) up to the maximum session duration that
|
||||
// is set for the role. The maximum session duration setting can have a value
|
||||
// from 1 hour to 12 hours. If you specify a value higher than this setting
|
||||
// or the administrator setting (whichever is lower), the operation fails. For
|
||||
// example, if you specify a session duration of 12 hours, but your administrator
|
||||
// set the maximum session duration to 6 hours, your operation fails. To learn
|
||||
// how to view the maximum value for your role, see View the Maximum Session
|
||||
// Duration Setting for a Role (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// By default, the value is set to 3600 seconds.
|
||||
|
@ -1387,17 +1433,17 @@ type AssumeRoleInput struct {
|
|||
// that is being assumed. For more information, see Session Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// The plain text that you use for both inline and managed session policies
|
||||
// can't exceed 2,048 characters. The JSON policy characters can be any ASCII
|
||||
// character from the space character to the end of the valid character list
|
||||
// (\u0020 through \u00FF). It can also include the tab (\u0009), linefeed (\u000A),
|
||||
// and carriage return (\u000D) characters.
|
||||
// The plaintext that you use for both inline and managed session policies can't
|
||||
// exceed 2,048 characters. The JSON policy characters can be any ASCII character
|
||||
// from the space character to the end of the valid character list (\u0020 through
|
||||
// \u00FF). It can also include the tab (\u0009), linefeed (\u000A), and carriage
|
||||
// return (\u000D) characters.
|
||||
//
|
||||
// An AWS conversion compresses the passed session policies and session tags
|
||||
// into a packed binary format that has a separate limit. Your request can fail
|
||||
// for this limit even if your plain text meets the other requirements. The
|
||||
// PackedPolicySize response element indicates by percentage how close the policies
|
||||
// and tags for your request are to the upper size limit.
|
||||
// for this limit even if your plaintext meets the other requirements. The PackedPolicySize
|
||||
// response element indicates by percentage how close the policies and tags
|
||||
// for your request are to the upper size limit.
|
||||
Policy *string `min:"1" type:"string"`
|
||||
|
||||
// The Amazon Resource Names (ARNs) of the IAM managed policies that you want
|
||||
|
@ -1405,16 +1451,16 @@ type AssumeRoleInput struct {
|
|||
// as the role.
|
||||
//
|
||||
// This parameter is optional. You can provide up to 10 managed policy ARNs.
|
||||
// However, the plain text that you use for both inline and managed session
|
||||
// policies can't exceed 2,048 characters. 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)
|
||||
// However, the plaintext that you use for both inline and managed session policies
|
||||
// can't exceed 2,048 characters. 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.
|
||||
//
|
||||
// An AWS conversion compresses the passed session policies and session tags
|
||||
// into a packed binary format that has a separate limit. Your request can fail
|
||||
// for this limit even if your plain text meets the other requirements. The
|
||||
// PackedPolicySize response element indicates by percentage how close the policies
|
||||
// and tags for your request are to the upper size limit.
|
||||
// for this limit even if your plaintext meets the other requirements. The PackedPolicySize
|
||||
// response element indicates by percentage how close the policies and tags
|
||||
// for your request are to the upper size limit.
|
||||
//
|
||||
// Passing policies to this operation returns new temporary credentials. The
|
||||
// resulting session's permissions are the intersection of the role's identity-based
|
||||
|
@ -1459,22 +1505,41 @@ type AssumeRoleInput struct {
|
|||
// also include underscores or any of the following characters: =,.@-
|
||||
SerialNumber *string `min:"9" type:"string"`
|
||||
|
||||
// The source identity specified by the principal that is calling the AssumeRole
|
||||
// operation.
|
||||
//
|
||||
// You can require users to specify a source identity when they assume a role.
|
||||
// You do this by using the sts:SourceIdentity condition key in a role trust
|
||||
// policy. You can use source identity information in AWS CloudTrail logs to
|
||||
// determine who took actions with a role. You can use the aws:SourceIdentity
|
||||
// condition key to further control access to AWS resources based on the value
|
||||
// of source identity. For more information about using source identity, see
|
||||
// Monitor and control actions taken with assumed roles (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_monitor.html)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// The regex used to validate this parameter is a string of characters consisting
|
||||
// of upper- and lower-case alphanumeric characters with no spaces. You can
|
||||
// also include underscores or any of the following characters: =,.@-. You cannot
|
||||
// use a value that begins with the text aws:. This prefix is reserved for AWS
|
||||
// internal use.
|
||||
SourceIdentity *string `min:"2" type:"string"`
|
||||
|
||||
// A list of session tags that you want to pass. Each session tag consists of
|
||||
// a key name and an associated value. For more information about session tags,
|
||||
// see Tagging AWS STS Sessions (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// This parameter is optional. You can pass up to 50 session tags. The plain
|
||||
// text session tag keys can’t exceed 128 characters, and the values can’t
|
||||
// exceed 256 characters. For these and additional limits, see IAM and STS Character
|
||||
// This parameter is optional. You can pass up to 50 session tags. The plaintext
|
||||
// session tag keys can’t exceed 128 characters, and the values can’t exceed
|
||||
// 256 characters. For these and additional limits, see IAM and STS Character
|
||||
// Limits (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-limits.html#reference_iam-limits-entity-length)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// An AWS conversion compresses the passed session policies and session tags
|
||||
// into a packed binary format that has a separate limit. Your request can fail
|
||||
// for this limit even if your plain text meets the other requirements. The
|
||||
// PackedPolicySize response element indicates by percentage how close the policies
|
||||
// and tags for your request are to the upper size limit.
|
||||
// for this limit even if your plaintext meets the other requirements. The PackedPolicySize
|
||||
// response element indicates by percentage how close the policies and tags
|
||||
// for your request are to the upper size limit.
|
||||
//
|
||||
// You can pass a session tag with the same key as a tag that is already attached
|
||||
// to the role. When you do, session tags override a role tag with the same
|
||||
|
@ -1495,9 +1560,10 @@ type AssumeRoleInput struct {
|
|||
Tags []*Tag `type:"list"`
|
||||
|
||||
// The value provided by the MFA device, if the trust policy of the role being
|
||||
// assumed requires MFA (that is, if the policy includes a condition that tests
|
||||
// for MFA). If the role being assumed requires MFA and if the TokenCode value
|
||||
// is missing or expired, the AssumeRole call returns an "access denied" error.
|
||||
// assumed requires MFA. (In other words, if the policy includes a condition
|
||||
// that tests for MFA). If the role being assumed requires MFA and if the TokenCode
|
||||
// value is missing or expired, the AssumeRole call returns an "access denied"
|
||||
// error.
|
||||
//
|
||||
// The format for this parameter, as described by its regex pattern, is a sequence
|
||||
// of six numeric digits.
|
||||
|
@ -1554,6 +1620,9 @@ func (s *AssumeRoleInput) Validate() error {
|
|||
if s.SerialNumber != nil && len(*s.SerialNumber) < 9 {
|
||||
invalidParams.Add(request.NewErrParamMinLen("SerialNumber", 9))
|
||||
}
|
||||
if s.SourceIdentity != nil && len(*s.SourceIdentity) < 2 {
|
||||
invalidParams.Add(request.NewErrParamMinLen("SourceIdentity", 2))
|
||||
}
|
||||
if s.TokenCode != nil && len(*s.TokenCode) < 6 {
|
||||
invalidParams.Add(request.NewErrParamMinLen("TokenCode", 6))
|
||||
}
|
||||
|
@ -1626,6 +1695,12 @@ func (s *AssumeRoleInput) SetSerialNumber(v string) *AssumeRoleInput {
|
|||
return s
|
||||
}
|
||||
|
||||
// SetSourceIdentity sets the SourceIdentity field's value.
|
||||
func (s *AssumeRoleInput) SetSourceIdentity(v string) *AssumeRoleInput {
|
||||
s.SourceIdentity = &v
|
||||
return s
|
||||
}
|
||||
|
||||
// SetTags sets the Tags field's value.
|
||||
func (s *AssumeRoleInput) SetTags(v []*Tag) *AssumeRoleInput {
|
||||
s.Tags = v
|
||||
|
@ -1668,6 +1743,23 @@ type AssumeRoleOutput struct {
|
|||
// packed size is greater than 100 percent, which means the policies and tags
|
||||
// exceeded the allowed space.
|
||||
PackedPolicySize *int64 `type:"integer"`
|
||||
|
||||
// The source identity specified by the principal that is calling the AssumeRole
|
||||
// operation.
|
||||
//
|
||||
// You can require users to specify a source identity when they assume a role.
|
||||
// You do this by using the sts:SourceIdentity condition key in a role trust
|
||||
// policy. You can use source identity information in AWS CloudTrail logs to
|
||||
// determine who took actions with a role. You can use the aws:SourceIdentity
|
||||
// condition key to further control access to AWS resources based on the value
|
||||
// of source identity. For more information about using source identity, see
|
||||
// Monitor and control actions taken with assumed roles (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_monitor.html)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// The regex used to validate this parameter is a string of characters consisting
|
||||
// of upper- and lower-case alphanumeric characters with no spaces. You can
|
||||
// also include underscores or any of the following characters: =,.@-
|
||||
SourceIdentity *string `min:"2" type:"string"`
|
||||
}
|
||||
|
||||
// String returns the string representation
|
||||
|
@ -1698,6 +1790,12 @@ func (s *AssumeRoleOutput) SetPackedPolicySize(v int64) *AssumeRoleOutput {
|
|||
return s
|
||||
}
|
||||
|
||||
// SetSourceIdentity sets the SourceIdentity field's value.
|
||||
func (s *AssumeRoleOutput) SetSourceIdentity(v string) *AssumeRoleOutput {
|
||||
s.SourceIdentity = &v
|
||||
return s
|
||||
}
|
||||
|
||||
type AssumeRoleWithSAMLInput struct {
|
||||
_ struct{} `type:"structure"`
|
||||
|
||||
|
@ -1736,17 +1834,17 @@ type AssumeRoleWithSAMLInput struct {
|
|||
// that is being assumed. For more information, see Session Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// The plain text that you use for both inline and managed session policies
|
||||
// can't exceed 2,048 characters. The JSON policy characters can be any ASCII
|
||||
// character from the space character to the end of the valid character list
|
||||
// (\u0020 through \u00FF). It can also include the tab (\u0009), linefeed (\u000A),
|
||||
// and carriage return (\u000D) characters.
|
||||
// The plaintext that you use for both inline and managed session policies can't
|
||||
// exceed 2,048 characters. The JSON policy characters can be any ASCII character
|
||||
// from the space character to the end of the valid character list (\u0020 through
|
||||
// \u00FF). It can also include the tab (\u0009), linefeed (\u000A), and carriage
|
||||
// return (\u000D) characters.
|
||||
//
|
||||
// An AWS conversion compresses the passed session policies and session tags
|
||||
// into a packed binary format that has a separate limit. Your request can fail
|
||||
// for this limit even if your plain text meets the other requirements. The
|
||||
// PackedPolicySize response element indicates by percentage how close the policies
|
||||
// and tags for your request are to the upper size limit.
|
||||
// for this limit even if your plaintext meets the other requirements. The PackedPolicySize
|
||||
// response element indicates by percentage how close the policies and tags
|
||||
// for your request are to the upper size limit.
|
||||
Policy *string `min:"1" type:"string"`
|
||||
|
||||
// The Amazon Resource Names (ARNs) of the IAM managed policies that you want
|
||||
|
@ -1754,16 +1852,16 @@ type AssumeRoleWithSAMLInput struct {
|
|||
// as the role.
|
||||
//
|
||||
// This parameter is optional. You can provide up to 10 managed policy ARNs.
|
||||
// However, the plain text that you use for both inline and managed session
|
||||
// policies can't exceed 2,048 characters. 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)
|
||||
// However, the plaintext that you use for both inline and managed session policies
|
||||
// can't exceed 2,048 characters. 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.
|
||||
//
|
||||
// An AWS conversion compresses the passed session policies and session tags
|
||||
// into a packed binary format that has a separate limit. Your request can fail
|
||||
// for this limit even if your plain text meets the other requirements. The
|
||||
// PackedPolicySize response element indicates by percentage how close the policies
|
||||
// and tags for your request are to the upper size limit.
|
||||
// for this limit even if your plaintext meets the other requirements. The PackedPolicySize
|
||||
// response element indicates by percentage how close the policies and tags
|
||||
// for your request are to the upper size limit.
|
||||
//
|
||||
// Passing policies to this operation returns new temporary credentials. The
|
||||
// resulting session's permissions are the intersection of the role's identity-based
|
||||
|
@ -1786,7 +1884,7 @@ type AssumeRoleWithSAMLInput struct {
|
|||
// RoleArn is a required field
|
||||
RoleArn *string `min:"20" type:"string" required:"true"`
|
||||
|
||||
// The base-64 encoded SAML authentication response provided by the IdP.
|
||||
// The base64 encoded SAML authentication response provided by the IdP.
|
||||
//
|
||||
// For more information, see Configuring a Relying Party and Adding Claims (https://docs.aws.amazon.com/IAM/latest/UserGuide/create-role-saml-IdP-tasks.html)
|
||||
// in the IAM User Guide.
|
||||
|
@ -1908,10 +2006,17 @@ type AssumeRoleWithSAMLOutput struct {
|
|||
// The value of the Issuer element of the SAML assertion.
|
||||
Issuer *string `type:"string"`
|
||||
|
||||
// A hash value based on the concatenation of the Issuer response value, the
|
||||
// AWS account ID, and the friendly name (the last part of the ARN) of the SAML
|
||||
// provider in IAM. The combination of NameQualifier and Subject can be used
|
||||
// to uniquely identify a federated user.
|
||||
// A hash value based on the concatenation of the following:
|
||||
//
|
||||
// * The Issuer response value.
|
||||
//
|
||||
// * The AWS account ID.
|
||||
//
|
||||
// * The friendly name (the last part of the ARN) of the SAML provider in
|
||||
// IAM.
|
||||
//
|
||||
// The combination of NameQualifier and Subject can be used to uniquely identify
|
||||
// a federated user.
|
||||
//
|
||||
// The following pseudocode shows how the hash value is calculated:
|
||||
//
|
||||
|
@ -1925,6 +2030,26 @@ type AssumeRoleWithSAMLOutput struct {
|
|||
// exceeded the allowed space.
|
||||
PackedPolicySize *int64 `type:"integer"`
|
||||
|
||||
// The value in the SourceIdentity attribute in the SAML assertion.
|
||||
//
|
||||
// You can require users to set a source identity value when they assume a role.
|
||||
// You do this by using the sts:SourceIdentity condition key in a role trust
|
||||
// policy. That way, actions that are taken with the role are associated with
|
||||
// that user. After the source identity is set, the value cannot be changed.
|
||||
// It is present in the request for all actions that are taken by the role and
|
||||
// persists across chained role (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts#iam-term-role-chaining)
|
||||
// sessions. You can configure your SAML identity provider to use an attribute
|
||||
// associated with your users, like user name or email, as the source identity
|
||||
// when calling AssumeRoleWithSAML. You do this by adding an attribute to the
|
||||
// SAML assertion. For more information about using source identity, see Monitor
|
||||
// and control actions taken with assumed roles (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_monitor.html)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// The regex used to validate this parameter is a string of characters consisting
|
||||
// of upper- and lower-case alphanumeric characters with no spaces. You can
|
||||
// also include underscores or any of the following characters: =,.@-
|
||||
SourceIdentity *string `min:"2" type:"string"`
|
||||
|
||||
// The value of the NameID element in the Subject element of the SAML assertion.
|
||||
Subject *string `type:"string"`
|
||||
|
||||
|
@ -1985,6 +2110,12 @@ func (s *AssumeRoleWithSAMLOutput) SetPackedPolicySize(v int64) *AssumeRoleWithS
|
|||
return s
|
||||
}
|
||||
|
||||
// SetSourceIdentity sets the SourceIdentity field's value.
|
||||
func (s *AssumeRoleWithSAMLOutput) SetSourceIdentity(v string) *AssumeRoleWithSAMLOutput {
|
||||
s.SourceIdentity = &v
|
||||
return s
|
||||
}
|
||||
|
||||
// SetSubject sets the Subject field's value.
|
||||
func (s *AssumeRoleWithSAMLOutput) SetSubject(v string) *AssumeRoleWithSAMLOutput {
|
||||
s.Subject = &v
|
||||
|
@ -2032,17 +2163,17 @@ type AssumeRoleWithWebIdentityInput struct {
|
|||
// that is being assumed. For more information, see Session Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// The plain text that you use for both inline and managed session policies
|
||||
// can't exceed 2,048 characters. The JSON policy characters can be any ASCII
|
||||
// character from the space character to the end of the valid character list
|
||||
// (\u0020 through \u00FF). It can also include the tab (\u0009), linefeed (\u000A),
|
||||
// and carriage return (\u000D) characters.
|
||||
// The plaintext that you use for both inline and managed session policies can't
|
||||
// exceed 2,048 characters. The JSON policy characters can be any ASCII character
|
||||
// from the space character to the end of the valid character list (\u0020 through
|
||||
// \u00FF). It can also include the tab (\u0009), linefeed (\u000A), and carriage
|
||||
// return (\u000D) characters.
|
||||
//
|
||||
// An AWS conversion compresses the passed session policies and session tags
|
||||
// into a packed binary format that has a separate limit. Your request can fail
|
||||
// for this limit even if your plain text meets the other requirements. The
|
||||
// PackedPolicySize response element indicates by percentage how close the policies
|
||||
// and tags for your request are to the upper size limit.
|
||||
// for this limit even if your plaintext meets the other requirements. The PackedPolicySize
|
||||
// response element indicates by percentage how close the policies and tags
|
||||
// for your request are to the upper size limit.
|
||||
Policy *string `min:"1" type:"string"`
|
||||
|
||||
// The Amazon Resource Names (ARNs) of the IAM managed policies that you want
|
||||
|
@ -2050,16 +2181,16 @@ type AssumeRoleWithWebIdentityInput struct {
|
|||
// as the role.
|
||||
//
|
||||
// This parameter is optional. You can provide up to 10 managed policy ARNs.
|
||||
// However, the plain text that you use for both inline and managed session
|
||||
// policies can't exceed 2,048 characters. 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)
|
||||
// However, the plaintext that you use for both inline and managed session policies
|
||||
// can't exceed 2,048 characters. 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.
|
||||
//
|
||||
// An AWS conversion compresses the passed session policies and session tags
|
||||
// into a packed binary format that has a separate limit. Your request can fail
|
||||
// for this limit even if your plain text meets the other requirements. The
|
||||
// PackedPolicySize response element indicates by percentage how close the policies
|
||||
// and tags for your request are to the upper size limit.
|
||||
// for this limit even if your plaintext meets the other requirements. The PackedPolicySize
|
||||
// response element indicates by percentage how close the policies and tags
|
||||
// for your request are to the upper size limit.
|
||||
//
|
||||
// Passing policies to this operation returns new temporary credentials. The
|
||||
// resulting session's permissions are the intersection of the role's identity-based
|
||||
|
@ -2242,6 +2373,29 @@ type AssumeRoleWithWebIdentityOutput struct {
|
|||
// in the AssumeRoleWithWebIdentity request.
|
||||
Provider *string `type:"string"`
|
||||
|
||||
// The value of the source identity that is returned in the JSON web token (JWT)
|
||||
// from the identity provider.
|
||||
//
|
||||
// You can require users to set a source identity value when they assume a role.
|
||||
// You do this by using the sts:SourceIdentity condition key in a role trust
|
||||
// policy. That way, actions that are taken with the role are associated with
|
||||
// that user. After the source identity is set, the value cannot be changed.
|
||||
// It is present in the request for all actions that are taken by the role and
|
||||
// persists across chained role (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts#iam-term-role-chaining)
|
||||
// sessions. You can configure your identity provider to use an attribute associated
|
||||
// with your users, like user name or email, as the source identity when calling
|
||||
// AssumeRoleWithWebIdentity. You do this by adding a claim to the JSON web
|
||||
// token. To learn more about OIDC tokens and claims, see Using Tokens with
|
||||
// User Pools (https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-using-tokens-with-identity-providers.html)
|
||||
// in the Amazon Cognito Developer Guide. For more information about using source
|
||||
// identity, see Monitor and control actions taken with assumed roles (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_monitor.html)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// The regex used to validate this parameter is a string of characters consisting
|
||||
// of upper- and lower-case alphanumeric characters with no spaces. You can
|
||||
// also include underscores or any of the following characters: =,.@-
|
||||
SourceIdentity *string `min:"2" type:"string"`
|
||||
|
||||
// The unique user identifier that is returned by the identity provider. This
|
||||
// identifier is associated with the WebIdentityToken that was submitted with
|
||||
// the AssumeRoleWithWebIdentity call. The identifier is typically unique to
|
||||
|
@ -2291,6 +2445,12 @@ func (s *AssumeRoleWithWebIdentityOutput) SetProvider(v string) *AssumeRoleWithW
|
|||
return s
|
||||
}
|
||||
|
||||
// SetSourceIdentity sets the SourceIdentity field's value.
|
||||
func (s *AssumeRoleWithWebIdentityOutput) SetSourceIdentity(v string) *AssumeRoleWithWebIdentityOutput {
|
||||
s.SourceIdentity = &v
|
||||
return s
|
||||
}
|
||||
|
||||
// SetSubjectFromWebIdentityToken sets the SubjectFromWebIdentityToken field's value.
|
||||
func (s *AssumeRoleWithWebIdentityOutput) SetSubjectFromWebIdentityToken(v string) *AssumeRoleWithWebIdentityOutput {
|
||||
s.SubjectFromWebIdentityToken = &v
|
||||
|
@ -2682,17 +2842,17 @@ type GetFederationTokenInput struct {
|
|||
// by the policy. These permissions are granted in addition to the permissions
|
||||
// that are granted by the session policies.
|
||||
//
|
||||
// The plain text that you use for both inline and managed session policies
|
||||
// can't exceed 2,048 characters. The JSON policy characters can be any ASCII
|
||||
// character from the space character to the end of the valid character list
|
||||
// (\u0020 through \u00FF). It can also include the tab (\u0009), linefeed (\u000A),
|
||||
// and carriage return (\u000D) characters.
|
||||
// The plaintext that you use for both inline and managed session policies can't
|
||||
// exceed 2,048 characters. The JSON policy characters can be any ASCII character
|
||||
// from the space character to the end of the valid character list (\u0020 through
|
||||
// \u00FF). It can also include the tab (\u0009), linefeed (\u000A), and carriage
|
||||
// return (\u000D) characters.
|
||||
//
|
||||
// An AWS conversion compresses the passed session policies and session tags
|
||||
// into a packed binary format that has a separate limit. Your request can fail
|
||||
// for this limit even if your plain text meets the other requirements. The
|
||||
// PackedPolicySize response element indicates by percentage how close the policies
|
||||
// and tags for your request are to the upper size limit.
|
||||
// for this limit even if your plaintext meets the other requirements. The PackedPolicySize
|
||||
// response element indicates by percentage how close the policies and tags
|
||||
// for your request are to the upper size limit.
|
||||
Policy *string `min:"1" type:"string"`
|
||||
|
||||
// The Amazon Resource Names (ARNs) of the IAM managed policies that you want
|
||||
|
@ -2702,7 +2862,7 @@ type GetFederationTokenInput struct {
|
|||
// You must pass an inline or managed session policy (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session)
|
||||
// to this operation. You can pass a single JSON policy document to use as an
|
||||
// inline session policy. You can also specify up to 10 managed policies to
|
||||
// use as managed session policies. The plain text that you use for both inline
|
||||
// use as managed session policies. The plaintext that you use for both inline
|
||||
// and managed session policies can't exceed 2,048 characters. You can provide
|
||||
// up to 10 managed policy ARNs. 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)
|
||||
|
@ -2727,9 +2887,9 @@ type GetFederationTokenInput struct {
|
|||
//
|
||||
// An AWS conversion compresses the passed session policies and session tags
|
||||
// into a packed binary format that has a separate limit. Your request can fail
|
||||
// for this limit even if your plain text meets the other requirements. The
|
||||
// PackedPolicySize response element indicates by percentage how close the policies
|
||||
// and tags for your request are to the upper size limit.
|
||||
// for this limit even if your plaintext meets the other requirements. The PackedPolicySize
|
||||
// response element indicates by percentage how close the policies and tags
|
||||
// for your request are to the upper size limit.
|
||||
PolicyArns []*PolicyDescriptorType `type:"list"`
|
||||
|
||||
// A list of session tags. Each session tag consists of a key name and an associated
|
||||
|
@ -2737,17 +2897,17 @@ type GetFederationTokenInput struct {
|
|||
// in STS (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// This parameter is optional. You can pass up to 50 session tags. The plain
|
||||
// text session tag keys can’t exceed 128 characters and the values can’t
|
||||
// exceed 256 characters. For these and additional limits, see IAM and STS Character
|
||||
// This parameter is optional. You can pass up to 50 session tags. The plaintext
|
||||
// session tag keys can’t exceed 128 characters and the values can’t exceed
|
||||
// 256 characters. For these and additional limits, see IAM and STS Character
|
||||
// Limits (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-limits.html#reference_iam-limits-entity-length)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// An AWS conversion compresses the passed session policies and session tags
|
||||
// into a packed binary format that has a separate limit. Your request can fail
|
||||
// for this limit even if your plain text meets the other requirements. The
|
||||
// PackedPolicySize response element indicates by percentage how close the policies
|
||||
// and tags for your request are to the upper size limit.
|
||||
// for this limit even if your plaintext meets the other requirements. The PackedPolicySize
|
||||
// response element indicates by percentage how close the policies and tags
|
||||
// for your request are to the upper size limit.
|
||||
//
|
||||
// You can pass a session tag with the same key as a tag that is already attached
|
||||
// to the user you are federating. When you do, session tags override a user
|
||||
|
|
|
@ -0,0 +1,373 @@
|
|||
Mozilla Public License Version 2.0
|
||||
==================================
|
||||
|
||||
1. Definitions
|
||||
--------------
|
||||
|
||||
1.1. "Contributor"
|
||||
means each individual or legal entity that creates, contributes to
|
||||
the creation of, or owns Covered Software.
|
||||
|
||||
1.2. "Contributor Version"
|
||||
means the combination of the Contributions of others (if any) used
|
||||
by a Contributor and that particular Contributor's Contribution.
|
||||
|
||||
1.3. "Contribution"
|
||||
means Covered Software of a particular Contributor.
|
||||
|
||||
1.4. "Covered Software"
|
||||
means Source Code Form to which the initial Contributor has attached
|
||||
the notice in Exhibit A, the Executable Form of such Source Code
|
||||
Form, and Modifications of such Source Code Form, in each case
|
||||
including portions thereof.
|
||||
|
||||
1.5. "Incompatible With Secondary Licenses"
|
||||
means
|
||||
|
||||
(a) that the initial Contributor has attached the notice described
|
||||
in Exhibit B to the Covered Software; or
|
||||
|
||||
(b) that the Covered Software was made available under the terms of
|
||||
version 1.1 or earlier of the License, but not also under the
|
||||
terms of a Secondary License.
|
||||
|
||||
1.6. "Executable Form"
|
||||
means any form of the work other than Source Code Form.
|
||||
|
||||
1.7. "Larger Work"
|
||||
means a work that combines Covered Software with other material, in
|
||||
a separate file or files, that is not Covered Software.
|
||||
|
||||
1.8. "License"
|
||||
means this document.
|
||||
|
||||
1.9. "Licensable"
|
||||
means having the right to grant, to the maximum extent possible,
|
||||
whether at the time of the initial grant or subsequently, any and
|
||||
all of the rights conveyed by this License.
|
||||
|
||||
1.10. "Modifications"
|
||||
means any of the following:
|
||||
|
||||
(a) any file in Source Code Form that results from an addition to,
|
||||
deletion from, or modification of the contents of Covered
|
||||
Software; or
|
||||
|
||||
(b) any new file in Source Code Form that contains any Covered
|
||||
Software.
|
||||
|
||||
1.11. "Patent Claims" of a Contributor
|
||||
means any patent claim(s), including without limitation, method,
|
||||
process, and apparatus claims, in any patent Licensable by such
|
||||
Contributor that would be infringed, but for the grant of the
|
||||
License, by the making, using, selling, offering for sale, having
|
||||
made, import, or transfer of either its Contributions or its
|
||||
Contributor Version.
|
||||
|
||||
1.12. "Secondary License"
|
||||
means either the GNU General Public License, Version 2.0, the GNU
|
||||
Lesser General Public License, Version 2.1, the GNU Affero General
|
||||
Public License, Version 3.0, or any later versions of those
|
||||
licenses.
|
||||
|
||||
1.13. "Source Code Form"
|
||||
means the form of the work preferred for making modifications.
|
||||
|
||||
1.14. "You" (or "Your")
|
||||
means an individual or a legal entity exercising rights under this
|
||||
License. For legal entities, "You" includes any entity that
|
||||
controls, is controlled by, or is under common control with You. For
|
||||
purposes of this definition, "control" means (a) the power, direct
|
||||
or indirect, to cause the direction or management of such entity,
|
||||
whether by contract or otherwise, or (b) ownership of more than
|
||||
fifty percent (50%) of the outstanding shares or beneficial
|
||||
ownership of such entity.
|
||||
|
||||
2. License Grants and Conditions
|
||||
--------------------------------
|
||||
|
||||
2.1. Grants
|
||||
|
||||
Each Contributor hereby grants You a world-wide, royalty-free,
|
||||
non-exclusive license:
|
||||
|
||||
(a) under intellectual property rights (other than patent or trademark)
|
||||
Licensable by such Contributor to use, reproduce, make available,
|
||||
modify, display, perform, distribute, and otherwise exploit its
|
||||
Contributions, either on an unmodified basis, with Modifications, or
|
||||
as part of a Larger Work; and
|
||||
|
||||
(b) under Patent Claims of such Contributor to make, use, sell, offer
|
||||
for sale, have made, import, and otherwise transfer either its
|
||||
Contributions or its Contributor Version.
|
||||
|
||||
2.2. Effective Date
|
||||
|
||||
The licenses granted in Section 2.1 with respect to any Contribution
|
||||
become effective for each Contribution on the date the Contributor first
|
||||
distributes such Contribution.
|
||||
|
||||
2.3. Limitations on Grant Scope
|
||||
|
||||
The licenses granted in this Section 2 are the only rights granted under
|
||||
this License. No additional rights or licenses will be implied from the
|
||||
distribution or licensing of Covered Software under this License.
|
||||
Notwithstanding Section 2.1(b) above, no patent license is granted by a
|
||||
Contributor:
|
||||
|
||||
(a) for any code that a Contributor has removed from Covered Software;
|
||||
or
|
||||
|
||||
(b) for infringements caused by: (i) Your and any other third party's
|
||||
modifications of Covered Software, or (ii) the combination of its
|
||||
Contributions with other software (except as part of its Contributor
|
||||
Version); or
|
||||
|
||||
(c) under Patent Claims infringed by Covered Software in the absence of
|
||||
its Contributions.
|
||||
|
||||
This License does not grant any rights in the trademarks, service marks,
|
||||
or logos of any Contributor (except as may be necessary to comply with
|
||||
the notice requirements in Section 3.4).
|
||||
|
||||
2.4. Subsequent Licenses
|
||||
|
||||
No Contributor makes additional grants as a result of Your choice to
|
||||
distribute the Covered Software under a subsequent version of this
|
||||
License (see Section 10.2) or under the terms of a Secondary License (if
|
||||
permitted under the terms of Section 3.3).
|
||||
|
||||
2.5. Representation
|
||||
|
||||
Each Contributor represents that the Contributor believes its
|
||||
Contributions are its original creation(s) or it has sufficient rights
|
||||
to grant the rights to its Contributions conveyed by this License.
|
||||
|
||||
2.6. Fair Use
|
||||
|
||||
This License is not intended to limit any rights You have under
|
||||
applicable copyright doctrines of fair use, fair dealing, or other
|
||||
equivalents.
|
||||
|
||||
2.7. Conditions
|
||||
|
||||
Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted
|
||||
in Section 2.1.
|
||||
|
||||
3. Responsibilities
|
||||
-------------------
|
||||
|
||||
3.1. Distribution of Source Form
|
||||
|
||||
All distribution of Covered Software in Source Code Form, including any
|
||||
Modifications that You create or to which You contribute, must be under
|
||||
the terms of this License. You must inform recipients that the Source
|
||||
Code Form of the Covered Software is governed by the terms of this
|
||||
License, and how they can obtain a copy of this License. You may not
|
||||
attempt to alter or restrict the recipients' rights in the Source Code
|
||||
Form.
|
||||
|
||||
3.2. Distribution of Executable Form
|
||||
|
||||
If You distribute Covered Software in Executable Form then:
|
||||
|
||||
(a) such Covered Software must also be made available in Source Code
|
||||
Form, as described in Section 3.1, and You must inform recipients of
|
||||
the Executable Form how they can obtain a copy of such Source Code
|
||||
Form by reasonable means in a timely manner, at a charge no more
|
||||
than the cost of distribution to the recipient; and
|
||||
|
||||
(b) You may distribute such Executable Form under the terms of this
|
||||
License, or sublicense it under different terms, provided that the
|
||||
license for the Executable Form does not attempt to limit or alter
|
||||
the recipients' rights in the Source Code Form under this License.
|
||||
|
||||
3.3. Distribution of a Larger Work
|
||||
|
||||
You may create and distribute a Larger Work under terms of Your choice,
|
||||
provided that You also comply with the requirements of this License for
|
||||
the Covered Software. If the Larger Work is a combination of Covered
|
||||
Software with a work governed by one or more Secondary Licenses, and the
|
||||
Covered Software is not Incompatible With Secondary Licenses, this
|
||||
License permits You to additionally distribute such Covered Software
|
||||
under the terms of such Secondary License(s), so that the recipient of
|
||||
the Larger Work may, at their option, further distribute the Covered
|
||||
Software under the terms of either this License or such Secondary
|
||||
License(s).
|
||||
|
||||
3.4. Notices
|
||||
|
||||
You may not remove or alter the substance of any license notices
|
||||
(including copyright notices, patent notices, disclaimers of warranty,
|
||||
or limitations of liability) contained within the Source Code Form of
|
||||
the Covered Software, except that You may alter any license notices to
|
||||
the extent required to remedy known factual inaccuracies.
|
||||
|
||||
3.5. Application of Additional Terms
|
||||
|
||||
You may choose to offer, and to charge a fee for, warranty, support,
|
||||
indemnity or liability obligations to one or more recipients of Covered
|
||||
Software. However, You may do so only on Your own behalf, and not on
|
||||
behalf of any Contributor. You must make it absolutely clear that any
|
||||
such warranty, support, indemnity, or liability obligation is offered by
|
||||
You alone, and You hereby agree to indemnify every Contributor for any
|
||||
liability incurred by such Contributor as a result of warranty, support,
|
||||
indemnity or liability terms You offer. You may include additional
|
||||
disclaimers of warranty and limitations of liability specific to any
|
||||
jurisdiction.
|
||||
|
||||
4. Inability to Comply Due to Statute or Regulation
|
||||
---------------------------------------------------
|
||||
|
||||
If it is impossible for You to comply with any of the terms of this
|
||||
License with respect to some or all of the Covered Software due to
|
||||
statute, judicial order, or regulation then You must: (a) comply with
|
||||
the terms of this License to the maximum extent possible; and (b)
|
||||
describe the limitations and the code they affect. Such description must
|
||||
be placed in a text file included with all distributions of the Covered
|
||||
Software under this License. Except to the extent prohibited by statute
|
||||
or regulation, such description must be sufficiently detailed for a
|
||||
recipient of ordinary skill to be able to understand it.
|
||||
|
||||
5. Termination
|
||||
--------------
|
||||
|
||||
5.1. The rights granted under this License will terminate automatically
|
||||
if You fail to comply with any of its terms. However, if You become
|
||||
compliant, then the rights granted under this License from a particular
|
||||
Contributor are reinstated (a) provisionally, unless and until such
|
||||
Contributor explicitly and finally terminates Your grants, and (b) on an
|
||||
ongoing basis, if such Contributor fails to notify You of the
|
||||
non-compliance by some reasonable means prior to 60 days after You have
|
||||
come back into compliance. Moreover, Your grants from a particular
|
||||
Contributor are reinstated on an ongoing basis if such Contributor
|
||||
notifies You of the non-compliance by some reasonable means, this is the
|
||||
first time You have received notice of non-compliance with this License
|
||||
from such Contributor, and You become compliant prior to 30 days after
|
||||
Your receipt of the notice.
|
||||
|
||||
5.2. If You initiate litigation against any entity by asserting a patent
|
||||
infringement claim (excluding declaratory judgment actions,
|
||||
counter-claims, and cross-claims) alleging that a Contributor Version
|
||||
directly or indirectly infringes any patent, then the rights granted to
|
||||
You by any and all Contributors for the Covered Software under Section
|
||||
2.1 of this License shall terminate.
|
||||
|
||||
5.3. In the event of termination under Sections 5.1 or 5.2 above, all
|
||||
end user license agreements (excluding distributors and resellers) which
|
||||
have been validly granted by You or Your distributors under this License
|
||||
prior to termination shall survive termination.
|
||||
|
||||
************************************************************************
|
||||
* *
|
||||
* 6. Disclaimer of Warranty *
|
||||
* ------------------------- *
|
||||
* *
|
||||
* Covered Software is provided under this License on an "as is" *
|
||||
* basis, without warranty of any kind, either expressed, implied, or *
|
||||
* statutory, including, without limitation, warranties that the *
|
||||
* Covered Software is free of defects, merchantable, fit for a *
|
||||
* particular purpose or non-infringing. The entire risk as to the *
|
||||
* quality and performance of the Covered Software is with You. *
|
||||
* Should any Covered Software prove defective in any respect, You *
|
||||
* (not any Contributor) assume the cost of any necessary servicing, *
|
||||
* repair, or correction. This disclaimer of warranty constitutes an *
|
||||
* essential part of this License. No use of any Covered Software is *
|
||||
* authorized under this License except under this disclaimer. *
|
||||
* *
|
||||
************************************************************************
|
||||
|
||||
************************************************************************
|
||||
* *
|
||||
* 7. Limitation of Liability *
|
||||
* -------------------------- *
|
||||
* *
|
||||
* Under no circumstances and under no legal theory, whether tort *
|
||||
* (including negligence), contract, or otherwise, shall any *
|
||||
* Contributor, or anyone who distributes Covered Software as *
|
||||
* permitted above, be liable to You for any direct, indirect, *
|
||||
* special, incidental, or consequential damages of any character *
|
||||
* including, without limitation, damages for lost profits, loss of *
|
||||
* goodwill, work stoppage, computer failure or malfunction, or any *
|
||||
* and all other commercial damages or losses, even if such party *
|
||||
* shall have been informed of the possibility of such damages. This *
|
||||
* limitation of liability shall not apply to liability for death or *
|
||||
* personal injury resulting from such party's negligence to the *
|
||||
* extent applicable law prohibits such limitation. Some *
|
||||
* jurisdictions do not allow the exclusion or limitation of *
|
||||
* incidental or consequential damages, so this exclusion and *
|
||||
* limitation may not apply to You. *
|
||||
* *
|
||||
************************************************************************
|
||||
|
||||
8. Litigation
|
||||
-------------
|
||||
|
||||
Any litigation relating to this License may be brought only in the
|
||||
courts of a jurisdiction where the defendant maintains its principal
|
||||
place of business and such litigation shall be governed by laws of that
|
||||
jurisdiction, without reference to its conflict-of-law provisions.
|
||||
Nothing in this Section shall prevent a party's ability to bring
|
||||
cross-claims or counter-claims.
|
||||
|
||||
9. Miscellaneous
|
||||
----------------
|
||||
|
||||
This License represents the complete agreement concerning the subject
|
||||
matter hereof. If any provision of this License is held to be
|
||||
unenforceable, such provision shall be reformed only to the extent
|
||||
necessary to make it enforceable. Any law or regulation which provides
|
||||
that the language of a contract shall be construed against the drafter
|
||||
shall not be used to construe this License against a Contributor.
|
||||
|
||||
10. Versions of the License
|
||||
---------------------------
|
||||
|
||||
10.1. New Versions
|
||||
|
||||
Mozilla Foundation is the license steward. Except as provided in Section
|
||||
10.3, no one other than the license steward has the right to modify or
|
||||
publish new versions of this License. Each version will be given a
|
||||
distinguishing version number.
|
||||
|
||||
10.2. Effect of New Versions
|
||||
|
||||
You may distribute the Covered Software under the terms of the version
|
||||
of the License under which You originally received the Covered Software,
|
||||
or under the terms of any subsequent version published by the license
|
||||
steward.
|
||||
|
||||
10.3. Modified Versions
|
||||
|
||||
If you create software not governed by this License, and you want to
|
||||
create a new license for such software, you may create and use a
|
||||
modified version of this License if you rename the license and remove
|
||||
any references to the name of the license steward (except to note that
|
||||
such modified license differs from this License).
|
||||
|
||||
10.4. Distributing Source Code Form that is Incompatible With Secondary
|
||||
Licenses
|
||||
|
||||
If You choose to distribute Source Code Form that is Incompatible With
|
||||
Secondary Licenses under the terms of this version of the License, the
|
||||
notice described in Exhibit B of this License must be attached.
|
||||
|
||||
Exhibit A - Source Code Form License Notice
|
||||
-------------------------------------------
|
||||
|
||||
This Source Code Form is subject to the terms of the Mozilla Public
|
||||
License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
If it is not possible or desirable to put the notice in a particular
|
||||
file, then You may include the notice in a location (such as a LICENSE
|
||||
file in a relevant directory) where a recipient would be likely to look
|
||||
for such a notice.
|
||||
|
||||
You may add additional accurate notices of copyright ownership.
|
||||
|
||||
Exhibit B - "Incompatible With Secondary Licenses" Notice
|
||||
---------------------------------------------------------
|
||||
|
||||
This Source Code Form is "Incompatible With Secondary Licenses", as
|
||||
defined by the Mozilla Public License, v. 2.0.
|
|
@ -12,6 +12,7 @@ import (
|
|||
"fmt"
|
||||
|
||||
"github.com/hashicorp/hcl/v2/hcldec"
|
||||
osccommon "github.com/hashicorp/packer-plugin-outscale/builder/osc/common"
|
||||
"github.com/hashicorp/packer-plugin-sdk/common"
|
||||
"github.com/hashicorp/packer-plugin-sdk/communicator"
|
||||
"github.com/hashicorp/packer-plugin-sdk/multistep"
|
||||
|
@ -19,7 +20,6 @@ import (
|
|||
packersdk "github.com/hashicorp/packer-plugin-sdk/packer"
|
||||
"github.com/hashicorp/packer-plugin-sdk/template/config"
|
||||
"github.com/hashicorp/packer-plugin-sdk/template/interpolate"
|
||||
osccommon "github.com/hashicorp/packer/builder/osc/common"
|
||||
)
|
||||
|
||||
// The unique ID for this builder
|
|
@ -4,7 +4,7 @@ package bsu
|
|||
|
||||
import (
|
||||
"github.com/hashicorp/hcl/v2/hcldec"
|
||||
"github.com/hashicorp/packer/builder/osc/common"
|
||||
"github.com/hashicorp/packer-plugin-outscale/builder/osc/common"
|
||||
"github.com/zclconf/go-cty/cty"
|
||||
)
|
||||
|
|
@ -6,9 +6,9 @@ import (
|
|||
"log"
|
||||
|
||||
"github.com/antihax/optional"
|
||||
osccommon "github.com/hashicorp/packer-plugin-outscale/builder/osc/common"
|
||||
"github.com/hashicorp/packer-plugin-sdk/multistep"
|
||||
packersdk "github.com/hashicorp/packer-plugin-sdk/packer"
|
||||
osccommon "github.com/hashicorp/packer/builder/osc/common"
|
||||
"github.com/outscale/osc-sdk-go/osc"
|
||||
)
|
||||
|
|
@ -10,6 +10,7 @@ import (
|
|||
"fmt"
|
||||
|
||||
"github.com/hashicorp/hcl/v2/hcldec"
|
||||
osccommon "github.com/hashicorp/packer-plugin-outscale/builder/osc/common"
|
||||
"github.com/hashicorp/packer-plugin-sdk/common"
|
||||
"github.com/hashicorp/packer-plugin-sdk/communicator"
|
||||
"github.com/hashicorp/packer-plugin-sdk/multistep"
|
||||
|
@ -17,7 +18,6 @@ import (
|
|||
packersdk "github.com/hashicorp/packer-plugin-sdk/packer"
|
||||
"github.com/hashicorp/packer-plugin-sdk/template/config"
|
||||
"github.com/hashicorp/packer-plugin-sdk/template/interpolate"
|
||||
osccommon "github.com/hashicorp/packer/builder/osc/common"
|
||||
)
|
||||
|
||||
const BuilderId = "oapi.outscale.bsusurrogate"
|
|
@ -4,7 +4,7 @@ package bsusurrogate
|
|||
|
||||
import (
|
||||
"github.com/hashicorp/hcl/v2/hcldec"
|
||||
"github.com/hashicorp/packer/builder/osc/common"
|
||||
"github.com/hashicorp/packer-plugin-outscale/builder/osc/common"
|
||||
"github.com/zclconf/go-cty/cty"
|
||||
)
|
||||
|
|
@ -5,9 +5,9 @@ import (
|
|||
"fmt"
|
||||
|
||||
"github.com/antihax/optional"
|
||||
osccommon "github.com/hashicorp/packer-plugin-outscale/builder/osc/common"
|
||||
"github.com/hashicorp/packer-plugin-sdk/multistep"
|
||||
packersdk "github.com/hashicorp/packer-plugin-sdk/packer"
|
||||
osccommon "github.com/hashicorp/packer/builder/osc/common"
|
||||
"github.com/outscale/osc-sdk-go/osc"
|
||||
)
|
||||
|
|
@ -8,9 +8,9 @@ import (
|
|||
|
||||
"github.com/antihax/optional"
|
||||
multierror "github.com/hashicorp/go-multierror"
|
||||
osccommon "github.com/hashicorp/packer-plugin-outscale/builder/osc/common"
|
||||
"github.com/hashicorp/packer-plugin-sdk/multistep"
|
||||
packersdk "github.com/hashicorp/packer-plugin-sdk/packer"
|
||||
osccommon "github.com/hashicorp/packer/builder/osc/common"
|
||||
"github.com/outscale/osc-sdk-go/osc"
|
||||
)
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
package bsuvolume
|
||||
|
||||
import (
|
||||
osccommon "github.com/hashicorp/packer-plugin-outscale/builder/osc/common"
|
||||
"github.com/hashicorp/packer-plugin-sdk/template/interpolate"
|
||||
osccommon "github.com/hashicorp/packer/builder/osc/common"
|
||||
)
|
||||
|
||||
type BlockDevice struct {
|
|
@ -10,6 +10,7 @@ import (
|
|||
"log"
|
||||
|
||||
"github.com/hashicorp/hcl/v2/hcldec"
|
||||
osccommon "github.com/hashicorp/packer-plugin-outscale/builder/osc/common"
|
||||
"github.com/hashicorp/packer-plugin-sdk/common"
|
||||
"github.com/hashicorp/packer-plugin-sdk/communicator"
|
||||
"github.com/hashicorp/packer-plugin-sdk/multistep"
|
||||
|
@ -17,7 +18,6 @@ import (
|
|||
packersdk "github.com/hashicorp/packer-plugin-sdk/packer"
|
||||
"github.com/hashicorp/packer-plugin-sdk/template/config"
|
||||
"github.com/hashicorp/packer-plugin-sdk/template/interpolate"
|
||||
osccommon "github.com/hashicorp/packer/builder/osc/common"
|
||||
)
|
||||
|
||||
const BuilderId = "oapi.outscale.bsuvolume"
|
|
@ -4,7 +4,7 @@ package bsuvolume
|
|||
|
||||
import (
|
||||
"github.com/hashicorp/hcl/v2/hcldec"
|
||||
"github.com/hashicorp/packer/builder/osc/common"
|
||||
"github.com/hashicorp/packer-plugin-outscale/builder/osc/common"
|
||||
"github.com/zclconf/go-cty/cty"
|
||||
)
|
||||
|
|
@ -12,13 +12,13 @@ import (
|
|||
"runtime"
|
||||
|
||||
"github.com/hashicorp/hcl/v2/hcldec"
|
||||
osccommon "github.com/hashicorp/packer-plugin-outscale/builder/osc/common"
|
||||
"github.com/hashicorp/packer-plugin-sdk/common"
|
||||
"github.com/hashicorp/packer-plugin-sdk/multistep"
|
||||
"github.com/hashicorp/packer-plugin-sdk/multistep/commonsteps"
|
||||
packersdk "github.com/hashicorp/packer-plugin-sdk/packer"
|
||||
"github.com/hashicorp/packer-plugin-sdk/template/config"
|
||||
"github.com/hashicorp/packer-plugin-sdk/template/interpolate"
|
||||
osccommon "github.com/hashicorp/packer/builder/osc/common"
|
||||
)
|
||||
|
||||
// The unique ID for this builder
|
|
@ -4,7 +4,7 @@ package chroot
|
|||
|
||||
import (
|
||||
"github.com/hashicorp/hcl/v2/hcldec"
|
||||
"github.com/hashicorp/packer/builder/osc/common"
|
||||
"github.com/hashicorp/packer-plugin-outscale/builder/osc/common"
|
||||
"github.com/zclconf/go-cty/cty"
|
||||
)
|
||||
|
|
@ -5,9 +5,9 @@ import (
|
|||
"fmt"
|
||||
|
||||
"github.com/antihax/optional"
|
||||
osccommon "github.com/hashicorp/packer-plugin-outscale/builder/osc/common"
|
||||
"github.com/hashicorp/packer-plugin-sdk/multistep"
|
||||
packersdk "github.com/hashicorp/packer-plugin-sdk/packer"
|
||||
osccommon "github.com/hashicorp/packer/builder/osc/common"
|
||||
"github.com/outscale/osc-sdk-go/osc"
|
||||
)
|
||||
|
|
@ -7,10 +7,10 @@ import (
|
|||
"log"
|
||||
|
||||
"github.com/antihax/optional"
|
||||
osccommon "github.com/hashicorp/packer-plugin-outscale/builder/osc/common"
|
||||
"github.com/hashicorp/packer-plugin-sdk/multistep"
|
||||
packersdk "github.com/hashicorp/packer-plugin-sdk/packer"
|
||||
"github.com/hashicorp/packer-plugin-sdk/template/interpolate"
|
||||
osccommon "github.com/hashicorp/packer/builder/osc/common"
|
||||
"github.com/outscale/osc-sdk-go/osc"
|
||||
)
|
||||
|
|
@ -56,7 +56,7 @@ func (s *StepFlock) Run(ctx context.Context, state multistep.StateBag) multistep
|
|||
}
|
||||
|
||||
func (s *StepFlock) Cleanup(state multistep.StateBag) {
|
||||
s.CleanupFunc(state)
|
||||
_ = s.CleanupFunc(state)
|
||||
}
|
||||
|
||||
func (s *StepFlock) CleanupFunc(state multistep.StateBag) error {
|
|
@ -5,9 +5,9 @@ import (
|
|||
"fmt"
|
||||
|
||||
"github.com/antihax/optional"
|
||||
osccommon "github.com/hashicorp/packer-plugin-outscale/builder/osc/common"
|
||||
"github.com/hashicorp/packer-plugin-sdk/multistep"
|
||||
packersdk "github.com/hashicorp/packer-plugin-sdk/packer"
|
||||
osccommon "github.com/hashicorp/packer/builder/osc/common"
|
||||
"github.com/outscale/osc-sdk-go/osc"
|
||||
)
|
||||
|
|
@ -6,9 +6,9 @@ import (
|
|||
"time"
|
||||
|
||||
"github.com/antihax/optional"
|
||||
osccommon "github.com/hashicorp/packer-plugin-outscale/builder/osc/common"
|
||||
"github.com/hashicorp/packer-plugin-sdk/multistep"
|
||||
packersdk "github.com/hashicorp/packer-plugin-sdk/packer"
|
||||
osccommon "github.com/hashicorp/packer/builder/osc/common"
|
||||
"github.com/outscale/osc-sdk-go/osc"
|
||||
)
|
||||
|
|
@ -6,7 +6,7 @@ import (
|
|||
"log"
|
||||
|
||||
"github.com/antihax/optional"
|
||||
"github.com/hashicorp/packer/builder/osc/common/retry"
|
||||
"github.com/hashicorp/packer-plugin-outscale/builder/osc/common/retry"
|
||||
"github.com/outscale/osc-sdk-go/osc"
|
||||
)
|
||||
|
|
@ -6,10 +6,10 @@ import (
|
|||
|
||||
"github.com/antihax/optional"
|
||||
"github.com/aws/aws-sdk-go/aws/awserr"
|
||||
"github.com/hashicorp/packer-plugin-outscale/builder/osc/common/retry"
|
||||
"github.com/hashicorp/packer-plugin-sdk/multistep"
|
||||
packersdk "github.com/hashicorp/packer-plugin-sdk/packer"
|
||||
"github.com/hashicorp/packer-plugin-sdk/template/interpolate"
|
||||
"github.com/hashicorp/packer/builder/osc/common/retry"
|
||||
"github.com/outscale/osc-sdk-go/osc"
|
||||
)
|
||||
|
|
@ -12,11 +12,11 @@ import (
|
|||
"github.com/aws/aws-sdk-go/aws/awserr"
|
||||
"github.com/outscale/osc-sdk-go/osc"
|
||||
|
||||
"github.com/hashicorp/packer-plugin-outscale/builder/osc/common/retry"
|
||||
"github.com/hashicorp/packer-plugin-sdk/communicator"
|
||||
"github.com/hashicorp/packer-plugin-sdk/multistep"
|
||||
packersdk "github.com/hashicorp/packer-plugin-sdk/packer"
|
||||
"github.com/hashicorp/packer-plugin-sdk/template/interpolate"
|
||||
"github.com/hashicorp/packer/builder/osc/common/retry"
|
||||
)
|
||||
|
||||
const (
|
|
@ -6,9 +6,9 @@ import (
|
|||
|
||||
"github.com/antihax/optional"
|
||||
"github.com/aws/aws-sdk-go/aws/awserr"
|
||||
"github.com/hashicorp/packer-plugin-outscale/builder/osc/common/retry"
|
||||
"github.com/hashicorp/packer-plugin-sdk/multistep"
|
||||
packersdk "github.com/hashicorp/packer-plugin-sdk/packer"
|
||||
"github.com/hashicorp/packer/builder/osc/common/retry"
|
||||
"github.com/outscale/osc-sdk-go/osc"
|
||||
)
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue