rebase: use v1.17.0 of go-ceph library

new version of go ceph is available and this commit make use
of the same.
Ref # https://github.com/ceph/go-ceph/releases/tag/v0.17.0

Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
This commit is contained in:
Humble Chirammal 2022-08-16 19:38:51 +05:30 committed by mergify[bot]
parent 19e4146fab
commit 483181aec2
20 changed files with 906 additions and 52 deletions

4
go.mod
View File

@ -4,11 +4,11 @@ go 1.17
require ( require (
github.com/IBM/keyprotect-go-client v0.8.0 github.com/IBM/keyprotect-go-client v0.8.0
github.com/aws/aws-sdk-go v1.44.62 github.com/aws/aws-sdk-go v1.44.67
github.com/aws/aws-sdk-go-v2/service/sts v1.16.13 github.com/aws/aws-sdk-go-v2/service/sts v1.16.13
github.com/ceph/ceph-csi/api v0.0.0-00010101000000-000000000000 github.com/ceph/ceph-csi/api v0.0.0-00010101000000-000000000000
// TODO: API for managing subvolume metadata and snapshot metadata requires `ceph_ci_untested` build-tag // TODO: API for managing subvolume metadata and snapshot metadata requires `ceph_ci_untested` build-tag
github.com/ceph/go-ceph v0.16.0 github.com/ceph/go-ceph v0.17.0
github.com/container-storage-interface/spec v1.6.0 github.com/container-storage-interface/spec v1.6.0
github.com/csi-addons/replication-lib-utils v0.2.0 github.com/csi-addons/replication-lib-utils v0.2.0
github.com/csi-addons/spec v0.1.2-0.20220804080457-522edd16192e github.com/csi-addons/spec v0.1.2-0.20220804080457-522edd16192e

10
go.sum
View File

@ -150,9 +150,8 @@ github.com/aws/aws-sdk-go v1.25.37/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpi
github.com/aws/aws-sdk-go v1.25.41/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.25.41/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo=
github.com/aws/aws-sdk-go v1.35.24/go.mod h1:tlPOdRjfxPBpNIwqDj61rmsnA85v9jc0Ps9+muhnW+k= github.com/aws/aws-sdk-go v1.35.24/go.mod h1:tlPOdRjfxPBpNIwqDj61rmsnA85v9jc0Ps9+muhnW+k=
github.com/aws/aws-sdk-go v1.38.49/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= github.com/aws/aws-sdk-go v1.38.49/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro=
github.com/aws/aws-sdk-go v1.44.28/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= github.com/aws/aws-sdk-go v1.44.67 h1:+nxfXbMe8QUB6svLsuLYsp+WhZBKM26w62Zidir739A=
github.com/aws/aws-sdk-go v1.44.62 h1:N8qOPnBhl2ZCIFiqyB640Xt5CeX9D8CEVhG/Vj7jGJU= github.com/aws/aws-sdk-go v1.44.67/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo=
github.com/aws/aws-sdk-go v1.44.62/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo=
github.com/aws/aws-sdk-go-v2 v1.16.11 h1:xM1ZPSvty3xVmdxiGr7ay/wlqv+MWhH0rMlyLdbC0YQ= github.com/aws/aws-sdk-go-v2 v1.16.11 h1:xM1ZPSvty3xVmdxiGr7ay/wlqv+MWhH0rMlyLdbC0YQ=
github.com/aws/aws-sdk-go-v2 v1.16.11/go.mod h1:WTACcleLz6VZTp7fak4EO5b9Q4foxbn+8PIz3PmyKlo= github.com/aws/aws-sdk-go-v2 v1.16.11/go.mod h1:WTACcleLz6VZTp7fak4EO5b9Q4foxbn+8PIz3PmyKlo=
github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.18 h1:OmiwoVyLKEqqD5GvB683dbSqxiOfvx4U2lDZhG2Esc4= github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.18 h1:OmiwoVyLKEqqD5GvB683dbSqxiOfvx4U2lDZhG2Esc4=
@ -193,8 +192,8 @@ github.com/cenkalti/backoff/v3 v3.0.0 h1:ske+9nBpD9qZsTBoF41nW5L+AIuFBKMeze18XQ3
github.com/cenkalti/backoff/v3 v3.0.0/go.mod h1:cIeZDE3IrqwwJl6VUwCN6trj1oXrTS4rc0ij+ULvLYs= github.com/cenkalti/backoff/v3 v3.0.0/go.mod h1:cIeZDE3IrqwwJl6VUwCN6trj1oXrTS4rc0ij+ULvLYs=
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
github.com/centrify/cloud-golang-sdk v0.0.0-20190214225812-119110094d0f/go.mod h1:C0rtzmGXgN78pYR0tGJFhtHgkbAs0lIbHwkB81VxDQE= github.com/centrify/cloud-golang-sdk v0.0.0-20190214225812-119110094d0f/go.mod h1:C0rtzmGXgN78pYR0tGJFhtHgkbAs0lIbHwkB81VxDQE=
github.com/ceph/go-ceph v0.16.0 h1:hEhVfEFsLoGJF+i3r7Wwh4QlMN+MnWqNxfic9v6GV04= github.com/ceph/go-ceph v0.17.0 h1:2McqHPqvAU+qgROJ+A5/eK70Lt7WsKizkTasDEOZa/Q=
github.com/ceph/go-ceph v0.16.0/go.mod h1:SzhpLdyU+ixxJ68bbqoEa481P5N5d5lv5jVMxcRMLfU= github.com/ceph/go-ceph v0.17.0/go.mod h1:WV8DzlYPtW3SQ/HiT3Dz6ia0+v8dPKWtYY/dWl6BqPg=
github.com/certifi/gocertifi v0.0.0-20191021191039-0944d244cd40/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= github.com/certifi/gocertifi v0.0.0-20191021191039-0944d244cd40/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA=
github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA=
github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko=
@ -1113,7 +1112,6 @@ github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals=
github.com/stretchr/testify v1.8.0 h1:pSgiaMZlXftHpm5L7V1+rVB+AZJydKsMxsQBIJw4PKk= github.com/stretchr/testify v1.8.0 h1:pSgiaMZlXftHpm5L7V1+rVB+AZJydKsMxsQBIJw4PKk=
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw=

View File

@ -10820,6 +10820,9 @@ var awsPartition = partition{
endpointKey{ endpointKey{
Region: "ap-northeast-2", Region: "ap-northeast-2",
}: endpoint{}, }: endpoint{},
endpointKey{
Region: "ap-southeast-1",
}: endpoint{},
endpointKey{ endpointKey{
Region: "ap-southeast-2", Region: "ap-southeast-2",
}: endpoint{}, }: endpoint{},
@ -15703,6 +15706,9 @@ var awsPartition = partition{
endpointKey{ endpointKey{
Region: "ap-southeast-2", Region: "ap-southeast-2",
}: endpoint{}, }: endpoint{},
endpointKey{
Region: "ap-southeast-3",
}: endpoint{},
endpointKey{ endpointKey{
Region: "ca-central-1", Region: "ca-central-1",
}: endpoint{}, }: endpoint{},
@ -19900,6 +19906,9 @@ var awsPartition = partition{
endpointKey{ endpointKey{
Region: "ap-northeast-2", Region: "ap-northeast-2",
}: endpoint{}, }: endpoint{},
endpointKey{
Region: "ap-northeast-3",
}: endpoint{},
endpointKey{ endpointKey{
Region: "ap-south-1", Region: "ap-south-1",
}: endpoint{}, }: endpoint{},
@ -19909,6 +19918,9 @@ var awsPartition = partition{
endpointKey{ endpointKey{
Region: "ap-southeast-2", Region: "ap-southeast-2",
}: endpoint{}, }: endpoint{},
endpointKey{
Region: "ap-southeast-3",
}: endpoint{},
endpointKey{ endpointKey{
Region: "ca-central-1", Region: "ca-central-1",
}: endpoint{}, }: endpoint{},
@ -25085,9 +25097,21 @@ var awscnPartition = partition{
endpointKey{ endpointKey{
Region: "cn-north-1", Region: "cn-north-1",
}: endpoint{}, }: endpoint{},
endpointKey{
Region: "cn-north-1",
Variant: dualStackVariant,
}: endpoint{
Hostname: "firehose.cn-north-1.api.amazonwebservices.com.cn",
},
endpointKey{ endpointKey{
Region: "cn-northwest-1", Region: "cn-northwest-1",
}: endpoint{}, }: endpoint{},
endpointKey{
Region: "cn-northwest-1",
Variant: dualStackVariant,
}: endpoint{
Hostname: "firehose.cn-northwest-1.api.amazonwebservices.com.cn",
},
}, },
}, },
"fms": service{ "fms": service{

View File

@ -5,4 +5,4 @@ package aws
const SDKName = "aws-sdk-go" const SDKName = "aws-sdk-go"
// SDKVersion is the version of this SDK // SDKVersion is the version of this SDK
const SDKVersion = "1.44.62" const SDKVersion = "1.44.67"

View File

@ -634,6 +634,11 @@ func (c *EC2) AllocateAddressRequest(input *AllocateAddressInput) (req *request.
// telecommunication carrier, to a network interface which resides in a subnet // telecommunication carrier, to a network interface which resides in a subnet
// in a Wavelength Zone (for example an EC2 instance). // in a Wavelength Zone (for example an EC2 instance).
// //
// We are retiring EC2-Classic on August 15, 2022. We recommend that you migrate
// from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic
// to a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html)
// in the Amazon Elastic Compute Cloud User Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions // 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 // with awserr.Error's Code and Message methods to get detailed information about
// the error. // the error.
@ -1157,6 +1162,11 @@ func (c *EC2) AssociateAddressRequest(input *AssociateAddressInput) (req *reques
// the Elastic IP address is remapped to the same instance. For more information, // the Elastic IP address is remapped to the same instance. For more information,
// see the Elastic IP Addresses section of Amazon EC2 Pricing (http://aws.amazon.com/ec2/pricing/). // see the Elastic IP Addresses section of Amazon EC2 Pricing (http://aws.amazon.com/ec2/pricing/).
// //
// We are retiring EC2-Classic on August 15, 2022. We recommend that you migrate
// from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic
// to a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html)
// in the Amazon Elastic Compute Cloud User Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions // 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 // with awserr.Error's Code and Message methods to get detailed information about
// the error. // the error.
@ -2200,6 +2210,12 @@ func (c *EC2) AttachClassicLinkVpcRequest(input *AttachClassicLinkVpcInput) (req
// AttachClassicLinkVpc API operation for Amazon Elastic Compute Cloud. // AttachClassicLinkVpc API operation for Amazon Elastic Compute Cloud.
// //
//
// We are retiring EC2-Classic on August 15, 2022. We recommend that you migrate
// from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic
// to a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html)
// in the Amazon Elastic Compute Cloud User Guide.
//
// Links an EC2-Classic instance to a ClassicLink-enabled VPC through one or // Links an EC2-Classic instance to a ClassicLink-enabled VPC through one or
// more of the VPC's security groups. You cannot link an EC2-Classic instance // more of the VPC's security groups. You cannot link an EC2-Classic instance
// to more than one VPC at a time. You can only link an instance that's in the // to more than one VPC at a time. You can only link an instance that's in the
@ -2695,7 +2711,9 @@ func (c *EC2) AuthorizeSecurityGroupEgressRequest(input *AuthorizeSecurityGroupE
// //
// An outbound rule permits instances to send traffic to the specified IPv4 // An outbound rule permits instances to send traffic to the specified IPv4
// or IPv6 CIDR address ranges, or to the instances that are associated with // or IPv6 CIDR address ranges, or to the instances that are associated with
// the specified source security groups. // the specified source security groups. When specifying an outbound rule for
// your security group in a VPC, the IpPermissions must include a destination
// for the traffic.
// //
// You specify a protocol for each rule (for example, TCP). For the TCP and // You specify a protocol for each rule (for example, TCP). For the TCP and
// UDP protocols, you must also specify the destination port or port range. // UDP protocols, you must also specify the destination port or port range.
@ -2783,7 +2801,9 @@ func (c *EC2) AuthorizeSecurityGroupIngressRequest(input *AuthorizeSecurityGroup
// //
// An inbound rule permits instances to receive traffic from the specified IPv4 // An inbound rule permits instances to receive traffic from the specified IPv4
// or IPv6 CIDR address range, or from the instances that are associated with // or IPv6 CIDR address range, or from the instances that are associated with
// the specified destination security groups. // the specified destination security groups. When specifying an inbound rule
// for your security group in a VPC, the IpPermissions must include a source
// for the traffic.
// //
// You specify a protocol for each rule (for example, TCP). For TCP and UDP, // You specify a protocol for each rule (for example, TCP). For TCP and UDP,
// you must also specify the destination port or port range. For ICMP/ICMPv6, // you must also specify the destination port or port range. For ICMP/ICMPv6,
@ -2796,6 +2816,11 @@ func (c *EC2) AuthorizeSecurityGroupIngressRequest(input *AuthorizeSecurityGroup
// For more information about VPC security group quotas, see Amazon VPC quotas // For more information about VPC security group quotas, see Amazon VPC quotas
// (https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html). // (https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html).
// //
// We are retiring EC2-Classic on August 15, 2022. We recommend that you migrate
// from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic
// to a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html)
// in the Amazon Elastic Compute Cloud User Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions // 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 // with awserr.Error's Code and Message methods to get detailed information about
// the error. // the error.
@ -4586,6 +4611,11 @@ func (c *EC2) CreateDefaultVpcRequest(input *CreateDefaultVpcInput) (req *reques
// VPC in a Region that supports EC2-Classic, see "I really want a default VPC // VPC in a Region that supports EC2-Classic, see "I really want a default VPC
// for my existing EC2 account. Is that possible?" in the Default VPCs FAQ (http://aws.amazon.com/vpc/faqs/#Default_VPCs). // for my existing EC2 account. Is that possible?" in the Default VPCs FAQ (http://aws.amazon.com/vpc/faqs/#Default_VPCs).
// //
// We are retiring EC2-Classic on August 15, 2022. We recommend that you migrate
// from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic
// to a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html)
// in the Amazon Elastic Compute Cloud User Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions // 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 // with awserr.Error's Code and Message methods to get detailed information about
// the error. // the error.
@ -7361,6 +7391,11 @@ func (c *EC2) CreateSecurityGroupRequest(input *CreateSecurityGroupInput) (req *
// For more information about VPC security group limits, see Amazon VPC Limits // For more information about VPC security group limits, see Amazon VPC Limits
// (https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html). // (https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html).
// //
// We are retiring EC2-Classic on August 15, 2022. We recommend that you migrate
// from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic
// to a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html)
// in the Amazon Elastic Compute Cloud User Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions // 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 // with awserr.Error's Code and Message methods to get detailed information about
// the error. // the error.
@ -12618,6 +12653,11 @@ func (c *EC2) DeleteSecurityGroupRequest(input *DeleteSecurityGroupInput) (req *
// or is referenced by another security group, the operation fails with InvalidGroup.InUse // or is referenced by another security group, the operation fails with InvalidGroup.InUse
// in EC2-Classic or DependencyViolation in EC2-VPC. // in EC2-Classic or DependencyViolation in EC2-VPC.
// //
// We are retiring EC2-Classic on August 15, 2022. We recommend that you migrate
// from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic
// to a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html)
// in the Amazon Elastic Compute Cloud User Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions // 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 // with awserr.Error's Code and Message methods to get detailed information about
// the error. // the error.
@ -15497,6 +15537,11 @@ func (c *EC2) DescribeAccountAttributesRequest(input *DescribeAccountAttributesI
// * vpc-max-elastic-ips: The maximum number of Elastic IP addresses that // * vpc-max-elastic-ips: The maximum number of Elastic IP addresses that
// you can allocate for use with EC2-VPC. // you can allocate for use with EC2-VPC.
// //
// We are retiring EC2-Classic on August 15, 2022. We recommend that you migrate
// from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic
// to a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html)
// in the Amazon EC2 User Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions // 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 // with awserr.Error's Code and Message methods to get detailed information about
// the error. // the error.
@ -15575,6 +15620,11 @@ func (c *EC2) DescribeAddressesRequest(input *DescribeAddressesInput) (req *requ
// a VPC. For more information, see Elastic IP Addresses (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html) // a VPC. For more information, see Elastic IP Addresses (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
// in the Amazon Elastic Compute Cloud User Guide. // in the Amazon Elastic Compute Cloud User Guide.
// //
// We are retiring EC2-Classic on August 15, 2022. We recommend that you migrate
// from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic
// to a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html)
// in the Amazon Elastic Compute Cloud User Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions // 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 // with awserr.Error's Code and Message methods to get detailed information about
// the error. // the error.
@ -16571,6 +16621,11 @@ func (c *EC2) DescribeClassicLinkInstancesRequest(input *DescribeClassicLinkInst
// ClassicLink. You cannot use this request to return information about other // ClassicLink. You cannot use this request to return information about other
// instances. // instances.
// //
// We are retiring EC2-Classic on August 15, 2022. We recommend that you migrate
// from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic
// to a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html)
// in the Amazon Elastic Compute Cloud User Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions // 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 // with awserr.Error's Code and Message methods to get detailed information about
// the error. // the error.
@ -21137,6 +21192,11 @@ func (c *EC2) DescribeInstancesRequest(input *DescribeInstancesInput) (req *requ
// If you describe instances and specify only instance IDs that are in an unaffected // If you describe instances and specify only instance IDs that are in an unaffected
// zone, the call works normally. // zone, the call works normally.
// //
// We are retiring EC2-Classic on August 15, 2022. We recommend that you migrate
// from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic
// to a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html)
// in the Amazon EC2 User Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions // 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 // with awserr.Error's Code and Message methods to get detailed information about
// the error. // the error.
@ -25177,6 +25237,11 @@ func (c *EC2) DescribeReservedInstancesRequest(input *DescribeReservedInstancesI
// For more information about Reserved Instances, see Reserved Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-on-demand-reserved-instances.html) // For more information about Reserved Instances, see Reserved Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-on-demand-reserved-instances.html)
// in the Amazon EC2 User Guide. // in the Amazon EC2 User Guide.
// //
// We are retiring EC2-Classic on August 15, 2022. We recommend that you migrate
// from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic
// to a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html)
// in the Amazon Elastic Compute Cloud User Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions // 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 // with awserr.Error's Code and Message methods to get detailed information about
// the error. // the error.
@ -25358,6 +25423,11 @@ func (c *EC2) DescribeReservedInstancesModificationsRequest(input *DescribeReser
// For more information, see Modifying Reserved Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html) // For more information, see Modifying Reserved Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html)
// in the Amazon EC2 User Guide. // in the Amazon EC2 User Guide.
// //
// We are retiring EC2-Classic on August 15, 2022. We recommend that you migrate
// from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic
// to a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html)
// in the Amazon Elastic Compute Cloud User Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions // 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 // with awserr.Error's Code and Message methods to get detailed information about
// the error. // the error.
@ -25501,6 +25571,11 @@ func (c *EC2) DescribeReservedInstancesOfferingsRequest(input *DescribeReservedI
// For more information, see Reserved Instance Marketplace (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html) // For more information, see Reserved Instance Marketplace (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
// in the Amazon EC2 User Guide. // in the Amazon EC2 User Guide.
// //
// We are retiring EC2-Classic on August 15, 2022. We recommend that you migrate
// from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic
// to a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html)
// in the Amazon Elastic Compute Cloud User Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions // 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 // with awserr.Error's Code and Message methods to get detailed information about
// the error. // the error.
@ -25781,6 +25856,11 @@ func (c *EC2) DescribeScheduledInstanceAvailabilityRequest(input *DescribeSchedu
// After you find a schedule that meets your needs, call PurchaseScheduledInstances // After you find a schedule that meets your needs, call PurchaseScheduledInstances
// to purchase Scheduled Instances with that schedule. // to purchase Scheduled Instances with that schedule.
// //
// We are retiring EC2-Classic on August 15, 2022. We recommend that you migrate
// from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic
// to a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html)
// in the Amazon Elastic Compute Cloud User Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions // 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 // with awserr.Error's Code and Message methods to get detailed information about
// the error. // the error.
@ -25913,6 +25993,11 @@ func (c *EC2) DescribeScheduledInstancesRequest(input *DescribeScheduledInstance
// //
// Describes the specified Scheduled Instances or all your Scheduled Instances. // Describes the specified Scheduled Instances or all your Scheduled Instances.
// //
// We are retiring EC2-Classic on August 15, 2022. We recommend that you migrate
// from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic
// to a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html)
// in the Amazon Elastic Compute Cloud User Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions // 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 // with awserr.Error's Code and Message methods to get detailed information about
// the error. // the error.
@ -26259,6 +26344,11 @@ func (c *EC2) DescribeSecurityGroupsRequest(input *DescribeSecurityGroupsInput)
// VPC (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html) // VPC (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html)
// in the Amazon Virtual Private Cloud User Guide. // in the Amazon Virtual Private Cloud User Guide.
// //
// We are retiring EC2-Classic on August 15, 2022. We recommend that you migrate
// from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic
// to a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html)
// in the Amazon Elastic Compute Cloud User Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions // 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 // with awserr.Error's Code and Message methods to get detailed information about
// the error. // the error.
@ -30448,6 +30538,11 @@ func (c *EC2) DescribeVpcClassicLinkRequest(input *DescribeVpcClassicLinkInput)
// //
// Describes the ClassicLink status of one or more VPCs. // Describes the ClassicLink status of one or more VPCs.
// //
// We are retiring EC2-Classic on August 15, 2022. We recommend that you migrate
// from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic
// to a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html)
// in the Amazon Elastic Compute Cloud User Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions // 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 // with awserr.Error's Code and Message methods to get detailed information about
// the error. // the error.
@ -30526,6 +30621,12 @@ func (c *EC2) DescribeVpcClassicLinkDnsSupportRequest(input *DescribeVpcClassicL
// DescribeVpcClassicLinkDnsSupport API operation for Amazon Elastic Compute Cloud. // DescribeVpcClassicLinkDnsSupport API operation for Amazon Elastic Compute Cloud.
// //
//
// We are retiring EC2-Classic on August 15, 2022. We recommend that you migrate
// from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic
// to a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html)
// in the Amazon Elastic Compute Cloud User Guide.
//
// Describes the ClassicLink DNS support status of one or more VPCs. If enabled, // Describes the ClassicLink DNS support status of one or more VPCs. If enabled,
// the DNS hostname of a linked EC2-Classic instance resolves to its private // the DNS hostname of a linked EC2-Classic instance resolves to its private
// IP address when addressed from an instance in the VPC to which it's linked. // IP address when addressed from an instance in the VPC to which it's linked.
@ -31820,6 +31921,12 @@ func (c *EC2) DetachClassicLinkVpcRequest(input *DetachClassicLinkVpcInput) (req
// DetachClassicLinkVpc API operation for Amazon Elastic Compute Cloud. // DetachClassicLinkVpc API operation for Amazon Elastic Compute Cloud.
// //
//
// We are retiring EC2-Classic on August 15, 2022. We recommend that you migrate
// from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic
// to a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html)
// in the Amazon Elastic Compute Cloud User Guide.
//
// Unlinks (detaches) a linked EC2-Classic instance from a VPC. After the instance // Unlinks (detaches) a linked EC2-Classic instance from a VPC. After the instance
// has been unlinked, the VPC security groups are no longer associated with // has been unlinked, the VPC security groups are no longer associated with
// it. An instance is automatically unlinked from a VPC when it's stopped. // it. An instance is automatically unlinked from a VPC when it's stopped.
@ -32839,6 +32946,11 @@ func (c *EC2) DisableVpcClassicLinkRequest(input *DisableVpcClassicLinkInput) (r
// Disables ClassicLink for a VPC. You cannot disable ClassicLink for a VPC // Disables ClassicLink for a VPC. You cannot disable ClassicLink for a VPC
// that has EC2-Classic instances linked to it. // that has EC2-Classic instances linked to it.
// //
// We are retiring EC2-Classic on August 15, 2022. We recommend that you migrate
// from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic
// to a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html)
// in the Amazon Elastic Compute Cloud User Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions // 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 // with awserr.Error's Code and Message methods to get detailed information about
// the error. // the error.
@ -32919,6 +33031,11 @@ func (c *EC2) DisableVpcClassicLinkDnsSupportRequest(input *DisableVpcClassicLin
// //
// You must specify a VPC ID in the request. // You must specify a VPC ID in the request.
// //
// We are retiring EC2-Classic on August 15, 2022. We recommend that you migrate
// from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic
// to a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html)
// in the Amazon Elastic Compute Cloud User Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions // 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 // with awserr.Error's Code and Message methods to get detailed information about
// the error. // the error.
@ -32999,6 +33116,11 @@ func (c *EC2) DisassociateAddressRequest(input *DisassociateAddressInput) (req *
// a VPC. For more information, see Elastic IP Addresses (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html) // a VPC. For more information, see Elastic IP Addresses (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
// in the Amazon Elastic Compute Cloud User Guide. // in the Amazon Elastic Compute Cloud User Guide.
// //
// We are retiring EC2-Classic on August 15, 2022. We recommend that you migrate
// from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic
// to a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html)
// in the Amazon Elastic Compute Cloud User Guide.
//
// This is an idempotent operation. If you perform the operation more than once, // This is an idempotent operation. If you perform the operation more than once,
// Amazon EC2 doesn't return an error. // Amazon EC2 doesn't return an error.
// //
@ -34639,6 +34761,12 @@ func (c *EC2) EnableVpcClassicLinkRequest(input *EnableVpcClassicLinkInput) (req
// EnableVpcClassicLink API operation for Amazon Elastic Compute Cloud. // EnableVpcClassicLink API operation for Amazon Elastic Compute Cloud.
// //
//
// We are retiring EC2-Classic on August 15, 2022. We recommend that you migrate
// from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic
// to a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html)
// in the Amazon Elastic Compute Cloud User Guide.
//
// Enables a VPC for ClassicLink. You can then link EC2-Classic instances to // Enables a VPC for ClassicLink. You can then link EC2-Classic instances to
// your ClassicLink-enabled VPC to allow communication over private IP addresses. // your ClassicLink-enabled VPC to allow communication over private IP addresses.
// You cannot enable your VPC for ClassicLink if any of your VPC route tables // You cannot enable your VPC for ClassicLink if any of your VPC route tables
@ -34719,6 +34847,12 @@ func (c *EC2) EnableVpcClassicLinkDnsSupportRequest(input *EnableVpcClassicLinkD
// EnableVpcClassicLinkDnsSupport API operation for Amazon Elastic Compute Cloud. // EnableVpcClassicLinkDnsSupport API operation for Amazon Elastic Compute Cloud.
// //
//
// We are retiring EC2-Classic on August 15, 2022. We recommend that you migrate
// from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic
// to a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html)
// in the Amazon Elastic Compute Cloud User Guide.
//
// Enables a VPC to support DNS hostname resolution for ClassicLink. If enabled, // Enables a VPC to support DNS hostname resolution for ClassicLink. If enabled,
// the DNS hostname of a linked EC2-Classic instance resolves to its private // the DNS hostname of a linked EC2-Classic instance resolves to its private
// IP address when addressed from an instance in the VPC to which it's linked. // IP address when addressed from an instance in the VPC to which it's linked.
@ -42104,6 +42238,11 @@ func (c *EC2) ModifyReservedInstancesRequest(input *ModifyReservedInstancesInput
// For more information, see Modifying Reserved Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html) // For more information, see Modifying Reserved Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html)
// in the Amazon EC2 User Guide. // in the Amazon EC2 User Guide.
// //
// We are retiring EC2-Classic on August 15, 2022. We recommend that you migrate
// from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic
// to a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html)
// in the Amazon Elastic Compute Cloud User Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions // 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 // with awserr.Error's Code and Message methods to get detailed information about
// the error. // the error.
@ -43712,6 +43851,12 @@ func (c *EC2) ModifyVpcPeeringConnectionOptionsRequest(input *ModifyVpcPeeringCo
// ModifyVpcPeeringConnectionOptions API operation for Amazon Elastic Compute Cloud. // ModifyVpcPeeringConnectionOptions API operation for Amazon Elastic Compute Cloud.
// //
//
// We are retiring EC2-Classic on August 15, 2022. We recommend that you migrate
// from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic
// to a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html)
// in the Amazon Elastic Compute Cloud User Guide.
//
// Modifies the VPC peering connection options on one side of a VPC peering // Modifies the VPC peering connection options on one side of a VPC peering
// connection. You can do the following: // connection. You can do the following:
// //
@ -44326,6 +44471,11 @@ func (c *EC2) MoveAddressToVpcRequest(input *MoveAddressToVpcInput) (req *reques
// You cannot move an Elastic IP address that was originally allocated for use // You cannot move an Elastic IP address that was originally allocated for use
// in the EC2-VPC platform to the EC2-Classic platform. // in the EC2-VPC platform to the EC2-Classic platform.
// //
// We are retiring EC2-Classic on August 15, 2022. We recommend that you migrate
// from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic
// to a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html)
// in the Amazon Elastic Compute Cloud User Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions // 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 // with awserr.Error's Code and Message methods to get detailed information about
// the error. // the error.
@ -45810,6 +45960,11 @@ func (c *EC2) ReleaseAddressRequest(input *ReleaseAddressInput) (req *request.Re
// disassociates it from any instance that it's associated with. To disassociate // disassociates it from any instance that it's associated with. To disassociate
// an Elastic IP address without releasing it, use DisassociateAddress. // an Elastic IP address without releasing it, use DisassociateAddress.
// //
// We are retiring EC2-Classic on August 15, 2022. We recommend that you migrate
// from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic
// to a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html)
// in the Amazon Elastic Compute Cloud User Guide.
//
// [Nondefault VPC] You must use DisassociateAddress to disassociate the Elastic // [Nondefault VPC] You must use DisassociateAddress to disassociate the Elastic
// IP address before you can release it. Otherwise, Amazon EC2 returns an error // IP address before you can release it. Otherwise, Amazon EC2 returns an error
// (InvalidIPAddress.InUse). // (InvalidIPAddress.InUse).
@ -46728,6 +46883,11 @@ func (c *EC2) RequestSpotInstancesRequest(input *RequestSpotInstancesInput) (req
// see Which is the best Spot request method to use? (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-best-practices.html#which-spot-request-method-to-use) // see Which is the best Spot request method to use? (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-best-practices.html#which-spot-request-method-to-use)
// in the Amazon EC2 User Guide for Linux Instances. // in the Amazon EC2 User Guide for Linux Instances.
// //
// We are retiring EC2-Classic on August 15, 2022. We recommend that you migrate
// from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic
// to a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html)
// in the Amazon EC2 User Guide for Linux Instances.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions // 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 // with awserr.Error's Code and Message methods to get detailed information about
// the error. // the error.
@ -47349,6 +47509,11 @@ func (c *EC2) RestoreAddressToClassicRequest(input *RestoreAddressToClassicInput
// was originally allocated for use in EC2-VPC. The Elastic IP address must // was originally allocated for use in EC2-VPC. The Elastic IP address must
// not be associated with an instance or network interface. // not be associated with an instance or network interface.
// //
// We are retiring EC2-Classic on August 15, 2022. We recommend that you migrate
// from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic
// to a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html)
// in the Amazon Elastic Compute Cloud User Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions // 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 // with awserr.Error's Code and Message methods to get detailed information about
// the error. // the error.
@ -47919,6 +48084,11 @@ func (c *EC2) RevokeSecurityGroupIngressRequest(input *RevokeSecurityGroupIngres
// Rule changes are propagated to instances within the security group as quickly // Rule changes are propagated to instances within the security group as quickly
// as possible. However, a small delay might occur. // as possible. However, a small delay might occur.
// //
// We are retiring EC2-Classic on August 15, 2022. We recommend that you migrate
// from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic
// to a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html)
// in the Amazon Elastic Compute Cloud User Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions // 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 // with awserr.Error's Code and Message methods to get detailed information about
// the error. // the error.
@ -48044,6 +48214,11 @@ func (c *EC2) RunInstancesRequest(input *RunInstancesInput) (req *request.Reques
// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_InstanceStraightToTerminated.html), // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_InstanceStraightToTerminated.html),
// and Troubleshooting connecting to your instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html). // and Troubleshooting connecting to your instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html).
// //
// We are retiring EC2-Classic on August 15, 2022. We recommend that you migrate
// from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic
// to a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html)
// in the Amazon EC2 User Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions // 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 // with awserr.Error's Code and Message methods to get detailed information about
// the error. // the error.
@ -58562,6 +58737,12 @@ func (s *ClassicLinkDnsSupport) SetVpcId(v string) *ClassicLinkDnsSupport {
return s return s
} }
//
// We are retiring EC2-Classic on August 15, 2022. We recommend that you migrate
// from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic
// to a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html)
// in the Amazon Elastic Compute Cloud User Guide.
//
// Describes a linked EC2-Classic instance. // Describes a linked EC2-Classic instance.
type ClassicLinkInstance struct { type ClassicLinkInstance struct {
_ struct{} `type:"structure"` _ struct{} `type:"structure"`
@ -84103,8 +84284,8 @@ type DescribeImageAttributeOutput struct {
KernelId *AttributeValue `locationName:"kernel" type:"structure"` KernelId *AttributeValue `locationName:"kernel" type:"structure"`
// The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601), // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
// when the AMI was last used to launch an EC2 instance. When the AMI is used, // when the AMI was last used to launch an EC2 instance. When the AMI is used
// there is a 24-hour delay before that usage is reported. // to launch an instance, there is a 24-hour delay before that usage is reported.
// //
// lastLaunchedTime data is available starting April 2017. // lastLaunchedTime data is available starting April 2017.
LastLaunchedTime *AttributeValue `locationName:"lastLaunchedTime" type:"structure"` LastLaunchedTime *AttributeValue `locationName:"lastLaunchedTime" type:"structure"`
@ -104874,9 +105055,8 @@ type ExportImageInput struct {
// role is named 'vmimport'. // role is named 'vmimport'.
RoleName *string `type:"string"` RoleName *string `type:"string"`
// Information about the destination Amazon S3 bucket. The bucket must exist // The Amazon S3 bucket for the destination image. The destination bucket must
// and grant WRITE and READ_ACP permissions to the Amazon Web Services account // exist.
// vm-import-export@amazon.com.
// //
// S3ExportLocation is a required field // S3ExportLocation is a required field
S3ExportLocation *ExportTaskS3LocationRequest `type:"structure" required:"true"` S3ExportLocation *ExportTaskS3LocationRequest `type:"structure" required:"true"`
@ -105380,8 +105560,10 @@ type ExportToS3Task struct {
DiskImageFormat *string `locationName:"diskImageFormat" type:"string" enum:"DiskImageFormat"` DiskImageFormat *string `locationName:"diskImageFormat" type:"string" enum:"DiskImageFormat"`
// The Amazon S3 bucket for the destination image. The destination bucket must // The Amazon S3 bucket for the destination image. The destination bucket must
// exist and grant WRITE and READ_ACP permissions to the Amazon Web Services // exist and have an access control list (ACL) attached that specifies the Region-specific
// account vm-import-export@amazon.com. // canonical account ID for the Grantee. For more information about the ACL
// to your S3 bucket, see Prerequisites (https://docs.aws.amazon.com/vm-import/latest/userguide/vmexport.html#vmexport-prerequisites)
// in the VM Import/Export User Guide.
S3Bucket *string `locationName:"s3Bucket" type:"string"` S3Bucket *string `locationName:"s3Bucket" type:"string"`
// The encryption key for your S3 bucket. // The encryption key for your S3 bucket.
@ -105442,8 +105624,10 @@ type ExportToS3TaskSpecification struct {
DiskImageFormat *string `locationName:"diskImageFormat" type:"string" enum:"DiskImageFormat"` DiskImageFormat *string `locationName:"diskImageFormat" type:"string" enum:"DiskImageFormat"`
// The Amazon S3 bucket for the destination image. The destination bucket must // The Amazon S3 bucket for the destination image. The destination bucket must
// exist and grant WRITE and READ_ACP permissions to the Amazon Web Services // exist and have an access control list (ACL) attached that specifies the Region-specific
// account vm-import-export@amazon.com. // canonical account ID for the Grantee. For more information about the ACL
// to your S3 bucket, see Prerequisites (https://docs.aws.amazon.com/vm-import/latest/userguide/vmexport.html#vmexport-prerequisites)
// in the VM Import/Export User Guide.
S3Bucket *string `locationName:"s3Bucket" type:"string"` S3Bucket *string `locationName:"s3Bucket" type:"string"`
// The image is written to a single object in the Amazon S3 bucket at the S3 // The image is written to a single object in the Amazon S3 bucket at the S3
@ -116648,8 +116832,9 @@ func (s *InstanceCount) SetState(v string) *InstanceCount {
type InstanceCreditSpecification struct { type InstanceCreditSpecification struct {
_ struct{} `type:"structure"` _ struct{} `type:"structure"`
// The credit option for CPU usage of the instance. Valid values are standard // The credit option for CPU usage of the instance.
// and unlimited. //
// Valid values: standard | unlimited
CpuCredits *string `locationName:"cpuCredits" type:"string"` CpuCredits *string `locationName:"cpuCredits" type:"string"`
// The ID of the instance. // The ID of the instance.
@ -116690,8 +116875,9 @@ func (s *InstanceCreditSpecification) SetInstanceId(v string) *InstanceCreditSpe
type InstanceCreditSpecificationRequest struct { type InstanceCreditSpecificationRequest struct {
_ struct{} `type:"structure"` _ struct{} `type:"structure"`
// The credit option for CPU usage of the instance. Valid values are standard // The credit option for CPU usage of the instance.
// and unlimited. //
// Valid values: standard | unlimited
// //
// T3 instances with host tenancy do not support the unlimited CPU credit option. // T3 instances with host tenancy do not support the unlimited CPU credit option.
CpuCredits *string `type:"string"` CpuCredits *string `type:"string"`
@ -118033,8 +118219,8 @@ type InstanceNetworkInterfaceSpecification struct {
// //
// You can only assign a carrier IP address to a network interface that is in // You can only assign a carrier IP address to a network interface that is in
// a subnet in a Wavelength Zone. For more information about carrier IP addresses, // a subnet in a Wavelength Zone. For more information about carrier IP addresses,
// see Carrier IP addresses in the Amazon Web Services Wavelength Developer // see Carrier IP address (https://docs.aws.amazon.com/wavelength/latest/developerguide/how-wavelengths-work.html#provider-owned-ip)
// Guide. // in the Amazon Web Services Wavelength Developer Guide.
AssociateCarrierIpAddress *bool `type:"boolean"` AssociateCarrierIpAddress *bool `type:"boolean"`
// Indicates whether to assign a public IPv4 address to an instance you launch // Indicates whether to assign a public IPv4 address to an instance you launch
@ -122174,6 +122360,11 @@ func (s *LaunchPermissionModifications) SetRemove(v []*LaunchPermission) *Launch
} }
// Describes the launch specification for an instance. // Describes the launch specification for an instance.
//
// We are retiring EC2-Classic on August 15, 2022. We recommend that you migrate
// from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic
// to a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html)
// in the Amazon EC2 User Guide for Linux Instances.
type LaunchSpecification struct { type LaunchSpecification struct {
_ struct{} `type:"structure"` _ struct{} `type:"structure"`
@ -124653,9 +124844,15 @@ type LaunchTemplateSpecification struct {
// both. // both.
LaunchTemplateName *string `type:"string"` LaunchTemplateName *string `type:"string"`
// The version number of the launch template. // The launch template version number, $Latest, or $Default.
// //
// Default: The default version for the launch template. // If the value is $Latest, Amazon EC2 uses the latest version of the launch
// template.
//
// If the value is $Default, Amazon EC2 uses the default version of the launch
// template.
//
// Default: The default version of the launch template.
Version *string `type:"string"` Version *string `type:"string"`
} }
@ -134587,6 +134784,11 @@ func (s *MoveByoipCidrToIpamOutput) SetByoipCidr(v *ByoipCidr) *MoveByoipCidrToI
} }
// Describes the status of a moving Elastic IP address. // Describes the status of a moving Elastic IP address.
//
// We are retiring EC2-Classic on August 15, 2022. We recommend that you migrate
// from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic
// to a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html)
// in the Amazon Elastic Compute Cloud User Guide.
type MovingAddressStatus struct { type MovingAddressStatus struct {
_ struct{} `type:"structure"` _ struct{} `type:"structure"`
@ -137324,6 +137526,12 @@ func (s *PeeringAttachmentStatus) SetMessage(v string) *PeeringAttachmentStatus
return s return s
} }
//
// We are retiring EC2-Classic on August 15, 2022. We recommend that you migrate
// from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic
// to a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html)
// in the Amazon Elastic Compute Cloud User Guide.
//
// Describes the VPC peering connection options. // Describes the VPC peering connection options.
type PeeringConnectionOptions struct { type PeeringConnectionOptions struct {
_ struct{} `type:"structure"` _ struct{} `type:"structure"`
@ -137377,6 +137585,12 @@ func (s *PeeringConnectionOptions) SetAllowEgressFromLocalVpcToRemoteClassicLink
return s return s
} }
//
// We are retiring EC2-Classic on August 15, 2022. We recommend that you migrate
// from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic
// to a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html)
// in the Amazon Elastic Compute Cloud User Guide.
//
// The VPC peering connection options. // The VPC peering connection options.
type PeeringConnectionOptionsRequest struct { type PeeringConnectionOptionsRequest struct {
_ struct{} `type:"structure"` _ struct{} `type:"structure"`
@ -143169,9 +143383,9 @@ type RequestLaunchTemplateData struct {
// request. // request.
SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"` SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
// [EC2-Classic, default VPC] One or more security group names. For a nondefault // One or more security group names. For a nondefault VPC, you must use security
// VPC, you must use security group IDs instead. You cannot specify both a security // group IDs instead. You cannot specify both a security group ID and security
// group ID and security name in the same request. // name in the same request.
SecurityGroups []*string `locationName:"SecurityGroup" locationNameList:"SecurityGroup" type:"list"` SecurityGroups []*string `locationName:"SecurityGroup" locationNameList:"SecurityGroup" type:"list"`
// The tags to apply to the resources that are created during instance launch. // The tags to apply to the resources that are created during instance launch.
@ -143990,6 +144204,11 @@ func (s *RequestSpotLaunchSpecification) SetUserData(v string) *RequestSpotLaunc
// Describes a launch request for one or more instances, and includes owner, // Describes a launch request for one or more instances, and includes owner,
// requester, and security group information that applies to all instances in // requester, and security group information that applies to all instances in
// the launch request. // the launch request.
//
// We are retiring EC2-Classic on August 15, 2022. We recommend that you migrate
// from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic
// to a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html)
// in the Amazon EC2 User Guide.
type Reservation struct { type Reservation struct {
_ struct{} `type:"structure"` _ struct{} `type:"structure"`
@ -144499,6 +144718,11 @@ func (s *ReservedInstances) SetUsagePrice(v float64) *ReservedInstances {
} }
// Describes the configuration settings for the modified Reserved Instances. // Describes the configuration settings for the modified Reserved Instances.
//
// We are retiring EC2-Classic on August 15, 2022. We recommend that you migrate
// from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic
// to a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html)
// in the Amazon Elastic Compute Cloud User Guide.
type ReservedInstancesConfiguration struct { type ReservedInstancesConfiguration struct {
_ struct{} `type:"structure"` _ struct{} `type:"structure"`
@ -147633,7 +147857,7 @@ type RunInstancesInput struct {
// For more information, see Burstable performance instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) // For more information, see Burstable performance instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html)
// in the Amazon EC2 User Guide. // in the Amazon EC2 User Guide.
// //
// Default: standard (T2 instances) or unlimited (T3/T3a instances) // Default: standard (T2 instances) or unlimited (T3/T3a/T4g instances)
// //
// For T3 instances with host tenancy, only standard is supported. // For T3 instances with host tenancy, only standard is supported.
CreditSpecification *CreditSpecificationRequest `type:"structure"` CreditSpecification *CreditSpecificationRequest `type:"structure"`
@ -148490,6 +148714,11 @@ func (s *S3Storage) SetUploadPolicySignature(v string) *S3Storage {
} }
// Describes a Scheduled Instance. // Describes a Scheduled Instance.
//
// We are retiring EC2-Classic on August 15, 2022. We recommend that you migrate
// from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic
// to a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html)
// in the Amazon Elastic Compute Cloud User Guide.
type ScheduledInstance struct { type ScheduledInstance struct {
_ struct{} `type:"structure"` _ struct{} `type:"structure"`
@ -148648,6 +148877,11 @@ func (s *ScheduledInstance) SetTotalScheduledInstanceHours(v int64) *ScheduledIn
} }
// Describes a schedule that is available for your Scheduled Instances. // Describes a schedule that is available for your Scheduled Instances.
//
// We are retiring EC2-Classic on August 15, 2022. We recommend that you migrate
// from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic
// to a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html)
// in the Amazon Elastic Compute Cloud User Guide.
type ScheduledInstanceAvailability struct { type ScheduledInstanceAvailability struct {
_ struct{} `type:"structure"` _ struct{} `type:"structure"`
@ -152074,6 +152308,11 @@ func (s *SpotDatafeedSubscription) SetState(v string) *SpotDatafeedSubscription
// include On-Demand capacity in your fleet request or want to specify an EFA // include On-Demand capacity in your fleet request or want to specify an EFA
// network device, you can't use SpotFleetLaunchSpecification; you must use // network device, you can't use SpotFleetLaunchSpecification; you must use
// LaunchTemplateConfig (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_LaunchTemplateConfig.html). // LaunchTemplateConfig (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_LaunchTemplateConfig.html).
//
// We are retiring EC2-Classic on August 15, 2022. We recommend that you migrate
// from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic
// to a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html)
// in the Amazon EC2 User Guide for Linux Instances.
type SpotFleetLaunchSpecification struct { type SpotFleetLaunchSpecification struct {
_ struct{} `type:"structure"` _ struct{} `type:"structure"`
@ -160762,6 +161001,11 @@ func (s *UserData) SetData(v string) *UserData {
} }
// Describes a security group and Amazon Web Services account ID pair. // Describes a security group and Amazon Web Services account ID pair.
//
// We are retiring EC2-Classic on August 15, 2022. We recommend that you migrate
// from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic
// to a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html)
// in the Amazon Elastic Compute Cloud User Guide.
type UserIdGroupPair struct { type UserIdGroupPair struct {
_ struct{} `type:"structure"` _ struct{} `type:"structure"`
@ -162243,6 +162487,12 @@ func (s *VpcCidrBlockState) SetStatusMessage(v string) *VpcCidrBlockState {
return s return s
} }
//
// We are retiring EC2-Classic on August 15, 2022. We recommend that you migrate
// from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic
// to a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html)
// in the Amazon Elastic Compute Cloud User Guide.
//
// Describes whether a VPC is enabled for ClassicLink. // Describes whether a VPC is enabled for ClassicLink.
type VpcClassicLink struct { type VpcClassicLink struct {
_ struct{} `type:"structure"` _ struct{} `type:"structure"`
@ -162742,6 +162992,12 @@ func (s *VpcPeeringConnection) SetVpcPeeringConnectionId(v string) *VpcPeeringCo
return s return s
} }
//
// We are retiring EC2-Classic on August 15, 2022. We recommend that you migrate
// from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic
// to a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html)
// in the Amazon Elastic Compute Cloud User Guide.
//
// Describes the VPC peering connection options. // Describes the VPC peering connection options.
type VpcPeeringConnectionOptionsDescription struct { type VpcPeeringConnectionOptionsDescription struct {
_ struct{} `type:"structure"` _ struct{} `type:"structure"`
@ -170569,6 +170825,15 @@ const (
// ResourceTypeVpcFlowLog is a ResourceType enum value // ResourceTypeVpcFlowLog is a ResourceType enum value
ResourceTypeVpcFlowLog = "vpc-flow-log" ResourceTypeVpcFlowLog = "vpc-flow-log"
// ResourceTypeCapacityReservationFleet is a ResourceType enum value
ResourceTypeCapacityReservationFleet = "capacity-reservation-fleet"
// ResourceTypeTrafficMirrorFilterRule is a ResourceType enum value
ResourceTypeTrafficMirrorFilterRule = "traffic-mirror-filter-rule"
// ResourceTypeVpcEndpointConnectionDeviceType is a ResourceType enum value
ResourceTypeVpcEndpointConnectionDeviceType = "vpc-endpoint-connection-device-type"
) )
// ResourceType_Values returns all elements of the ResourceType enum // ResourceType_Values returns all elements of the ResourceType enum
@ -170644,6 +170909,9 @@ func ResourceType_Values() []string {
ResourceTypeVpnConnection, ResourceTypeVpnConnection,
ResourceTypeVpnGateway, ResourceTypeVpnGateway,
ResourceTypeVpcFlowLog, ResourceTypeVpcFlowLog,
ResourceTypeCapacityReservationFleet,
ResourceTypeTrafficMirrorFilterRule,
ResourceTypeVpcEndpointConnectionDeviceType,
} }
} }

View File

@ -1,10 +1,8 @@
//go:build !(nautilus || octopus) && ceph_preview && ceph_ci_untested //go:build !(nautilus || octopus) && ceph_preview && ceph_pre_quincy
// +build !nautilus,!octopus,ceph_preview,ceph_ci_untested // +build !nautilus,!octopus,ceph_preview,ceph_pre_quincy
package admin package admin
import "C"
// GetMetadata gets custom metadata on the subvolume in a volume belonging to // GetMetadata gets custom metadata on the subvolume in a volume belonging to
// an optional subvolume group based on provided key name. // an optional subvolume group based on provided key name.
// //

View File

@ -1,10 +1,8 @@
//go:build !(nautilus || octopus) && ceph_preview && ceph_ci_untested //go:build !(nautilus || octopus) && ceph_preview && ceph_pre_quincy
// +build !nautilus,!octopus,ceph_preview,ceph_ci_untested // +build !nautilus,!octopus,ceph_preview,ceph_pre_quincy
package admin package admin
import "C"
// GetSnapshotMetadata gets custom metadata on the subvolume snapshot in a // GetSnapshotMetadata gets custom metadata on the subvolume snapshot in a
// volume belonging to an optional subvolume group based on provided key name. // volume belonging to an optional subvolume group based on provided key name.
// //

View File

@ -0,0 +1,37 @@
//go:build ceph_preview
// +build ceph_preview
package rados
// #cgo LDFLAGS: -lrados
// #include <rados/librados.h>
//
import "C"
// AllocHintFlags control the behavior of read and write operations.
type AllocHintFlags uint32
const (
// AllocHintNoHint indicates no predefined behavior
AllocHintNoHint = AllocHintFlags(0)
// AllocHintSequentialWrite TODO
AllocHintSequentialWrite = AllocHintFlags(C.LIBRADOS_ALLOC_HINT_FLAG_SEQUENTIAL_WRITE)
// AllocHintRandomWrite TODO
AllocHintRandomWrite = AllocHintFlags(C.LIBRADOS_ALLOC_HINT_FLAG_RANDOM_WRITE)
// AllocHintSequentialRead TODO
AllocHintSequentialRead = AllocHintFlags(C.LIBRADOS_ALLOC_HINT_FLAG_SEQUENTIAL_READ)
// AllocHintRandomRead TODO
AllocHintRandomRead = AllocHintFlags(C.LIBRADOS_ALLOC_HINT_FLAG_RANDOM_READ)
// AllocHintAppendOnly TODO
AllocHintAppendOnly = AllocHintFlags(C.LIBRADOS_ALLOC_HINT_FLAG_APPEND_ONLY)
// AllocHintImmutable TODO
AllocHintImmutable = AllocHintFlags(C.LIBRADOS_ALLOC_HINT_FLAG_IMMUTABLE)
// AllocHintShortlived TODO
AllocHintShortlived = AllocHintFlags(C.LIBRADOS_ALLOC_HINT_FLAG_SHORTLIVED)
// AllocHintLonglived TODO
AllocHintLonglived = AllocHintFlags(C.LIBRADOS_ALLOC_HINT_FLAG_LONGLIVED)
// AllocHintCompressible TODO
AllocHintCompressible = AllocHintFlags(C.LIBRADOS_ALLOC_HINT_FLAG_COMPRESSIBLE)
// AllocHintIncompressible TODO
AllocHintIncompressible = AllocHintFlags(C.LIBRADOS_ALLOC_HINT_FLAG_INCOMPRESSIBLE)
)

View File

@ -100,7 +100,7 @@ func (c *Conn) ReadDefaultConfigFile() error {
func (c *Conn) OpenIOContext(pool string) (*IOContext, error) { func (c *Conn) OpenIOContext(pool string) (*IOContext, error) {
cPool := C.CString(pool) cPool := C.CString(pool)
defer C.free(unsafe.Pointer(cPool)) defer C.free(unsafe.Pointer(cPool))
ioctx := &IOContext{} ioctx := &IOContext{conn: c}
ret := C.rados_ioctx_create(c.cluster, cPool, &ioctx.ioctx) ret := C.rados_ioctx_create(c.cluster, cPool, &ioctx.ioctx)
if ret == 0 { if ret == 0 {
return ioctx, nil return ioctx, nil

View File

@ -99,6 +99,11 @@ type LockInfo struct {
// IOContext represents a context for performing I/O within a pool. // IOContext represents a context for performing I/O within a pool.
type IOContext struct { type IOContext struct {
ioctx C.rados_ioctx_t ioctx C.rados_ioctx_t
// Hold a reference back to the connection that the ioctx depends on so
// that Go's GC doesn't trigger the Conn's finalizer before this
// IOContext is destroyed.
conn *Conn
} }
// validate returns an error if the ioctx is not ready to be used // validate returns an error if the ioctx is not ready to be used

View File

@ -0,0 +1,27 @@
//go:build ceph_preview
// +build ceph_preview
package rados
// #cgo LDFLAGS: -lrados
// #include <rados/librados.h>
// #include <stdlib.h>
//
import "C"
// Alignment returns the required stripe size in bytes for pools supporting/requiring it, or an error if unsuccessful.
// For an EC pool, a buffer size multiple of its stripe size is required to call Append. To know if the pool requires
// alignment or not, use RequiresAlignment.
//
// Implements:
// int rados_ioctx_pool_required_alignment2(rados_ioctx_t io, uint64_t *alignment)
func (ioctx *IOContext) Alignment() (uint64, error) {
var alignSizeBytes C.uint64_t
ret := C.rados_ioctx_pool_required_alignment2(
ioctx.ioctx,
&alignSizeBytes)
if ret != 0 {
return 0, getError(ret)
}
return uint64(alignSizeBytes), nil
}

View File

@ -0,0 +1,27 @@
//go:build ceph_preview
// +build ceph_preview
package rados
// #cgo LDFLAGS: -lrados
// #include <rados/librados.h>
// #include <stdlib.h>
//
import "C"
// RequiresAlignment returns true if the pool supports/requires alignment or an error if not successful.
// For an EC pool, a buffer size multiple of its stripe size is required to call Append. See
// Alignment to know how to get the stripe size for pools requiring it.
//
// Implements:
// int rados_ioctx_pool_requires_alignment2(rados_ioctx_t io, int *req)
func (ioctx *IOContext) RequiresAlignment() (bool, error) {
var alignRequired C.int
ret := C.rados_ioctx_pool_requires_alignment2(
ioctx.ioctx,
&alignRequired)
if ret != 0 {
return false, getError(ret)
}
return (alignRequired != 0), nil
}

View File

@ -0,0 +1,38 @@
//go:build ceph_preview
// +build ceph_preview
package rados
// #cgo LDFLAGS: -lrados
// #include <rados/librados.h>
// #include <stdlib.h>
//
import "C"
import (
"unsafe"
)
// SetAllocationHint sets allocation hint for an object. This is an advisory
// operation, it will always succeed (as if it was submitted with a
// LIBRADOS_OP_FLAG_FAILOK flag set) and is not guaranteed to do anything on
// the backend.
//
// Implements:
// int rados_set_alloc_hint2(rados_ioctx_t io,
// const char *o,
// uint64_t expected_object_size,
// uint64_t expected_write_size,
// uint32_t flags);
func (ioctx *IOContext) SetAllocationHint(oid string, expectedObjectSize uint64, expectedWriteSize uint64, flags AllocHintFlags) error {
coid := C.CString(oid)
defer C.free(unsafe.Pointer(coid))
return getError(C.rados_set_alloc_hint2(
ioctx.ioctx,
coid,
(C.uint64_t)(expectedObjectSize),
(C.uint64_t)(expectedWriteSize),
(C.uint32_t)(flags),
))
}

View File

@ -7,6 +7,8 @@ import (
"fmt" "fmt"
"strings" "strings"
"unsafe" "unsafe"
"github.com/ceph/go-ceph/internal/log"
) )
// The file operation.go exists to support both read op and write op types that // The file operation.go exists to support both read op and write op types that
@ -116,6 +118,7 @@ func (o *operation) update(kind opKind, ret C.int) error {
func opStepFinalizer(s opStep) { func opStepFinalizer(s opStep) {
if s != nil { if s != nil {
log.Warnf("unreachable opStep object found. Cleaning up.")
s.free() s.free()
} }
} }

View File

@ -9,6 +9,8 @@ import "C"
import ( import (
"runtime" "runtime"
"unsafe" "unsafe"
"github.com/ceph/go-ceph/internal/log"
) )
const ( const (
@ -120,6 +122,7 @@ func NewConnWithClusterAndUser(clusterName string, userName string) (*Conn, erro
// called. // called.
func freeConn(conn *Conn) { func freeConn(conn *Conn) {
if conn.cluster != nil { if conn.cluster != nil {
log.Warnf("unreachable Conn object has not been shut down. Cleaning up.")
C.rados_shutdown(conn.cluster) C.rados_shutdown(conn.cluster)
// prevent calling rados_shutdown() more than once // prevent calling rados_shutdown() more than once
conn.cluster = nil conn.cluster = nil

View File

@ -1,6 +1,3 @@
//go:build ceph_preview
// +build ceph_preview
package rados package rados
// #cgo LDFLAGS: -lrados // #cgo LDFLAGS: -lrados

View File

@ -0,0 +1,28 @@
//go:build ceph_preview
// +build ceph_preview
package rados
// #cgo LDFLAGS: -lrados
// #include <rados/librados.h>
// #include <stdlib.h>
//
import "C"
// SetAllocationHint sets allocation hint for an object. This is an advisory
// operation, it will always succeed (as if it was submitted with a
// LIBRADOS_OP_FLAG_FAILOK flag set) and is not guaranteed to do anything on
// the backend.
//
// Implements:
// void rados_write_op_set_alloc_hint2(rados_write_op_t write_op,
// uint64_t expected_object_size,
// uint64_t expected_write_size,
// uint32_t flags);
func (w *WriteOp) SetAllocationHint(expectedObjectSize uint64, expectedWriteSize uint64, flags AllocHintFlags) {
C.rados_write_op_set_alloc_hint2(
w.op,
C.uint64_t(expectedObjectSize),
C.uint64_t(expectedWriteSize),
C.uint32_t(flags))
}

View File

@ -1,11 +1,6 @@
//go:build !nautilus //go:build !nautilus
// +build !nautilus // +build !nautilus
// Initially, we're only providing mirroring related functions for octopus as
// that version of ceph deprecated a number of the functions in nautilus. If
// you need mirroring on an earlier supported version of ceph please file an
// issue in our tracker.
package rbd package rbd
// #cgo LDFLAGS: -lrbd // #cgo LDFLAGS: -lrbd

408
vendor/github.com/ceph/go-ceph/rbd/mirror_nautilus.go generated vendored Normal file
View File

@ -0,0 +1,408 @@
//go:build nautilus
// +build nautilus
package rbd
// #cgo LDFLAGS: -lrbd
// #include <errno.h>
// #include <stdlib.h>
// #include <rados/librados.h>
// #include <rbd/librbd.h>
import "C"
import (
"unsafe"
"github.com/ceph/go-ceph/rados"
)
// MirrorMode indicates the current mode of mirroring that is applied onto a
// pool. A pool that doesn't have an explicit mirroring mode applied to it is
// said to be disabled - that's the default.
type MirrorMode int
const (
// MirrorModeDisabled disables mirroring.
MirrorModeDisabled = MirrorMode(C.RBD_MIRROR_MODE_DISABLED)
// MirrorModeImage enables mirroring on a per-image basis.
MirrorModeImage = MirrorMode(C.RBD_MIRROR_MODE_IMAGE)
// MirrorModePool enables mirroring on all journaled images.
MirrorModePool = MirrorMode(C.RBD_MIRROR_MODE_POOL)
)
// MirrorModeGet returns the mode of mirroring currently applied to a pool.
//
// Note: this can only be used if go-ceph is compiled with the `nautilus` build
// tag.
//
// Implements:
// int rbd_mirror_mode_get(rados_ioctx_t p, rbd_mirror_mode_t *mirror_mode)
func MirrorModeGet(ioctx *rados.IOContext) (MirrorMode, error) {
var rmm C.rbd_mirror_mode_t
ret := C.rbd_mirror_mode_get(cephIoctx(ioctx), &rmm)
if ret != 0 {
return -1, getError(ret)
}
return MirrorMode(rmm), nil
}
// MirrorModeSet sets the mirror mode for a pool.
//
// Note: this can only be used if go-ceph is compiled with the `nautilus` build
// tag.
//
// Implements:
// rbd_mirror_mode_set(rados_ioctx_t p, rbd_mirror_mode_t mirror_mode)
func MirrorModeSet(ioctx *rados.IOContext, mode MirrorMode) error {
cMode := C.rbd_mirror_mode_t(mode)
ret := C.rbd_mirror_mode_set(cephIoctx(ioctx), cMode)
return getError(ret)
}
// MirrorPeerAdd configures a peering relationship with another cluster. Note
// that it does not transfer over that cluster's config or keyrings, which must
// already be available to the rbd-mirror daemon(s).
//
// Note: this can only be used if go-ceph is compiled with the `nautilus` build
// tag.
//
// Implements:
// int rbd_mirror_peer_add(rados_ioctx_t p, char *uuid,
// size_t uuid_max_length,
// const char *cluster_name,
// const char *client_name)
func MirrorPeerAdd(ioctx *rados.IOContext, clusterName, clientName string) (string, error) {
// librbd uses 36-byte UUIDs with a trailing null. rbd_mirror_add_peer will
// return -E2BIG if we pass a UUID buffer smaller than 37 bytes.
const cUUIDMaxLen = C.size_t(37)
cUUID := make([]C.char, cUUIDMaxLen)
cClusterName := C.CString(clusterName)
defer C.free(unsafe.Pointer(cClusterName))
cClientName := C.CString(clientName)
defer C.free(unsafe.Pointer(cClientName))
ret := C.rbd_mirror_peer_add(cephIoctx(ioctx), &cUUID[0], cUUIDMaxLen,
cClusterName, cClientName)
return C.GoString(&cUUID[0]), getError(ret)
}
// MirrorPeerRemove tears down a peering relationship.
//
// Note: this can only be used if go-ceph is compiled with the `nautilus` build
// tag.
//
// Implements:
// int rbd_mirror_peer_remove(rados_ioctx_t io_ctx, const char *uuid)
func MirrorPeerRemove(ioctx *rados.IOContext, uuid string) error {
cUUID := C.CString(uuid)
defer C.free(unsafe.Pointer(cUUID))
ret := C.rbd_mirror_peer_remove(cephIoctx(ioctx), cUUID)
return getError(ret)
}
// MirrorPeerInfo contains information about a configured mirroring peer.
type MirrorPeerInfo struct {
UUID string
ClusterName string
ClientName string
}
// MirrorPeerList returns a list of configured mirroring peers.
//
// Note: this can only be used if go-ceph is compiled with the `nautilus` build
// tag.
//
// Implements:
// int rbd_mirror_peer_list(rados_ioctx_t io_ctx,
// rbd_mirror_peer_list_t *peers,
// int *max_peers);
func MirrorPeerList(ioctx *rados.IOContext) ([]*MirrorPeerInfo, error) {
var mpi []*MirrorPeerInfo
cMaxPeers := C.int(5)
var cPeers []C.rbd_mirror_peer_t
for {
cPeers = make([]C.rbd_mirror_peer_t, cMaxPeers)
ret := C.rbd_mirror_peer_list(cephIoctx(ioctx), &cPeers[0], &cMaxPeers)
if ret == -C.ERANGE {
// There are too many peers to fit in the list, and the number of peers has been
// returned in cMaxPeers. Try again with the returned value.
continue
}
if ret != 0 {
return nil, getError(ret)
}
// ret == 0
break
}
defer C.rbd_mirror_peer_list_cleanup(&cPeers[0], cMaxPeers)
cPeers = cPeers[:cMaxPeers]
for _, cPeer := range cPeers {
mpi = append(mpi, &MirrorPeerInfo{
UUID: C.GoString(cPeer.uuid),
ClusterName: C.GoString(cPeer.cluster_name),
ClientName: C.GoString(cPeer.client_name),
})
}
return mpi, nil
}
// MirrorImageState indicates whether mirroring is enabled or disabled on an
// image.
//
// A mirrored image might not immediately change its status to disabled if it has
// offsets left to sync with its peers - this is denoted by 'disabling' state.
//
// It is important to note that mirroring cannot be enabled on an image without
// first flipping on the 'journaling' image feature for it.
type MirrorImageState int
const (
// MirrorImageDisabling is the representation of
// RBD_MIRROR_IMAGE_DISABLING from librbd.
MirrorImageDisabling = MirrorImageState(C.RBD_MIRROR_IMAGE_DISABLING)
// MirrorImageEnabled is the representation of
// RBD_MIRROR_IMAGE_ENABLED from librbd.
MirrorImageEnabled = MirrorImageState(C.RBD_MIRROR_IMAGE_ENABLED)
// MirrorImageDisabled is the representation of
// RBD_MIRROR_IMAGE_DISABLED from librbd.
MirrorImageDisabled = MirrorImageState(C.RBD_MIRROR_IMAGE_DISABLED)
)
// MirrorImageStatusState denotes the current replication status of a given
// image.
type MirrorImageStatusState int
const (
// MirrorImageStatusStateUnknown is equivalent to MIRROR_IMAGE_STATUS_STATE_UNKNOWN.
MirrorImageStatusStateUnknown = MirrorImageStatusState(C.MIRROR_IMAGE_STATUS_STATE_UNKNOWN)
// MirrorImageStatusStateError is equivalent to MIRROR_IMAGE_STATUS_STATE_ERROR.
MirrorImageStatusStateError = MirrorImageStatusState(C.MIRROR_IMAGE_STATUS_STATE_ERROR)
// MirrorImageStatusStateSyncing is equivalent to MIRROR_IMAGE_STATUS_STATE_SYNCING.
MirrorImageStatusStateSyncing = MirrorImageStatusState(C.MIRROR_IMAGE_STATUS_STATE_SYNCING)
// MirrorImageStatusStateStartingReplay is equivalent to MIRROR_IMAGE_STATUS_STATE_STARTING_REPLAY.
MirrorImageStatusStateStartingReplay = MirrorImageStatusState(C.MIRROR_IMAGE_STATUS_STATE_STARTING_REPLAY)
// MirrorImageStatusStateReplaying is equivalent to MIRROR_IMAGE_STATUS_STATE_REPLAYING.
MirrorImageStatusStateReplaying = MirrorImageStatusState(C.MIRROR_IMAGE_STATUS_STATE_REPLAYING)
// MirrorImageStatusStateStoppingReplay is equivalent to MIRROR_IMAGE_STATUS_STATE_STOPPING_REPLAY.
MirrorImageStatusStateStoppingReplay = MirrorImageStatusState(C.MIRROR_IMAGE_STATUS_STATE_STOPPING_REPLAY)
// MirrorImageStatusStateStopped is equivalent to MIRROR_IMAGE_STATUS_STATE_STOPPED.
MirrorImageStatusStateStopped = MirrorImageStatusState(C.MIRROR_IMAGE_STATUS_STATE_STOPPED)
)
// MirrorImageInfo provides information about the mirroring progress of an image.
type MirrorImageInfo struct {
Name string
Description string
State MirrorImageState
StatusState MirrorImageStatusState
GlobalID string
IsPrimary bool
IsUp bool
}
// MirrorGetImage returns the MirrorImageInfo for an image.
//
// Note: this can only be used if go-ceph is compiled with the `nautilus` build
// tag.
//
// Implements:
// rbd_mirror_image_get_info(rbd_image_t image,
// rbd_mirror_image_info_t *mirror_image_info,
// size_t info_size)
func (image *Image) MirrorGetImage() (*MirrorImageInfo, error) {
err := image.validate(imageIsOpen)
if err != nil {
return nil, err
}
var status C.rbd_mirror_image_status_t
ret := C.rbd_mirror_image_get_status(image.image, &status, C.sizeof_rbd_mirror_image_status_t)
if ret != 0 {
return nil, getError(ret)
}
return &MirrorImageInfo{
Name: C.GoString(status.name),
Description: C.GoString(status.description),
State: MirrorImageState(status.info.state),
StatusState: MirrorImageStatusState(status.state),
GlobalID: C.GoString(status.info.global_id),
IsPrimary: bool(status.info.primary),
IsUp: bool(status.up),
}, nil
}
// MirrorImageList returns a MirrorImageInfo for each mirrored image.
//
// Note: this can only be used if go-ceph is compiled with the `nautilus` build
// tag.
//
// Implements:
// int rbd_mirror_image_status_list(rados_ioctx_t io_ctx,
// const char *start_id, size_t max,
// char **image_ids,
// rbd_mirror_image_status_t *images,
// size_t *len)
func MirrorImageList(ioctx *rados.IOContext) ([]*MirrorImageInfo, error) {
imageInfos := make([]*MirrorImageInfo, 0)
const cMaxIter C.size_t = 100
var startID string
for {
// We need to wrap all the actions within the for loop in a function
// in order to ensure that we correctly reclaim all allocated memory
// from C at the end of every iteration.
ret, done := iterateImageList(ioctx, &imageInfos, &startID, cMaxIter)
if ret != 0 {
return imageInfos, getError(ret)
}
if done {
break
}
}
return imageInfos, nil
}
func iterateImageList(ioctx *rados.IOContext, imageInfos *[]*MirrorImageInfo, startID *string, cMaxIter C.size_t) (C.int, bool) {
cImageIDs := make([]*C.char, cMaxIter)
cImageStatus := make([]C.rbd_mirror_image_status_t, cMaxIter)
done := false
var cLen C.size_t
ret := C.rbd_mirror_image_status_list(cephIoctx(ioctx), C.CString(*startID),
cMaxIter, &cImageIDs[0], &cImageStatus[0], &cLen)
if ret != 0 {
return ret, done
}
// If the list length is 0 or less than the max size
// specified we know we are on the last page of the list,
// and we don't need to continue iterating.
if cLen < cMaxIter {
done = true
}
if cLen == 0 {
return C.int(0), done
}
defer func() {
C.rbd_mirror_image_status_list_cleanup(&cImageIDs[0], &cImageStatus[0], cLen)
}()
for i := 0; i < int(cLen); i++ {
mi := &MirrorImageInfo{
Name: C.GoString(cImageStatus[i].name),
Description: C.GoString(cImageStatus[i].description),
State: MirrorImageState(cImageStatus[i].info.state),
StatusState: MirrorImageStatusState(cImageStatus[i].state),
GlobalID: C.GoString(cImageStatus[i].info.global_id),
IsPrimary: bool(cImageStatus[i].info.primary),
IsUp: bool(cImageStatus[i].up),
}
*imageInfos = append(*imageInfos, mi)
}
*startID = C.GoString(cImageIDs[cLen-1])
return C.int(0), done
}
// MirrorEnable will enable mirroring for an image.
//
// Note: this can only be used if go-ceph is compiled with the `nautilus` build
// tag.
//
// Implements:
// int rbd_mirror_image_enable(rbd_image_t image)
func (image *Image) MirrorEnable() error {
err := image.validate(imageIsOpen)
if err != nil {
return err
}
ret := C.rbd_mirror_image_enable(image.image)
return getError(ret)
}
// MirrorDisable will disable mirroring for an image.
//
// Note: this can only be used if go-ceph is compiled with the `nautilus` build
// tag.
//
// Implements:
// int rbd_mirror_image_disable(rbd_image_t image, bool force)
func (image *Image) MirrorDisable(force bool) error {
err := image.validate(imageIsOpen)
if err != nil {
return err
}
ret := C.rbd_mirror_image_disable(image.image, C.bool(force))
return getError(ret)
}
// MirrorPromote will promote an image to primary status.
//
// Note: this can only be used if go-ceph is compiled with the `nautilus` build
// tag.
//
// Implements:
// int rbd_mirror_image_promote(rbd_image_t image, bool force)
func (image *Image) MirrorPromote(force bool) error {
err := image.validate(imageIsOpen)
if err != nil {
return err
}
ret := C.rbd_mirror_image_promote(image.image, C.bool(force))
return getError(ret)
}
// MirrorDemote will demote an image to secondary status.
//
// Note: this can only be used if go-ceph is compiled with the `nautilus` build
// tag.
//
// Implements:
// int rbd_mirror_image_demote(rbd_image_t image)
func (image *Image) MirrorDemote() error {
err := image.validate(imageIsOpen)
if err != nil {
return err
}
ret := C.rbd_mirror_image_demote(image.image)
return getError(ret)
}
// MirrorResync is used to manually resolve split-brain status by triggering
// resynchronization.
//
// Note: this can only be used if go-ceph is compiled with the `nautilus` build
// tag.
//
// Implements:
// int rbd_mirror_image_resync(rbd_image_t image)
func (image *Image) MirrorResync() error {
err := image.validate(imageIsOpen)
if err != nil {
return err
}
ret := C.rbd_mirror_image_resync(image.image)
return getError(ret)
}

6
vendor/modules.txt vendored
View File

@ -20,7 +20,7 @@ github.com/armon/go-metrics
# github.com/armon/go-radix v1.0.0 # github.com/armon/go-radix v1.0.0
## explicit ## explicit
github.com/armon/go-radix github.com/armon/go-radix
# github.com/aws/aws-sdk-go v1.44.62 # github.com/aws/aws-sdk-go v1.44.67
## explicit; go 1.11 ## explicit; go 1.11
github.com/aws/aws-sdk-go/aws github.com/aws/aws-sdk-go/aws
github.com/aws/aws-sdk-go/aws/awserr github.com/aws/aws-sdk-go/aws/awserr
@ -125,8 +125,8 @@ github.com/cenkalti/backoff/v3
github.com/ceph/ceph-csi/api/deploy/kubernetes/nfs github.com/ceph/ceph-csi/api/deploy/kubernetes/nfs
github.com/ceph/ceph-csi/api/deploy/kubernetes/rbd github.com/ceph/ceph-csi/api/deploy/kubernetes/rbd
github.com/ceph/ceph-csi/api/deploy/ocp github.com/ceph/ceph-csi/api/deploy/ocp
# github.com/ceph/go-ceph v0.16.0 # github.com/ceph/go-ceph v0.17.0
## explicit; go 1.12 ## explicit; go 1.17
github.com/ceph/go-ceph/cephfs/admin github.com/ceph/go-ceph/cephfs/admin
github.com/ceph/go-ceph/common/admin/manager github.com/ceph/go-ceph/common/admin/manager
github.com/ceph/go-ceph/common/admin/nfs github.com/ceph/go-ceph/common/admin/nfs