@@ -1082,15 +1082,18 @@ type EnvironmentSpecDevcontainer struct {
10821082	// ``` 
10831083	// this.matches('^$|^[^/].*') 
10841084	// ``` 
1085- 	DevcontainerFilePath  string                           `json:"devcontainerFilePath"` 
1086- 	Session               string                           `json:"session"` 
1087- 	JSON                  environmentSpecDevcontainerJSON  `json:"-"` 
1085+ 	DevcontainerFilePath  string  `json:"devcontainerFilePath"` 
1086+ 	// Experimental: dotfiles is the dotfiles configuration of the devcontainer 
1087+ 	Dotfiles  EnvironmentSpecDevcontainerDotfiles  `json:"dotfiles"` 
1088+ 	Session   string                               `json:"session"` 
1089+ 	JSON      environmentSpecDevcontainerJSON      `json:"-"` 
10881090}
10891091
10901092// environmentSpecDevcontainerJSON contains the JSON metadata for the struct 
10911093// [EnvironmentSpecDevcontainer] 
10921094type  environmentSpecDevcontainerJSON  struct  {
10931095	DevcontainerFilePath  apijson.Field 
1096+ 	Dotfiles              apijson.Field 
10941097	Session               apijson.Field 
10951098	raw                   string 
10961099	ExtraFields           map [string ]apijson.Field 
@@ -1104,6 +1107,39 @@ func (r environmentSpecDevcontainerJSON) RawJSON() string {
11041107	return  r .raw 
11051108}
11061109
1110+ // Experimental: dotfiles is the dotfiles configuration of the devcontainer 
1111+ type  EnvironmentSpecDevcontainerDotfiles  struct  {
1112+ 	// URL of a dotfiles Git repository (e.g. https://github.com/owner/repository) 
1113+ 	Repository  string  `json:"repository,required" format:"uri"` 
1114+ 	// install_command is the command to run after cloning the dotfiles repository. 
1115+ 	// Defaults to run the first file of `install.sh`, `install`, `bootstrap.sh`, 
1116+ 	// `bootstrap`, `setup.sh` and `setup` found in the dotfiles repository's root 
1117+ 	// folder. 
1118+ 	InstallCommand  string  `json:"installCommand"` 
1119+ 	// target_path is the path to clone the dotfiles repository to. Defaults to 
1120+ 	// `~/dotfiles`. 
1121+ 	TargetPath  string                                   `json:"targetPath"` 
1122+ 	JSON        environmentSpecDevcontainerDotfilesJSON  `json:"-"` 
1123+ }
1124+ 
1125+ // environmentSpecDevcontainerDotfilesJSON contains the JSON metadata for the 
1126+ // struct [EnvironmentSpecDevcontainerDotfiles] 
1127+ type  environmentSpecDevcontainerDotfilesJSON  struct  {
1128+ 	Repository      apijson.Field 
1129+ 	InstallCommand  apijson.Field 
1130+ 	TargetPath      apijson.Field 
1131+ 	raw             string 
1132+ 	ExtraFields     map [string ]apijson.Field 
1133+ }
1134+ 
1135+ func  (r  * EnvironmentSpecDevcontainerDotfiles ) UnmarshalJSON (data  []byte ) (err  error ) {
1136+ 	return  apijson .UnmarshalRoot (data , r )
1137+ }
1138+ 
1139+ func  (r  environmentSpecDevcontainerDotfilesJSON ) RawJSON () string  {
1140+ 	return  r .raw 
1141+ }
1142+ 
11071143// machine is the machine spec of the environment 
11081144type  EnvironmentSpecMachine  struct  {
11091145	// Class denotes the class of the environment we ought to start 
@@ -1378,13 +1414,33 @@ type EnvironmentSpecDevcontainerParam struct {
13781414	// this.matches('^$|^[^/].*') 
13791415	// ``` 
13801416	DevcontainerFilePath  param.Field [string ] `json:"devcontainerFilePath"` 
1381- 	Session               param.Field [string ] `json:"session"` 
1417+ 	// Experimental: dotfiles is the dotfiles configuration of the devcontainer 
1418+ 	Dotfiles  param.Field [EnvironmentSpecDevcontainerDotfilesParam ] `json:"dotfiles"` 
1419+ 	Session   param.Field [string ]                                   `json:"session"` 
13821420}
13831421
13841422func  (r  EnvironmentSpecDevcontainerParam ) MarshalJSON () (data  []byte , err  error ) {
13851423	return  apijson .MarshalRoot (r )
13861424}
13871425
1426+ // Experimental: dotfiles is the dotfiles configuration of the devcontainer 
1427+ type  EnvironmentSpecDevcontainerDotfilesParam  struct  {
1428+ 	// URL of a dotfiles Git repository (e.g. https://github.com/owner/repository) 
1429+ 	Repository  param.Field [string ] `json:"repository,required" format:"uri"` 
1430+ 	// install_command is the command to run after cloning the dotfiles repository. 
1431+ 	// Defaults to run the first file of `install.sh`, `install`, `bootstrap.sh`, 
1432+ 	// `bootstrap`, `setup.sh` and `setup` found in the dotfiles repository's root 
1433+ 	// folder. 
1434+ 	InstallCommand  param.Field [string ] `json:"installCommand"` 
1435+ 	// target_path is the path to clone the dotfiles repository to. Defaults to 
1436+ 	// `~/dotfiles`. 
1437+ 	TargetPath  param.Field [string ] `json:"targetPath"` 
1438+ }
1439+ 
1440+ func  (r  EnvironmentSpecDevcontainerDotfilesParam ) MarshalJSON () (data  []byte , err  error ) {
1441+ 	return  apijson .MarshalRoot (r )
1442+ }
1443+ 
13881444// machine is the machine spec of the environment 
13891445type  EnvironmentSpecMachineParam  struct  {
13901446	// Class denotes the class of the environment we ought to start 
@@ -2215,7 +2271,7 @@ func (r EnvironmentStatusSSHPublicKeysPhase) IsKnown() bool {
22152271
22162272type  EnvironmentNewResponse  struct  {
22172273	// +resource get environment 
2218- 	Environment  Environment                 `json:"environment"` 
2274+ 	Environment  Environment                 `json:"environment,required "` 
22192275	JSON         environmentNewResponseJSON  `json:"-"` 
22202276}
22212277
@@ -2237,7 +2293,7 @@ func (r environmentNewResponseJSON) RawJSON() string {
22372293
22382294type  EnvironmentGetResponse  struct  {
22392295	// +resource get environment 
2240- 	Environment  Environment                 `json:"environment"` 
2296+ 	Environment  Environment                 `json:"environment,required "` 
22412297	JSON         environmentGetResponseJSON  `json:"-"` 
22422298}
22432299
@@ -2263,7 +2319,7 @@ type EnvironmentDeleteResponse = interface{}
22632319
22642320type  EnvironmentNewFromProjectResponse  struct  {
22652321	// +resource get environment 
2266- 	Environment  Environment                            `json:"environment"` 
2322+ 	Environment  Environment                            `json:"environment,required "` 
22672323	JSON         environmentNewFromProjectResponseJSON  `json:"-"` 
22682324}
22692325
@@ -2285,7 +2341,7 @@ func (r environmentNewFromProjectResponseJSON) RawJSON() string {
22852341
22862342type  EnvironmentNewLogsTokenResponse  struct  {
22872343	// access_token is the token that can be used to access the logs of the environment 
2288- 	AccessToken  string                               `json:"accessToken"` 
2344+ 	AccessToken  string                               `json:"accessToken,required "` 
22892345	JSON         environmentNewLogsTokenResponseJSON  `json:"-"` 
22902346}
22912347
0 commit comments