@@ -398,6 +398,16 @@ func (u OriginRequestUnionParam) GetPrefix() *string {
398398 return nil
399399}
400400
401+ // Returns a pointer to the underlying variant's property, if present.
402+ func (u OriginRequestUnionParam ) GetUseIamRole () * bool {
403+ if vt := u .OfS3 ; vt != nil && vt .UseIamRole .Valid () {
404+ return & vt .UseIamRole .Value
405+ } else if vt := u .OfCloudinaryBackup ; vt != nil && vt .UseIamRole .Valid () {
406+ return & vt .UseIamRole .Value
407+ }
408+ return nil
409+ }
410+
401411// Returns a pointer to the underlying variant's property, if present.
402412func (u OriginRequestUnionParam ) GetBaseURL () * string {
403413 if vt := u .OfWebFolder ; vt != nil {
@@ -424,20 +434,23 @@ func init() {
424434
425435// The properties AccessKey, Bucket, Name, SecretKey, Type are required.
426436type OriginRequestS3Param struct {
427- // Access key for the bucket.
437+ // Access key for the bucket. When `useIAMRole` is `true`, send an empty string.
428438 AccessKey string `json:"accessKey" api:"required"`
429439 // S3 bucket name.
430440 Bucket string `json:"bucket" api:"required"`
431441 // Display name of the origin.
432442 Name string `json:"name" api:"required"`
433- // Secret key for the bucket.
443+ // Secret key for the bucket. When `useIAMRole` is `true`, send an empty string.
434444 SecretKey string `json:"secretKey" api:"required"`
435445 // URL used in the Canonical header (if enabled).
436446 BaseURLForCanonicalHeader param.Opt [string ] `json:"baseUrlForCanonicalHeader,omitzero" format:"uri"`
437447 // Whether to send a Canonical header.
438448 IncludeCanonicalHeader param.Opt [bool ] `json:"includeCanonicalHeader,omitzero"`
439449 // Path prefix inside the bucket.
440450 Prefix param.Opt [string ] `json:"prefix,omitzero"`
451+ // Use IAM role for authentication instead of access/secret keys. When set to
452+ // `true`, send an empty string for both `accessKey` and `secretKey`.
453+ UseIamRole param.Opt [bool ] `json:"useIAMRole,omitzero"`
441454 // This field can be elided, and will marshal its zero value as "S3".
442455 Type constant.S3 `json:"type" default:"S3"`
443456 paramObj
@@ -486,20 +499,23 @@ func (r *OriginRequestS3CompatibleParam) UnmarshalJSON(data []byte) error {
486499
487500// The properties AccessKey, Bucket, Name, SecretKey, Type are required.
488501type OriginRequestCloudinaryBackupParam struct {
489- // Access key for the bucket.
502+ // Access key for the bucket. When `useIAMRole` is `true`, send an empty string.
490503 AccessKey string `json:"accessKey" api:"required"`
491504 // S3 bucket name.
492505 Bucket string `json:"bucket" api:"required"`
493506 // Display name of the origin.
494507 Name string `json:"name" api:"required"`
495- // Secret key for the bucket.
508+ // Secret key for the bucket. When `useIAMRole` is `true`, send an empty string.
496509 SecretKey string `json:"secretKey" api:"required"`
497510 // URL used in the Canonical header (if enabled).
498511 BaseURLForCanonicalHeader param.Opt [string ] `json:"baseUrlForCanonicalHeader,omitzero" format:"uri"`
499512 // Whether to send a Canonical header.
500513 IncludeCanonicalHeader param.Opt [bool ] `json:"includeCanonicalHeader,omitzero"`
501514 // Path prefix inside the bucket.
502515 Prefix param.Opt [string ] `json:"prefix,omitzero"`
516+ // Use IAM role for authentication instead of access/secret keys. When set to
517+ // `true`, send an empty string for both `accessKey` and `secretKey`.
518+ UseIamRole param.Opt [bool ] `json:"useIAMRole,omitzero"`
503519 // This field can be elided, and will marshal its zero value as
504520 // "CLOUDINARY_BACKUP".
505521 Type constant.CloudinaryBackup `json:"type" default:"CLOUDINARY_BACKUP"`
@@ -661,6 +677,7 @@ type OriginResponseUnion struct {
661677 // "GCS", "AZURE_BLOB", "AKENEO_PIM".
662678 Type string `json:"type"`
663679 BaseURLForCanonicalHeader string `json:"baseUrlForCanonicalHeader"`
680+ UseIamRole bool `json:"useIAMRole"`
664681 // This field is from variant [OriginResponseS3Compatible].
665682 Endpoint string `json:"endpoint"`
666683 // This field is from variant [OriginResponseS3Compatible].
@@ -682,6 +699,7 @@ type OriginResponseUnion struct {
682699 Prefix respjson.Field
683700 Type respjson.Field
684701 BaseURLForCanonicalHeader respjson.Field
702+ UseIamRole respjson.Field
685703 Endpoint respjson.Field
686704 S3ForcePathStyle respjson.Field
687705 BaseURL respjson.Field
@@ -806,6 +824,9 @@ type OriginResponseS3 struct {
806824 Type constant.S3 `json:"type" default:"S3"`
807825 // URL used in the Canonical header (if enabled).
808826 BaseURLForCanonicalHeader string `json:"baseUrlForCanonicalHeader" format:"uri"`
827+ // Whether the origin authenticates using an IAM role instead of access/secret
828+ // keys.
829+ UseIamRole bool `json:"useIAMRole"`
809830 // JSON contains metadata for fields, check presence with [respjson.Field.Valid].
810831 JSON struct {
811832 ID respjson.Field
@@ -815,6 +836,7 @@ type OriginResponseS3 struct {
815836 Prefix respjson.Field
816837 Type respjson.Field
817838 BaseURLForCanonicalHeader respjson.Field
839+ UseIamRole respjson.Field
818840 ExtraFields map [string ]respjson.Field
819841 raw string
820842 } `json:"-"`
@@ -882,6 +904,9 @@ type OriginResponseCloudinaryBackup struct {
882904 Type constant.CloudinaryBackup `json:"type" default:"CLOUDINARY_BACKUP"`
883905 // URL used in the Canonical header (if enabled).
884906 BaseURLForCanonicalHeader string `json:"baseUrlForCanonicalHeader" format:"uri"`
907+ // Whether the origin authenticates using an IAM role instead of access/secret
908+ // keys.
909+ UseIamRole bool `json:"useIAMRole"`
885910 // JSON contains metadata for fields, check presence with [respjson.Field.Valid].
886911 JSON struct {
887912 ID respjson.Field
@@ -891,6 +916,7 @@ type OriginResponseCloudinaryBackup struct {
891916 Prefix respjson.Field
892917 Type respjson.Field
893918 BaseURLForCanonicalHeader respjson.Field
919+ UseIamRole respjson.Field
894920 ExtraFields map [string ]respjson.Field
895921 raw string
896922 } `json:"-"`
0 commit comments