1// Code generated by smithy-go-codegen DO NOT EDIT. 2 3package iotsitewise 4 5import ( 6 "context" 7 "fmt" 8 awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" 9 "github.com/aws/aws-sdk-go-v2/aws/signer/v4" 10 "github.com/aws/aws-sdk-go-v2/service/iotsitewise/types" 11 "github.com/aws/smithy-go/middleware" 12 smithyhttp "github.com/aws/smithy-go/transport/http" 13) 14 15// Retrieves information about an asset property. When you call this operation for 16// an attribute property, this response includes the default attribute value that 17// you define in the asset model. If you update the default value in the model, 18// this operation's response includes the new default value. This operation doesn't 19// return the value of the asset property. To get the value of an asset property, 20// use GetAssetPropertyValue 21// (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_GetAssetPropertyValue.html). 22func (c *Client) DescribeAssetProperty(ctx context.Context, params *DescribeAssetPropertyInput, optFns ...func(*Options)) (*DescribeAssetPropertyOutput, error) { 23 if params == nil { 24 params = &DescribeAssetPropertyInput{} 25 } 26 27 result, metadata, err := c.invokeOperation(ctx, "DescribeAssetProperty", params, optFns, addOperationDescribeAssetPropertyMiddlewares) 28 if err != nil { 29 return nil, err 30 } 31 32 out := result.(*DescribeAssetPropertyOutput) 33 out.ResultMetadata = metadata 34 return out, nil 35} 36 37type DescribeAssetPropertyInput struct { 38 39 // The ID of the asset. 40 // 41 // This member is required. 42 AssetId *string 43 44 // The ID of the asset property. 45 // 46 // This member is required. 47 PropertyId *string 48} 49 50type DescribeAssetPropertyOutput struct { 51 52 // The ID of the asset. 53 // 54 // This member is required. 55 AssetId *string 56 57 // The ID of the asset model. 58 // 59 // This member is required. 60 AssetModelId *string 61 62 // The name of the asset. 63 // 64 // This member is required. 65 AssetName *string 66 67 // The asset property's definition, alias, and notification state. This response 68 // includes this object for normal asset properties. If you describe an asset 69 // property in a composite model, this response includes the asset property 70 // information in compositeModel. 71 AssetProperty *types.Property 72 73 // The composite asset model that declares this asset property, if this asset 74 // property exists in a composite model. 75 CompositeModel *types.CompositeModelProperty 76 77 // Metadata pertaining to the operation's result. 78 ResultMetadata middleware.Metadata 79} 80 81func addOperationDescribeAssetPropertyMiddlewares(stack *middleware.Stack, options Options) (err error) { 82 err = stack.Serialize.Add(&awsRestjson1_serializeOpDescribeAssetProperty{}, middleware.After) 83 if err != nil { 84 return err 85 } 86 err = stack.Deserialize.Add(&awsRestjson1_deserializeOpDescribeAssetProperty{}, middleware.After) 87 if err != nil { 88 return err 89 } 90 if err = addSetLoggerMiddleware(stack, options); err != nil { 91 return err 92 } 93 if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { 94 return err 95 } 96 if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { 97 return err 98 } 99 if err = addResolveEndpointMiddleware(stack, options); err != nil { 100 return err 101 } 102 if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { 103 return err 104 } 105 if err = addRetryMiddlewares(stack, options); err != nil { 106 return err 107 } 108 if err = addHTTPSignerV4Middleware(stack, options); err != nil { 109 return err 110 } 111 if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { 112 return err 113 } 114 if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { 115 return err 116 } 117 if err = addClientUserAgent(stack); err != nil { 118 return err 119 } 120 if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { 121 return err 122 } 123 if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { 124 return err 125 } 126 if err = addEndpointPrefix_opDescribeAssetPropertyMiddleware(stack); err != nil { 127 return err 128 } 129 if err = addOpDescribeAssetPropertyValidationMiddleware(stack); err != nil { 130 return err 131 } 132 if err = stack.Initialize.Add(newServiceMetadataMiddleware_opDescribeAssetProperty(options.Region), middleware.Before); err != nil { 133 return err 134 } 135 if err = addRequestIDRetrieverMiddleware(stack); err != nil { 136 return err 137 } 138 if err = addResponseErrorMiddleware(stack); err != nil { 139 return err 140 } 141 if err = addRequestResponseLogging(stack, options); err != nil { 142 return err 143 } 144 return nil 145} 146 147type endpointPrefix_opDescribeAssetPropertyMiddleware struct { 148} 149 150func (*endpointPrefix_opDescribeAssetPropertyMiddleware) ID() string { 151 return "EndpointHostPrefix" 152} 153 154func (m *endpointPrefix_opDescribeAssetPropertyMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( 155 out middleware.SerializeOutput, metadata middleware.Metadata, err error, 156) { 157 if smithyhttp.GetHostnameImmutable(ctx) || smithyhttp.IsEndpointHostPrefixDisabled(ctx) { 158 return next.HandleSerialize(ctx, in) 159 } 160 161 req, ok := in.Request.(*smithyhttp.Request) 162 if !ok { 163 return out, metadata, fmt.Errorf("unknown transport type %T", in.Request) 164 } 165 166 req.URL.Host = "model." + req.URL.Host 167 168 return next.HandleSerialize(ctx, in) 169} 170func addEndpointPrefix_opDescribeAssetPropertyMiddleware(stack *middleware.Stack) error { 171 return stack.Serialize.Insert(&endpointPrefix_opDescribeAssetPropertyMiddleware{}, `OperationSerializer`, middleware.After) 172} 173 174func newServiceMetadataMiddleware_opDescribeAssetProperty(region string) *awsmiddleware.RegisterServiceMetadata { 175 return &awsmiddleware.RegisterServiceMetadata{ 176 Region: region, 177 ServiceID: ServiceID, 178 SigningName: "iotsitewise", 179 OperationName: "DescribeAssetProperty", 180 } 181} 182