Skip to content

Commit

Permalink
feat(api): manual updates (#64)
Browse files Browse the repository at this point in the history
  • Loading branch information
stainless-app[bot] committed Feb 21, 2025
1 parent a62be8a commit f29b9ba
Showing 35 changed files with 220 additions and 1,629 deletions.
2 changes: 1 addition & 1 deletion .stats.yml
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
configured_endpoints: 111
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/gitpod%2Fgitpod-064a191bc556bcab46bb5d612c844437e1a4aef5981a4a99ab7f825a96ede4fa.yml
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/gitpod%2Fgitpod-3655d5ad0ac3e228c1519af70dbf3d0bfa3c47a2d06d4cac92a650da051b49a6.yml
22 changes: 12 additions & 10 deletions src/gitpod/resources/environments/environments.py
Original file line number Diff line number Diff line change
@@ -164,8 +164,8 @@ def create(
```
Args:
spec: EnvironmentSpec specifies the configuration of an environment for an environment
start
spec: spec is the configuration of the environment that's required for the to start
the environment
extra_headers: Send extra headers
@@ -540,8 +540,9 @@ def create_from_project(
```
Args:
spec: EnvironmentSpec specifies the configuration of an environment for an environment
start
spec: Spec is the configuration of the environment that's required for the runner to
start the environment Configuration already defined in the Project will override
parts of the spec, if set
extra_headers: Send extra headers
@@ -651,7 +652,7 @@ def mark_active(
```
Args:
activity_signal: EnvironmentActivitySignal used to signal activity for an environment.
activity_signal: activity_signal specifies the activity.
environment_id: The ID of the environment to update activity for.
@@ -880,8 +881,8 @@ async def create(
```
Args:
spec: EnvironmentSpec specifies the configuration of an environment for an environment
start
spec: spec is the configuration of the environment that's required for the to start
the environment
extra_headers: Send extra headers
@@ -1256,8 +1257,9 @@ async def create_from_project(
```
Args:
spec: EnvironmentSpec specifies the configuration of an environment for an environment
start
spec: Spec is the configuration of the environment that's required for the runner to
start the environment Configuration already defined in the Project will override
parts of the spec, if set
extra_headers: Send extra headers
@@ -1367,7 +1369,7 @@ async def mark_active(
```
Args:
activity_signal: EnvironmentActivitySignal used to signal activity for an environment.
activity_signal: activity_signal specifies the activity.
environment_id: The ID of the environment to update activity for.
8 changes: 4 additions & 4 deletions src/gitpod/resources/projects/projects.py
Original file line number Diff line number Diff line change
@@ -130,7 +130,7 @@ def create(
```
Args:
initializer: EnvironmentInitializer specifies how an environment is to be initialized
initializer: initializer is the content initializer
automations_file_path: automations_file_path is the path to the automations file relative to the repo
root path must not be absolute (start with a /):
@@ -284,7 +284,7 @@ def update(
this.matches("^$|^[^/].*")
```
initializer: EnvironmentInitializer specifies how an environment is to be initialized
initializer: initializer is the content initializer
project_id: project_id specifies the project identifier
@@ -571,7 +571,7 @@ async def create(
```
Args:
initializer: EnvironmentInitializer specifies how an environment is to be initialized
initializer: initializer is the content initializer
automations_file_path: automations_file_path is the path to the automations file relative to the repo
root path must not be absolute (start with a /):
@@ -725,7 +725,7 @@ async def update(
this.matches("^$|^[^/].*")
```
initializer: EnvironmentInitializer specifies how an environment is to be initialized
initializer: initializer is the content initializer
project_id: project_id specifies the project identifier
20 changes: 12 additions & 8 deletions src/gitpod/resources/runners/runners.py
Original file line number Diff line number Diff line change
@@ -148,13 +148,15 @@ def create(
```
Args:
kind: RunnerKind represents the kind of a runner
kind: The runner's kind This field is optional and here for backwards-compatibility.
Use the provider field instead. If provider is set, the runner's kind will be
deduced from the provider. Only one of kind and provider must be set.
name: The runner name for humans
provider: RunnerProvider identifies the specific implementation type of a runner. Each
provider maps to a specific kind of runner (local or remote), as specified below
for each provider.
provider: The specific implementation type of the runner This field is optional for
backwards compatibility but will be required in the future. When specified, kind
must not be specified (will be deduced from provider)
extra_headers: Send extra headers
@@ -699,13 +701,15 @@ async def create(
```
Args:
kind: RunnerKind represents the kind of a runner
kind: The runner's kind This field is optional and here for backwards-compatibility.
Use the provider field instead. If provider is set, the runner's kind will be
deduced from the provider. Only one of kind and provider must be set.
name: The runner name for humans
provider: RunnerProvider identifies the specific implementation type of a runner. Each
provider maps to a specific kind of runner (local or remote), as specified below
for each provider.
provider: The specific implementation type of the runner This field is optional for
backwards compatibility but will be required in the future. When specified, kind
must not be specified (will be deduced from provider)
extra_headers: Send extra headers
14 changes: 12 additions & 2 deletions src/gitpod/resources/secrets.py
Original file line number Diff line number Diff line change
@@ -116,7 +116,12 @@ def create(
Args:
container_registry_basic_auth_host: secret will be mounted as a docker config in the environment VM, mount will have
the docker registry host
the docker registry host value must be a valid registry host (e.g.
registry.docker.com, https://registry.docker.com, ghcr.io:5050):
```
this.matches("^[a-zA-Z0-9.-/:]+(:[0-9]+)?$")
```
environment_variable: secret will be created as an Environment Variable with the same name as the
secret
@@ -469,7 +474,12 @@ async def create(
Args:
container_registry_basic_auth_host: secret will be mounted as a docker config in the environment VM, mount will have
the docker registry host
the docker registry host value must be a valid registry host (e.g.
registry.docker.com, https://registry.docker.com, ghcr.io:5050):
```
this.matches("^[a-zA-Z0-9.-/:]+(:[0-9]+)?$")
```
environment_variable: secret will be created as an Environment Variable with the same name as the
secret
10 changes: 5 additions & 5 deletions src/gitpod/types/environment.py
Original file line number Diff line number Diff line change
@@ -20,15 +20,15 @@ class Environment(BaseModel):

metadata: Optional[EnvironmentMetadata] = None
"""
EnvironmentMetadata is data associated with an environment that's required for
other parts of the system to function
Metadata is data associated with this environment that's required for other
parts of Gitpod to function
"""

spec: Optional[EnvironmentSpec] = None
"""
EnvironmentSpec specifies the configuration of an environment for an environment
start
Spec is the configuration of the environment that's required for the runner to
start the environment
"""

status: Optional[EnvironmentStatus] = None
"""EnvironmentStatus describes an environment status"""
"""Status is the current status of the environment"""
90 changes: 2 additions & 88 deletions src/gitpod/types/environment_activity_signal.py
Original file line number Diff line number Diff line change
@@ -18,92 +18,6 @@ class EnvironmentActivitySignal(BaseModel):

timestamp: Optional[datetime] = None
"""
A Timestamp represents a point in time independent of any time zone or local
calendar, encoded as a count of seconds and fractions of seconds at nanosecond
resolution. The count is relative to an epoch at UTC midnight on January 1,
1970, in the proleptic Gregorian calendar which extends the Gregorian calendar
backwards to year one.
All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
second table is needed for interpretation, using a
[24-hour linear smear](https://developers.google.com/time/smear).
The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
restricting to that range, we ensure that we can convert to and from
[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
# Examples
Example 1: Compute Timestamp from POSIX `time()`.
Timestamp timestamp;
timestamp.set_seconds(time(NULL));
timestamp.set_nanos(0);
Example 2: Compute Timestamp from POSIX `gettimeofday()`.
struct timeval tv;
gettimeofday(&tv, NULL);
Timestamp timestamp;
timestamp.set_seconds(tv.tv_sec);
timestamp.set_nanos(tv.tv_usec * 1000);
Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
FILETIME ft;
GetSystemTimeAsFileTime(&ft);
UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
// A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
// is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
Timestamp timestamp;
timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
long millis = System.currentTimeMillis();
Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
.setNanos((int) ((millis % 1000) * 1000000)).build();
Example 5: Compute Timestamp from Java `Instant.now()`.
Instant now = Instant.now();
Timestamp timestamp =
Timestamp.newBuilder().setSeconds(now.getEpochSecond())
.setNanos(now.getNano()).build();
Example 6: Compute Timestamp from current time in Python.
timestamp = Timestamp()
timestamp.GetCurrentTime()
# JSON Mapping
In JSON format, the Timestamp type is encoded as a string in the
[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the format is
"{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" where {year} is always
expressed using four digits while {month}, {day}, {hour}, {min}, and {sec} are
zero-padded to two digits each. The fractional seconds, which can go up to 9
digits (i.e. up to 1 nanosecond resolution), are optional. The "Z" suffix
indicates the timezone ("UTC"); the timezone is required. A proto3 JSON
serializer should always use UTC (as indicated by "Z") when printing the
Timestamp type and a proto3 JSON parser should be able to accept both UTC and
other timezones (as indicated by an offset).
For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past 01:30 UTC on
January 15, 2017.
In JavaScript, one can convert a Date object to this format using the standard
[toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
method. In Python, a standard `datetime.datetime` object can be converted to
this format using
[`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with the
time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use the
Joda Time's
[`ISODateTimeFormat.dateTime()`](<http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()>)
to obtain a formatter capable of generating timestamps in this format.
timestamp of when the activity was observed by the source. Only reported every 5
minutes. Zero value means no activity was observed.
"""
90 changes: 2 additions & 88 deletions src/gitpod/types/environment_activity_signal_param.py
Original file line number Diff line number Diff line change
@@ -21,92 +21,6 @@ class EnvironmentActivitySignalParam(TypedDict, total=False):

timestamp: Annotated[Union[str, datetime], PropertyInfo(format="iso8601")]
"""
A Timestamp represents a point in time independent of any time zone or local
calendar, encoded as a count of seconds and fractions of seconds at nanosecond
resolution. The count is relative to an epoch at UTC midnight on January 1,
1970, in the proleptic Gregorian calendar which extends the Gregorian calendar
backwards to year one.
All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
second table is needed for interpretation, using a
[24-hour linear smear](https://developers.google.com/time/smear).
The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
restricting to that range, we ensure that we can convert to and from
[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
# Examples
Example 1: Compute Timestamp from POSIX `time()`.
Timestamp timestamp;
timestamp.set_seconds(time(NULL));
timestamp.set_nanos(0);
Example 2: Compute Timestamp from POSIX `gettimeofday()`.
struct timeval tv;
gettimeofday(&tv, NULL);
Timestamp timestamp;
timestamp.set_seconds(tv.tv_sec);
timestamp.set_nanos(tv.tv_usec * 1000);
Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
FILETIME ft;
GetSystemTimeAsFileTime(&ft);
UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
// A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
// is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
Timestamp timestamp;
timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
long millis = System.currentTimeMillis();
Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
.setNanos((int) ((millis % 1000) * 1000000)).build();
Example 5: Compute Timestamp from Java `Instant.now()`.
Instant now = Instant.now();
Timestamp timestamp =
Timestamp.newBuilder().setSeconds(now.getEpochSecond())
.setNanos(now.getNano()).build();
Example 6: Compute Timestamp from current time in Python.
timestamp = Timestamp()
timestamp.GetCurrentTime()
# JSON Mapping
In JSON format, the Timestamp type is encoded as a string in the
[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the format is
"{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" where {year} is always
expressed using four digits while {month}, {day}, {hour}, {min}, and {sec} are
zero-padded to two digits each. The fractional seconds, which can go up to 9
digits (i.e. up to 1 nanosecond resolution), are optional. The "Z" suffix
indicates the timezone ("UTC"); the timezone is required. A proto3 JSON
serializer should always use UTC (as indicated by "Z") when printing the
Timestamp type and a proto3 JSON parser should be able to accept both UTC and
other timezones (as indicated by an offset).
For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past 01:30 UTC on
January 15, 2017.
In JavaScript, one can convert a Date object to this format using the standard
[toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
method. In Python, a standard `datetime.datetime` object can be converted to
this format using
[`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with the
time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use the
Joda Time's
[`ISODateTimeFormat.dateTime()`](<http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()>)
to obtain a formatter capable of generating timestamps in this format.
timestamp of when the activity was observed by the source. Only reported every 5
minutes. Zero value means no activity was observed.
"""
5 changes: 3 additions & 2 deletions src/gitpod/types/environment_create_from_project_params.py
Original file line number Diff line number Diff line change
@@ -15,6 +15,7 @@ class EnvironmentCreateFromProjectParams(TypedDict, total=False):

spec: EnvironmentSpecParam
"""
EnvironmentSpec specifies the configuration of an environment for an environment
start
Spec is the configuration of the environment that's required for the runner to
start the environment Configuration already defined in the Project will override
parts of the spec, if set
"""
Loading
Oops, something went wrong.

0 comments on commit f29b9ba

Please sign in to comment.