File: api_op_UpdateSiteRackPhysicalProperties.go

package info (click to toggle)
golang-github-aws-aws-sdk-go-v2 1.24.1-2~bpo12%2B1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm-backports
  • size: 554,032 kB
  • sloc: java: 15,941; makefile: 419; sh: 175
file content (204 lines) | stat: -rw-r--r-- 7,399 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
// Code generated by smithy-go-codegen DO NOT EDIT.

package outposts

import (
	"context"
	"fmt"
	awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
	"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
	"github.com/aws/aws-sdk-go-v2/service/outposts/types"
	"github.com/aws/smithy-go/middleware"
	smithyhttp "github.com/aws/smithy-go/transport/http"
)

// Update the physical and logistical details for a rack at a site. For more
// information about hardware requirements for racks, see Network readiness
// checklist (https://docs.aws.amazon.com/outposts/latest/userguide/outposts-requirements.html#checklist)
// in the Amazon Web Services Outposts User Guide. To update a rack at a site with
// an order of IN_PROGRESS , you must wait for the order to complete or cancel the
// order.
func (c *Client) UpdateSiteRackPhysicalProperties(ctx context.Context, params *UpdateSiteRackPhysicalPropertiesInput, optFns ...func(*Options)) (*UpdateSiteRackPhysicalPropertiesOutput, error) {
	if params == nil {
		params = &UpdateSiteRackPhysicalPropertiesInput{}
	}

	result, metadata, err := c.invokeOperation(ctx, "UpdateSiteRackPhysicalProperties", params, optFns, c.addOperationUpdateSiteRackPhysicalPropertiesMiddlewares)
	if err != nil {
		return nil, err
	}

	out := result.(*UpdateSiteRackPhysicalPropertiesOutput)
	out.ResultMetadata = metadata
	return out, nil
}

type UpdateSiteRackPhysicalPropertiesInput struct {

	// The ID or the Amazon Resource Name (ARN) of the site.
	//
	// This member is required.
	SiteId *string

	// The type of fiber that you will use to attach the Outpost to your network.
	FiberOpticCableType types.FiberOpticCableType

	// The maximum rack weight that this site can support. NO_LIMIT is over 2000lbs.
	MaximumSupportedWeightLbs types.MaximumSupportedWeightLbs

	// The type of optical standard that you will use to attach the Outpost to your
	// network. This field is dependent on uplink speed, fiber type, and distance to
	// the upstream device. For more information about networking requirements for
	// racks, see Network (https://docs.aws.amazon.com/outposts/latest/userguide/outposts-requirements.html#facility-networking)
	// in the Amazon Web Services Outposts User Guide.
	//   - OPTIC_10GBASE_SR : 10GBASE-SR
	//   - OPTIC_10GBASE_IR : 10GBASE-IR
	//   - OPTIC_10GBASE_LR : 10GBASE-LR
	//   - OPTIC_40GBASE_SR : 40GBASE-SR
	//   - OPTIC_40GBASE_ESR : 40GBASE-ESR
	//   - OPTIC_40GBASE_IR4_LR4L : 40GBASE-IR (LR4L)
	//   - OPTIC_40GBASE_LR4 : 40GBASE-LR4
	//   - OPTIC_100GBASE_SR4 : 100GBASE-SR4
	//   - OPTIC_100GBASE_CWDM4 : 100GBASE-CWDM4
	//   - OPTIC_100GBASE_LR4 : 100GBASE-LR4
	//   - OPTIC_100G_PSM4_MSA : 100G PSM4 MSA
	//   - OPTIC_1000BASE_LX : 1000Base-LX
	//   - OPTIC_1000BASE_SX : 1000Base-SX
	OpticalStandard types.OpticalStandard

	// The power connector that Amazon Web Services should plan to provide for
	// connections to the hardware. Note the correlation between PowerPhase and
	// PowerConnector .
	//   - Single-phase AC feed
	//   - L6-30P – (common in US); 30A; single phase
	//   - IEC309 (blue) – P+N+E, 6hr; 32 A; single phase
	//   - Three-phase AC feed
	//   - AH530P7W (red) – 3P+N+E, 7hr; 30A; three phase
	//   - AH532P6W (red) – 3P+N+E, 6hr; 32A; three phase
	PowerConnector types.PowerConnector

	// The power draw, in kVA, available at the hardware placement position for the
	// rack.
	PowerDrawKva types.PowerDrawKva

	// Indicates whether the power feed comes above or below the rack.
	PowerFeedDrop types.PowerFeedDrop

	// The power option that you can provide for hardware.
	//   - Single-phase AC feed: 200 V to 277 V, 50 Hz or 60 Hz
	//   - Three-phase AC feed: 346 V to 480 V, 50 Hz or 60 Hz
	PowerPhase types.PowerPhase

	// Racks come with two Outpost network devices. Depending on the supported uplink
	// speed at the site, the Outpost network devices provide a variable number of
	// uplinks. Specify the number of uplinks for each Outpost network device that you
	// intend to use to connect the rack to your network. Note the correlation between
	// UplinkGbps and UplinkCount .
	//   - 1Gbps - Uplinks available: 1, 2, 4, 6, 8
	//   - 10Gbps - Uplinks available: 1, 2, 4, 8, 12, 16
	//   - 40 and 100 Gbps- Uplinks available: 1, 2, 4
	UplinkCount types.UplinkCount

	// The uplink speed the rack should support for the connection to the Region.
	UplinkGbps types.UplinkGbps

	noSmithyDocumentSerde
}

type UpdateSiteRackPhysicalPropertiesOutput struct {

	// Information about a site.
	Site *types.Site

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata

	noSmithyDocumentSerde
}

func (c *Client) addOperationUpdateSiteRackPhysicalPropertiesMiddlewares(stack *middleware.Stack, options Options) (err error) {
	if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
		return err
	}
	err = stack.Serialize.Add(&awsRestjson1_serializeOpUpdateSiteRackPhysicalProperties{}, middleware.After)
	if err != nil {
		return err
	}
	err = stack.Deserialize.Add(&awsRestjson1_deserializeOpUpdateSiteRackPhysicalProperties{}, middleware.After)
	if err != nil {
		return err
	}
	if err := addProtocolFinalizerMiddlewares(stack, options, "UpdateSiteRackPhysicalProperties"); err != nil {
		return fmt.Errorf("add protocol finalizers: %v", err)
	}

	if err = addlegacyEndpointContextSetter(stack, options); err != nil {
		return err
	}
	if err = addSetLoggerMiddleware(stack, options); err != nil {
		return err
	}
	if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil {
		return err
	}
	if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil {
		return err
	}
	if err = addResolveEndpointMiddleware(stack, options); err != nil {
		return err
	}
	if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil {
		return err
	}
	if err = addRetryMiddlewares(stack, options); err != nil {
		return err
	}
	if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
		return err
	}
	if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil {
		return err
	}
	if err = addClientUserAgent(stack, options); err != nil {
		return err
	}
	if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil {
		return err
	}
	if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
		return err
	}
	if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
		return err
	}
	if err = addOpUpdateSiteRackPhysicalPropertiesValidationMiddleware(stack); err != nil {
		return err
	}
	if err = stack.Initialize.Add(newServiceMetadataMiddleware_opUpdateSiteRackPhysicalProperties(options.Region), middleware.Before); err != nil {
		return err
	}
	if err = awsmiddleware.AddRecursionDetection(stack); err != nil {
		return err
	}
	if err = addRequestIDRetrieverMiddleware(stack); err != nil {
		return err
	}
	if err = addResponseErrorMiddleware(stack); err != nil {
		return err
	}
	if err = addRequestResponseLogging(stack, options); err != nil {
		return err
	}
	if err = addDisableHTTPSMiddleware(stack, options); err != nil {
		return err
	}
	return nil
}

func newServiceMetadataMiddleware_opUpdateSiteRackPhysicalProperties(region string) *awsmiddleware.RegisterServiceMetadata {
	return &awsmiddleware.RegisterServiceMetadata{
		Region:        region,
		ServiceID:     ServiceID,
		OperationName: "UpdateSiteRackPhysicalProperties",
	}
}