1. Packages
  2. Packages
  3. Oracle Cloud Infrastructure
  4. API Docs
  5. Ocvp
  6. getByols
Viewing docs for Oracle Cloud Infrastructure v4.9.0
published on Thursday, Apr 30, 2026 by Pulumi
oci logo
Viewing docs for Oracle Cloud Infrastructure v4.9.0
published on Thursday, Apr 30, 2026 by Pulumi

    This data source provides the list of Byols in Oracle Cloud Infrastructure Oracle Cloud VMware Solution service.

    Lists the BYOLs in the specified compartment. The list can be filtered by display name or availability domain.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as oci from "@pulumi/oci";
    
    const testByols = oci.Ocvp.getByols({
        compartmentId: compartmentId,
        availableUnitsGreaterThanOrEqualTo: byolAvailableUnitsGreaterThanOrEqualTo,
        byolId: testByol.id,
        displayName: byolDisplayName,
        softwareType: byolSoftwareType,
        state: byolState,
    });
    
    import pulumi
    import pulumi_oci as oci
    
    test_byols = oci.Ocvp.get_byols(compartment_id=compartment_id,
        available_units_greater_than_or_equal_to=byol_available_units_greater_than_or_equal_to,
        byol_id=test_byol["id"],
        display_name=byol_display_name,
        software_type=byol_software_type,
        state=byol_state)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-oci/sdk/v4/go/oci/ocvp"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := ocvp.GetByols(ctx, &ocvp.GetByolsArgs{
    			CompartmentId:                      compartmentId,
    			AvailableUnitsGreaterThanOrEqualTo: pulumi.Float64Ref(byolAvailableUnitsGreaterThanOrEqualTo),
    			ByolId:                             pulumi.StringRef(testByol.Id),
    			DisplayName:                        pulumi.StringRef(byolDisplayName),
    			SoftwareType:                       pulumi.StringRef(byolSoftwareType),
    			State:                              pulumi.StringRef(byolState),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Oci = Pulumi.Oci;
    
    return await Deployment.RunAsync(() => 
    {
        var testByols = Oci.Ocvp.GetByols.Invoke(new()
        {
            CompartmentId = compartmentId,
            AvailableUnitsGreaterThanOrEqualTo = byolAvailableUnitsGreaterThanOrEqualTo,
            ByolId = testByol.Id,
            DisplayName = byolDisplayName,
            SoftwareType = byolSoftwareType,
            State = byolState,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.oci.Ocvp.OcvpFunctions;
    import com.pulumi.oci.Ocvp.inputs.GetByolsArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            final var testByols = OcvpFunctions.getByols(GetByolsArgs.builder()
                .compartmentId(compartmentId)
                .availableUnitsGreaterThanOrEqualTo(byolAvailableUnitsGreaterThanOrEqualTo)
                .byolId(testByol.id())
                .displayName(byolDisplayName)
                .softwareType(byolSoftwareType)
                .state(byolState)
                .build());
    
        }
    }
    
    variables:
      testByols:
        fn::invoke:
          function: oci:Ocvp:getByols
          arguments:
            compartmentId: ${compartmentId}
            availableUnitsGreaterThanOrEqualTo: ${byolAvailableUnitsGreaterThanOrEqualTo}
            byolId: ${testByol.id}
            displayName: ${byolDisplayName}
            softwareType: ${byolSoftwareType}
            state: ${byolState}
    

    Using getByols

    Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.

    function getByols(args: GetByolsArgs, opts?: InvokeOptions): Promise<GetByolsResult>
    function getByolsOutput(args: GetByolsOutputArgs, opts?: InvokeOptions): Output<GetByolsResult>
    def get_byols(available_units_greater_than_or_equal_to: Optional[float] = None,
                  byol_id: Optional[str] = None,
                  compartment_id: Optional[str] = None,
                  display_name: Optional[str] = None,
                  filters: Optional[Sequence[GetByolsFilter]] = None,
                  software_type: Optional[str] = None,
                  state: Optional[str] = None,
                  opts: Optional[InvokeOptions] = None) -> GetByolsResult
    def get_byols_output(available_units_greater_than_or_equal_to: Optional[pulumi.Input[float]] = None,
                  byol_id: Optional[pulumi.Input[str]] = None,
                  compartment_id: Optional[pulumi.Input[str]] = None,
                  display_name: Optional[pulumi.Input[str]] = None,
                  filters: Optional[pulumi.Input[Sequence[pulumi.Input[GetByolsFilterArgs]]]] = None,
                  software_type: Optional[pulumi.Input[str]] = None,
                  state: Optional[pulumi.Input[str]] = None,
                  opts: Optional[InvokeOptions] = None) -> Output[GetByolsResult]
    func GetByols(ctx *Context, args *GetByolsArgs, opts ...InvokeOption) (*GetByolsResult, error)
    func GetByolsOutput(ctx *Context, args *GetByolsOutputArgs, opts ...InvokeOption) GetByolsResultOutput

    > Note: This function is named GetByols in the Go SDK.

    public static class GetByols 
    {
        public static Task<GetByolsResult> InvokeAsync(GetByolsArgs args, InvokeOptions? opts = null)
        public static Output<GetByolsResult> Invoke(GetByolsInvokeArgs args, InvokeOptions? opts = null)
    }
    public static CompletableFuture<GetByolsResult> getByols(GetByolsArgs args, InvokeOptions options)
    public static Output<GetByolsResult> getByols(GetByolsArgs args, InvokeOptions options)
    
    fn::invoke:
      function: oci:Ocvp/getByols:getByols
      arguments:
        # arguments dictionary

    The following arguments are supported:

    CompartmentId string
    The OCID of the compartment.
    AvailableUnitsGreaterThanOrEqualTo double
    A filter to return only resources whose availableUnits greater than or equal to the given value.
    ByolId string
    The OCID of the BYOL.
    DisplayName string
    A filter to return only resources that match the given display name exactly.
    Filters List<GetByolsFilter>
    SoftwareType string
    A filter to return only resources whose softwareType matches the given value.
    State string
    A filter to return only resources whose lifecycle state matches the given value.
    CompartmentId string
    The OCID of the compartment.
    AvailableUnitsGreaterThanOrEqualTo float64
    A filter to return only resources whose availableUnits greater than or equal to the given value.
    ByolId string
    The OCID of the BYOL.
    DisplayName string
    A filter to return only resources that match the given display name exactly.
    Filters []GetByolsFilter
    SoftwareType string
    A filter to return only resources whose softwareType matches the given value.
    State string
    A filter to return only resources whose lifecycle state matches the given value.
    compartmentId String
    The OCID of the compartment.
    availableUnitsGreaterThanOrEqualTo Double
    A filter to return only resources whose availableUnits greater than or equal to the given value.
    byolId String
    The OCID of the BYOL.
    displayName String
    A filter to return only resources that match the given display name exactly.
    filters List<GetByolsFilter>
    softwareType String
    A filter to return only resources whose softwareType matches the given value.
    state String
    A filter to return only resources whose lifecycle state matches the given value.
    compartmentId string
    The OCID of the compartment.
    availableUnitsGreaterThanOrEqualTo number
    A filter to return only resources whose availableUnits greater than or equal to the given value.
    byolId string
    The OCID of the BYOL.
    displayName string
    A filter to return only resources that match the given display name exactly.
    filters GetByolsFilter[]
    softwareType string
    A filter to return only resources whose softwareType matches the given value.
    state string
    A filter to return only resources whose lifecycle state matches the given value.
    compartment_id str
    The OCID of the compartment.
    available_units_greater_than_or_equal_to float
    A filter to return only resources whose availableUnits greater than or equal to the given value.
    byol_id str
    The OCID of the BYOL.
    display_name str
    A filter to return only resources that match the given display name exactly.
    filters Sequence[GetByolsFilter]
    software_type str
    A filter to return only resources whose softwareType matches the given value.
    state str
    A filter to return only resources whose lifecycle state matches the given value.
    compartmentId String
    The OCID of the compartment.
    availableUnitsGreaterThanOrEqualTo Number
    A filter to return only resources whose availableUnits greater than or equal to the given value.
    byolId String
    The OCID of the BYOL.
    displayName String
    A filter to return only resources that match the given display name exactly.
    filters List<Property Map>
    softwareType String
    A filter to return only resources whose softwareType matches the given value.
    state String
    A filter to return only resources whose lifecycle state matches the given value.

    getByols Result

    The following output properties are available:

    ByolCollections List<GetByolsByolCollection>
    The list of byol_collection.
    CompartmentId string
    The OCID of the compartment that contains the BYOL.
    Id string
    The provider-assigned unique ID for this managed resource.
    AvailableUnitsGreaterThanOrEqualTo double
    ByolId string
    DisplayName string
    A descriptive name for the BYOL.
    Filters List<GetByolsFilter>
    SoftwareType string
    The type of VMware software the BYOL applies to. Supported values:

    • VCF (VMware Cloud Foundation)
    • VSAN (VMware vSAN)
    • VDEFEND (VMware vDefend Firewall)
    • AVI_LOAD_BALANCER (VMware Avi Load Balancer)
    State string
    The current state of the BYOL.
    ByolCollections []GetByolsByolCollection
    The list of byol_collection.
    CompartmentId string
    The OCID of the compartment that contains the BYOL.
    Id string
    The provider-assigned unique ID for this managed resource.
    AvailableUnitsGreaterThanOrEqualTo float64
    ByolId string
    DisplayName string
    A descriptive name for the BYOL.
    Filters []GetByolsFilter
    SoftwareType string
    The type of VMware software the BYOL applies to. Supported values:

    • VCF (VMware Cloud Foundation)
    • VSAN (VMware vSAN)
    • VDEFEND (VMware vDefend Firewall)
    • AVI_LOAD_BALANCER (VMware Avi Load Balancer)
    State string
    The current state of the BYOL.
    byolCollections List<GetByolsByolCollection>
    The list of byol_collection.
    compartmentId String
    The OCID of the compartment that contains the BYOL.
    id String
    The provider-assigned unique ID for this managed resource.
    availableUnitsGreaterThanOrEqualTo Double
    byolId String
    displayName String
    A descriptive name for the BYOL.
    filters List<GetByolsFilter>
    softwareType String
    The type of VMware software the BYOL applies to. Supported values:

    • VCF (VMware Cloud Foundation)
    • VSAN (VMware vSAN)
    • VDEFEND (VMware vDefend Firewall)
    • AVI_LOAD_BALANCER (VMware Avi Load Balancer)
    state String
    The current state of the BYOL.
    byolCollections GetByolsByolCollection[]
    The list of byol_collection.
    compartmentId string
    The OCID of the compartment that contains the BYOL.
    id string
    The provider-assigned unique ID for this managed resource.
    availableUnitsGreaterThanOrEqualTo number
    byolId string
    displayName string
    A descriptive name for the BYOL.
    filters GetByolsFilter[]
    softwareType string
    The type of VMware software the BYOL applies to. Supported values:

    • VCF (VMware Cloud Foundation)
    • VSAN (VMware vSAN)
    • VDEFEND (VMware vDefend Firewall)
    • AVI_LOAD_BALANCER (VMware Avi Load Balancer)
    state string
    The current state of the BYOL.
    byol_collections Sequence[GetByolsByolCollection]
    The list of byol_collection.
    compartment_id str
    The OCID of the compartment that contains the BYOL.
    id str
    The provider-assigned unique ID for this managed resource.
    available_units_greater_than_or_equal_to float
    byol_id str
    display_name str
    A descriptive name for the BYOL.
    filters Sequence[GetByolsFilter]
    software_type str
    The type of VMware software the BYOL applies to. Supported values:

    • VCF (VMware Cloud Foundation)
    • VSAN (VMware vSAN)
    • VDEFEND (VMware vDefend Firewall)
    • AVI_LOAD_BALANCER (VMware Avi Load Balancer)
    state str
    The current state of the BYOL.
    byolCollections List<Property Map>
    The list of byol_collection.
    compartmentId String
    The OCID of the compartment that contains the BYOL.
    id String
    The provider-assigned unique ID for this managed resource.
    availableUnitsGreaterThanOrEqualTo Number
    byolId String
    displayName String
    A descriptive name for the BYOL.
    filters List<Property Map>
    softwareType String
    The type of VMware software the BYOL applies to. Supported values:

    • VCF (VMware Cloud Foundation)
    • VSAN (VMware vSAN)
    • VDEFEND (VMware vDefend Firewall)
    • AVI_LOAD_BALANCER (VMware Avi Load Balancer)
    state String
    The current state of the BYOL.

    Supporting Types

    GetByolsByolCollection

    GetByolsByolCollectionItem

    AvailableUnits int
    The quantity of licensed units that not yet allocated to specific region.
    CompartmentId string
    The OCID of the compartment.
    DefinedTags Dictionary<string, string>
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    Description string
    A description of the BYOL.
    DisplayName string
    A filter to return only resources that match the given display name exactly.
    EntitlementKey string
    The Broadcom-supplied identifier of a BYOL license.
    FreeformTags Dictionary<string, string>
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    Id string
    The OCID of the BYOL.
    SoftwareType string
    A filter to return only resources whose softwareType matches the given value.
    State string
    A filter to return only resources whose lifecycle state matches the given value.
    SystemTags Dictionary<string, string>
    Usage of system tag keys. These predefined keys are scoped to namespaces. Example: {orcl-cloud: {free-tier-retain: true}}
    TimeCreated string
    The date and time the BYOL was created, in the format defined by RFC3339. Example: 2016-08-25T21:10:29.600Z
    TimeTermEnd string
    The date and time when the BYOL expires and becomes inactive. In the format defined byRFC3339.
    TimeTermStart string
    The date and time when the BYOL becomes active. VMware software functionality cannot begin before this time. In the format defined byRFC3339. Example: 2016-08-25T21:10:29.600Z
    TimeUpdated string
    The date and time the BYOL was updated, in the format defined by RFC3339.
    TotalUnits int
    Total quantity of licensed units for the specified softwareType:

    • VCF, VDEFEND: number of OCPUs
    • VSAN: storage capacity in TiB (tebibytes)
    • AVI_LOAD_BALANCER: number of instances
    AvailableUnits int
    The quantity of licensed units that not yet allocated to specific region.
    CompartmentId string
    The OCID of the compartment.
    DefinedTags map[string]string
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    Description string
    A description of the BYOL.
    DisplayName string
    A filter to return only resources that match the given display name exactly.
    EntitlementKey string
    The Broadcom-supplied identifier of a BYOL license.
    FreeformTags map[string]string
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    Id string
    The OCID of the BYOL.
    SoftwareType string
    A filter to return only resources whose softwareType matches the given value.
    State string
    A filter to return only resources whose lifecycle state matches the given value.
    SystemTags map[string]string
    Usage of system tag keys. These predefined keys are scoped to namespaces. Example: {orcl-cloud: {free-tier-retain: true}}
    TimeCreated string
    The date and time the BYOL was created, in the format defined by RFC3339. Example: 2016-08-25T21:10:29.600Z
    TimeTermEnd string
    The date and time when the BYOL expires and becomes inactive. In the format defined byRFC3339.
    TimeTermStart string
    The date and time when the BYOL becomes active. VMware software functionality cannot begin before this time. In the format defined byRFC3339. Example: 2016-08-25T21:10:29.600Z
    TimeUpdated string
    The date and time the BYOL was updated, in the format defined by RFC3339.
    TotalUnits int
    Total quantity of licensed units for the specified softwareType:

    • VCF, VDEFEND: number of OCPUs
    • VSAN: storage capacity in TiB (tebibytes)
    • AVI_LOAD_BALANCER: number of instances
    availableUnits Integer
    The quantity of licensed units that not yet allocated to specific region.
    compartmentId String
    The OCID of the compartment.
    definedTags Map<String,String>
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    description String
    A description of the BYOL.
    displayName String
    A filter to return only resources that match the given display name exactly.
    entitlementKey String
    The Broadcom-supplied identifier of a BYOL license.
    freeformTags Map<String,String>
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    id String
    The OCID of the BYOL.
    softwareType String
    A filter to return only resources whose softwareType matches the given value.
    state String
    A filter to return only resources whose lifecycle state matches the given value.
    systemTags Map<String,String>
    Usage of system tag keys. These predefined keys are scoped to namespaces. Example: {orcl-cloud: {free-tier-retain: true}}
    timeCreated String
    The date and time the BYOL was created, in the format defined by RFC3339. Example: 2016-08-25T21:10:29.600Z
    timeTermEnd String
    The date and time when the BYOL expires and becomes inactive. In the format defined byRFC3339.
    timeTermStart String
    The date and time when the BYOL becomes active. VMware software functionality cannot begin before this time. In the format defined byRFC3339. Example: 2016-08-25T21:10:29.600Z
    timeUpdated String
    The date and time the BYOL was updated, in the format defined by RFC3339.
    totalUnits Integer
    Total quantity of licensed units for the specified softwareType:

    • VCF, VDEFEND: number of OCPUs
    • VSAN: storage capacity in TiB (tebibytes)
    • AVI_LOAD_BALANCER: number of instances
    availableUnits number
    The quantity of licensed units that not yet allocated to specific region.
    compartmentId string
    The OCID of the compartment.
    definedTags {[key: string]: string}
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    description string
    A description of the BYOL.
    displayName string
    A filter to return only resources that match the given display name exactly.
    entitlementKey string
    The Broadcom-supplied identifier of a BYOL license.
    freeformTags {[key: string]: string}
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    id string
    The OCID of the BYOL.
    softwareType string
    A filter to return only resources whose softwareType matches the given value.
    state string
    A filter to return only resources whose lifecycle state matches the given value.
    systemTags {[key: string]: string}
    Usage of system tag keys. These predefined keys are scoped to namespaces. Example: {orcl-cloud: {free-tier-retain: true}}
    timeCreated string
    The date and time the BYOL was created, in the format defined by RFC3339. Example: 2016-08-25T21:10:29.600Z
    timeTermEnd string
    The date and time when the BYOL expires and becomes inactive. In the format defined byRFC3339.
    timeTermStart string
    The date and time when the BYOL becomes active. VMware software functionality cannot begin before this time. In the format defined byRFC3339. Example: 2016-08-25T21:10:29.600Z
    timeUpdated string
    The date and time the BYOL was updated, in the format defined by RFC3339.
    totalUnits number
    Total quantity of licensed units for the specified softwareType:

    • VCF, VDEFEND: number of OCPUs
    • VSAN: storage capacity in TiB (tebibytes)
    • AVI_LOAD_BALANCER: number of instances
    available_units int
    The quantity of licensed units that not yet allocated to specific region.
    compartment_id str
    The OCID of the compartment.
    defined_tags Mapping[str, str]
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    description str
    A description of the BYOL.
    display_name str
    A filter to return only resources that match the given display name exactly.
    entitlement_key str
    The Broadcom-supplied identifier of a BYOL license.
    freeform_tags Mapping[str, str]
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    id str
    The OCID of the BYOL.
    software_type str
    A filter to return only resources whose softwareType matches the given value.
    state str
    A filter to return only resources whose lifecycle state matches the given value.
    system_tags Mapping[str, str]
    Usage of system tag keys. These predefined keys are scoped to namespaces. Example: {orcl-cloud: {free-tier-retain: true}}
    time_created str
    The date and time the BYOL was created, in the format defined by RFC3339. Example: 2016-08-25T21:10:29.600Z
    time_term_end str
    The date and time when the BYOL expires and becomes inactive. In the format defined byRFC3339.
    time_term_start str
    The date and time when the BYOL becomes active. VMware software functionality cannot begin before this time. In the format defined byRFC3339. Example: 2016-08-25T21:10:29.600Z
    time_updated str
    The date and time the BYOL was updated, in the format defined by RFC3339.
    total_units int
    Total quantity of licensed units for the specified softwareType:

    • VCF, VDEFEND: number of OCPUs
    • VSAN: storage capacity in TiB (tebibytes)
    • AVI_LOAD_BALANCER: number of instances
    availableUnits Number
    The quantity of licensed units that not yet allocated to specific region.
    compartmentId String
    The OCID of the compartment.
    definedTags Map<String>
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    description String
    A description of the BYOL.
    displayName String
    A filter to return only resources that match the given display name exactly.
    entitlementKey String
    The Broadcom-supplied identifier of a BYOL license.
    freeformTags Map<String>
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    id String
    The OCID of the BYOL.
    softwareType String
    A filter to return only resources whose softwareType matches the given value.
    state String
    A filter to return only resources whose lifecycle state matches the given value.
    systemTags Map<String>
    Usage of system tag keys. These predefined keys are scoped to namespaces. Example: {orcl-cloud: {free-tier-retain: true}}
    timeCreated String
    The date and time the BYOL was created, in the format defined by RFC3339. Example: 2016-08-25T21:10:29.600Z
    timeTermEnd String
    The date and time when the BYOL expires and becomes inactive. In the format defined byRFC3339.
    timeTermStart String
    The date and time when the BYOL becomes active. VMware software functionality cannot begin before this time. In the format defined byRFC3339. Example: 2016-08-25T21:10:29.600Z
    timeUpdated String
    The date and time the BYOL was updated, in the format defined by RFC3339.
    totalUnits Number
    Total quantity of licensed units for the specified softwareType:

    • VCF, VDEFEND: number of OCPUs
    • VSAN: storage capacity in TiB (tebibytes)
    • AVI_LOAD_BALANCER: number of instances

    GetByolsFilter

    Name string
    Values List<string>
    Regex bool
    Name string
    Values []string
    Regex bool
    name String
    values List<String>
    regex Boolean
    name string
    values string[]
    regex boolean
    name str
    values Sequence[str]
    regex bool
    name String
    values List<String>
    regex Boolean

    Package Details

    Repository
    oci pulumi/pulumi-oci
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the oci Terraform Provider.
    oci logo
    Viewing docs for Oracle Cloud Infrastructure v4.9.0
    published on Thursday, Apr 30, 2026 by Pulumi
      Try Pulumi Cloud free. Your team will thank you.