code: func SetDefaults_Deployment(obj *appsv1beta2.Deployment) {
  	// Set appsv1beta2.DeploymentSpec.Replicas to 1 if it is not set.
  	if obj.Spec.Replicas == nil {
  		obj.Spec.Replicas = new(int32)
  		*obj.Spec.Replicas = 1
  	}
  	strategy := &obj.Spec.Strategy
  	// Set default appsv1beta2.DeploymentStrategyType as RollingUpdate.
  	if strategy.Type == "" {
  		strategy.Type = appsv1beta2.RollingUpdateDeploymentStrategyType
  	}
  	if strategy.Type == appsv1beta2.RollingUpdateDeploymentStrategyType {
  		if strategy.RollingUpdate == nil {
  			rollingUpdate := appsv1beta2.RollingUpdateDeployment{}
  			strategy.RollingUpdate = &rollingUpdate
  		}
  		if strategy.RollingUpdate.MaxUnavailable == nil {
  			// Set default MaxUnavailable as 25% by default.
  			maxUnavailable := intstr.FromString("25%")
  			strategy.RollingUpdate.MaxUnavailable = &maxUnavailable
  		}
  		if strategy.RollingUpdate.MaxSurge == nil {
  			// Set default MaxSurge as 25% by default.
  			maxSurge := intstr.FromString("25%")
  			strategy.RollingUpdate.MaxSurge = &maxSurge
  		}
  	}
  	if obj.Spec.RevisionHistoryLimit == nil {
  		obj.Spec.RevisionHistoryLimit = new(int32)
  		*obj.Spec.RevisionHistoryLimit = 10
  	}
  	if obj.Spec.ProgressDeadlineSeconds == nil {
  		obj.Spec.ProgressDeadlineSeconds = new(int32)
  		*obj.Spec.ProgressDeadlineSeconds = 600
  	}
  }
docs: // SetDefaults_Deployment sets additional defaults compared to its counterpart
  // in extensions. These addons are:
  // - MaxUnavailable during rolling update set to 25% (1 in extensions)
  // - MaxSurge value during rolling update set to 25% (1 in extensions)
  // - RevisionHistoryLimit set to 10 (not set in extensions)
  // - ProgressDeadlineSeconds set to 600s (not set in extensions)