@@ -333,6 +333,31 @@ A duration in seconds with up to nine fractional digits, ending with 's'. Exampl
333333 },
334334 },
335335 },
336+ "nfs" : {
337+ Type : schema .TypeList ,
338+ Optional : true ,
339+ Description : `NFS share mounted as a volume. This feature requires the launch stage to be set to ALPHA or BETA.` ,
340+ MaxItems : 1 ,
341+ Elem : & schema.Resource {
342+ Schema : map [string ]* schema.Schema {
343+ "server" : {
344+ Type : schema .TypeString ,
345+ Required : true ,
346+ Description : `Hostname or IP address of the NFS server.` ,
347+ },
348+ "path" : {
349+ Type : schema .TypeString ,
350+ Optional : true ,
351+ Description : `Path that is exported by the NFS server.` ,
352+ },
353+ "read_only" : {
354+ Type : schema .TypeBool ,
355+ Optional : true ,
356+ Description : `If true, mount this volume as read-only in all mounts.` ,
357+ },
358+ },
359+ },
360+ },
336361 "secret" : {
337362 Type : schema .TypeList ,
338363 Optional : true ,
@@ -1569,6 +1594,7 @@ func flattenCloudRunV2JobTemplateTemplateVolumes(v interface{}, d *schema.Resour
15691594 "cloud_sql_instance" : flattenCloudRunV2JobTemplateTemplateVolumesCloudSqlInstance (original ["cloudSqlInstance" ], d , config ),
15701595 "empty_dir" : flattenCloudRunV2JobTemplateTemplateVolumesEmptyDir (original ["emptyDir" ], d , config ),
15711596 "gcs" : flattenCloudRunV2JobTemplateTemplateVolumesGcs (original ["gcs" ], d , config ),
1597+ "nfs" : flattenCloudRunV2JobTemplateTemplateVolumesNfs (original ["nfs" ], d , config ),
15721598 })
15731599 }
15741600 return transformed
@@ -1723,6 +1749,35 @@ func flattenCloudRunV2JobTemplateTemplateVolumesGcsReadOnly(v interface{}, d *sc
17231749 return v
17241750}
17251751
1752+ func flattenCloudRunV2JobTemplateTemplateVolumesNfs (v interface {}, d * schema.ResourceData , config * transport_tpg.Config ) interface {} {
1753+ if v == nil {
1754+ return nil
1755+ }
1756+ original := v .(map [string ]interface {})
1757+ if len (original ) == 0 {
1758+ return nil
1759+ }
1760+ transformed := make (map [string ]interface {})
1761+ transformed ["server" ] =
1762+ flattenCloudRunV2JobTemplateTemplateVolumesNfsServer (original ["server" ], d , config )
1763+ transformed ["path" ] =
1764+ flattenCloudRunV2JobTemplateTemplateVolumesNfsPath (original ["path" ], d , config )
1765+ transformed ["read_only" ] =
1766+ flattenCloudRunV2JobTemplateTemplateVolumesNfsReadOnly (original ["readOnly" ], d , config )
1767+ return []interface {}{transformed }
1768+ }
1769+ func flattenCloudRunV2JobTemplateTemplateVolumesNfsServer (v interface {}, d * schema.ResourceData , config * transport_tpg.Config ) interface {} {
1770+ return v
1771+ }
1772+
1773+ func flattenCloudRunV2JobTemplateTemplateVolumesNfsPath (v interface {}, d * schema.ResourceData , config * transport_tpg.Config ) interface {} {
1774+ return v
1775+ }
1776+
1777+ func flattenCloudRunV2JobTemplateTemplateVolumesNfsReadOnly (v interface {}, d * schema.ResourceData , config * transport_tpg.Config ) interface {} {
1778+ return v
1779+ }
1780+
17261781func flattenCloudRunV2JobTemplateTemplateTimeout (v interface {}, d * schema.ResourceData , config * transport_tpg.Config ) interface {} {
17271782 return v
17281783}
@@ -2545,6 +2600,13 @@ func expandCloudRunV2JobTemplateTemplateVolumes(v interface{}, d tpgresource.Ter
25452600 transformed ["gcs" ] = transformedGcs
25462601 }
25472602
2603+ transformedNfs , err := expandCloudRunV2JobTemplateTemplateVolumesNfs (original ["nfs" ], d , config )
2604+ if err != nil {
2605+ return nil , err
2606+ } else if val := reflect .ValueOf (transformedNfs ); val .IsValid () && ! tpgresource .IsEmptyValue (val ) {
2607+ transformed ["nfs" ] = transformedNfs
2608+ }
2609+
25482610 req = append (req , transformed )
25492611 }
25502612 return req , nil
@@ -2734,6 +2796,51 @@ func expandCloudRunV2JobTemplateTemplateVolumesGcsReadOnly(v interface{}, d tpgr
27342796 return v , nil
27352797}
27362798
2799+ func expandCloudRunV2JobTemplateTemplateVolumesNfs (v interface {}, d tpgresource.TerraformResourceData , config * transport_tpg.Config ) (interface {}, error ) {
2800+ l := v .([]interface {})
2801+ if len (l ) == 0 || l [0 ] == nil {
2802+ return nil , nil
2803+ }
2804+ raw := l [0 ]
2805+ original := raw .(map [string ]interface {})
2806+ transformed := make (map [string ]interface {})
2807+
2808+ transformedServer , err := expandCloudRunV2JobTemplateTemplateVolumesNfsServer (original ["server" ], d , config )
2809+ if err != nil {
2810+ return nil , err
2811+ } else if val := reflect .ValueOf (transformedServer ); val .IsValid () && ! tpgresource .IsEmptyValue (val ) {
2812+ transformed ["server" ] = transformedServer
2813+ }
2814+
2815+ transformedPath , err := expandCloudRunV2JobTemplateTemplateVolumesNfsPath (original ["path" ], d , config )
2816+ if err != nil {
2817+ return nil , err
2818+ } else if val := reflect .ValueOf (transformedPath ); val .IsValid () && ! tpgresource .IsEmptyValue (val ) {
2819+ transformed ["path" ] = transformedPath
2820+ }
2821+
2822+ transformedReadOnly , err := expandCloudRunV2JobTemplateTemplateVolumesNfsReadOnly (original ["read_only" ], d , config )
2823+ if err != nil {
2824+ return nil , err
2825+ } else if val := reflect .ValueOf (transformedReadOnly ); val .IsValid () && ! tpgresource .IsEmptyValue (val ) {
2826+ transformed ["readOnly" ] = transformedReadOnly
2827+ }
2828+
2829+ return transformed , nil
2830+ }
2831+
2832+ func expandCloudRunV2JobTemplateTemplateVolumesNfsServer (v interface {}, d tpgresource.TerraformResourceData , config * transport_tpg.Config ) (interface {}, error ) {
2833+ return v , nil
2834+ }
2835+
2836+ func expandCloudRunV2JobTemplateTemplateVolumesNfsPath (v interface {}, d tpgresource.TerraformResourceData , config * transport_tpg.Config ) (interface {}, error ) {
2837+ return v , nil
2838+ }
2839+
2840+ func expandCloudRunV2JobTemplateTemplateVolumesNfsReadOnly (v interface {}, d tpgresource.TerraformResourceData , config * transport_tpg.Config ) (interface {}, error ) {
2841+ return v , nil
2842+ }
2843+
27372844func expandCloudRunV2JobTemplateTemplateTimeout (v interface {}, d tpgresource.TerraformResourceData , config * transport_tpg.Config ) (interface {}, error ) {
27382845 return v , nil
27392846}
0 commit comments